using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Net.Http; using System.Web.Http; using AIAHTML5.API.Constants; using log4net; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using AIAHTML5.API.Models; using AIAHTML5.API.Utility; namespace AIAHTML5.API.Controllers { public class ForgotUserController : ApiController { // GET api/ public IEnumerable Get() { return new string[] { "value1", "value2" }; } // GET api//5 public string Get(int id) { return "value"; } // POST api/ //public void Post([FromBody]string value) //{ //} public HttpResponseMessage Post([FromBody]JObject userInfo) { ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType)); logger.Debug("inside POST in ForgotUserController for emailId = " + userInfo["emailId"]); dynamic userData = AIAHTML5.API.Models.Users.GetUserByEmail(userInfo); if (Convert.ToString(userData) != AIAConstants.USER_NOT_FOUND && Convert.ToString(userData) != AIAConstants.ERROR_IN_FECTHING_DETAILS) { logger.Debug("inside if in ForgotUserController userData.loginId= " + userData.loginId); bool isMailSent = false; string userDetails = Newtonsoft.Json.JsonConvert.SerializeObject(userData); logger.Debug("1. inside if in ForgotUserController userDetails= " + userDetails); if (Convert.ToBoolean(userInfo["havePassword"])) { logger.Debug("2. havePassword= " + Convert.ToBoolean(userInfo["havePassword"])); isMailSent = AIAHTML5.API.Models.UserUtility.SendEmail(userData, true); } else { logger.Debug("3. havePassword= " + Convert.ToBoolean(userInfo["havePassword"])); isMailSent = AIAHTML5.API.Models.UserUtility.SendEmail(userData, false); } logger.Debug("isMailSent= " + isMailSent); if (isMailSent) return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userDetails) }; else return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.MAIL_NOT_SENT)}; } else { logger.Debug("inside else in ForgotUserController userData= " + userData); return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userData)}; //new StringContent(userData) } } // PUT api//5 public void Put(int id, [FromBody]string value) { } // DELETE api//5 public void Delete(int id) { } } }