LicenseTermConditionController.cs 2.41 KB
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using log4net;
using AIAHTML5.API.Constants;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using AIAHTML5.API.Models;

namespace AIAHTML5.API.Controllers
{
    public class LicenseTermConditionController : ApiController
    {
        // GET api/licensetermcondition
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/licensetermcondition/5
        public string Get(int id)
        {
            return "value";
        }

        // POST api/licensetermcondition
        public HttpResponseMessage Post([FromBody]JObject userLicenseInfo)
        {
            ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
            logger.Debug("inside POST");
            HttpResponseMessage response = null;

            int licenseId = Convert.ToInt32(userLicenseInfo["userLicenseId"]);
            User user = new User();
            dynamic userModules = null; // assigned to avoid unassigned local variable compilation error;

            dynamic result = AIAHTML5.API.Models.Users.UpdateLicenseTerm(userLicenseInfo);
            if (Convert.ToString(result) != AIAConstants.SQL_CONNECTION_ERROR)
            {
                if (Convert.ToInt32(result) > 0)
                {
                    user.Modules = Users.getModuleListByLicenseId(licenseId);
                    userModules = JsonConvert.SerializeObject(user);

                    response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userModules) };
                }
                else
                {
                    response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.LICENSE_TERM_CONDITION_UPDATE_FAILED) };
                }
            }
            else
            {
                response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.SQL_CONNECTION_ERROR) };
            }
            return response;
        }


        // PUT api/licensetermcondition/5
        public void Put(int id, [FromBody]string value)
        {
        }

        // DELETE api/licensetermcondition/5
        public void Delete(int id)
        {
        }
    }
}