using AIAHTML5.API.Constants; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using AIAHTML5.API.Models; using Newtonsoft.Json.Linq; using System.Data.SqlClient; using System.Collections; using log4net; using Newtonsoft.Json; using System.Data; namespace AIAHTML5.API.Controllers { public class UrlLoginController : ApiController { // POST api/UrlLogin public HttpResponseMessage Post([FromBody]JObject loginUrl) { ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)); logger.Debug("inside POST in UrlLoginController"); try{ HttpResponseMessage response = null; if (loginUrl != null) { if (!string.IsNullOrEmpty(loginUrl["accountNumber"].ToString()) && !string.IsNullOrEmpty(loginUrl["edition"].ToString())) { var EditionId = Convert.ToInt32(loginUrl["edition"].ToString()); var accountNumber = loginUrl["accountNumber"].ToString(); var mType= loginUrl["mType"].ToString(); string slug = string.Empty; int licId = AIAHTML5.API.Models.Users.ValidateLicenseByLoginUrl(accountNumber, EditionId); if (licId>0) { if(mType.ToUpper()=="CA") { slug = "clinical-animations"; } else if(mType.ToUpper() == "DA") { slug = "da-view-list"; } dynamic uerinfo = AIAHTML5.API.Models.Users.ValidateLoginByUrl(accountNumber, EditionId, licId, slug); if (uerinfo != null) { response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(uerinfo)) }; } else { logger.Debug("INVALID_LOGIN"); response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.INVALID_LOGIN) }; } } else { logger.Debug("NOT AUTHORIZED"); response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.MSG_NOT_AUTHORIZE_SITE_USER) }; } } else { logger.Debug("INVALID URL"); response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.INVALID_URL) }; } } else { response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = null }; } return response; } catch (SqlException e) { return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(AIAConstants.SQL_CONNECTION_ERROR) }; } catch (Exception e) { return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(AIAConstants.EXCEPTION_OCCURED) }; } } } }