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; using System.Collections; using System.Data.SqlClient; 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"; } 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"]); try { dynamic userData = AIAHTML5.API.Models.Users.GetUserByEmail(userInfo); if (Convert.ToString(userData) != AIAConstants.USER_NOT_FOUND) { //logger.Debug("inside if in ForgotUserController userData.loginId= " + userData.LoginId); bool isMailSent = false; logger.Debug("1. inside if in ForgotUserController userDetails= " + userData.ToString()); if (Convert.ToBoolean(userInfo["isMailForForgotPassword"])) { if (Convert.ToBoolean(userInfo["unblockUser"])) { logger.Debug("2. unblockUser= " + Convert.ToBoolean(userInfo["unblockUser"])); isMailSent = AIAHTML5.API.Models.UserUtility.SendEmail(userData, Convert.ToBoolean(userInfo["isMailForForgotPassword"]), Convert.ToBoolean(userInfo["unblockUser"])); } else { logger.Debug("2. isMailForForgotPassword= " + Convert.ToBoolean(userInfo["isMailForForgotPassword"])); isMailSent = AIAHTML5.API.Models.UserUtility.SendEmail(userData, Convert.ToBoolean(userInfo["isMailForForgotPassword"])); } } else { logger.Debug("3. isMailForForgotPassword= " + Convert.ToBoolean(userInfo["isMailForForgotPassword"])); isMailSent = AIAHTML5.API.Models.UserUtility.SendEmail(userData, Convert.ToBoolean(userInfo["isMailForForgotPassword"])); } logger.Debug("isMailSent= " + isMailSent); if (isMailSent) return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.MAIL_SENT) }; 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(AIAConstants.USER_NOT_FOUND) }; } } catch (SqlException e) { logger.Fatal("SqlException occured for emailId =" + userInfo["emailId"].ToString() + "Exception= " + e.Message + ", STACKTRACE: " + e.StackTrace); ArrayList supportMailList = UserUtility.GetSupportMailList(); string mailSubject = AIAConstants.SQL_CONNECTION_ERROR_MAIL_SUBJECT; string mailBody = "MESSAGE: " + e.Message + ", STACKTRACE: " + e.StackTrace; UserUtility.SendEmail(userInfo, supportMailList, "", mailSubject, mailBody); return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(AIAConstants.SQL_CONNECTION_ERROR) }; } catch (Exception e) { logger.Fatal("Exception occured for emailId =" + userInfo["emailId"].ToString()+ "Exception= " + e.Message + ", STACKTRACE: " + e.StackTrace); ArrayList supportMailList = UserUtility.GetSupportMailList(); string mailSubject = AIAConstants.EXCEPTION_IN_AIAHTML5_MAIL_SUBJECT; string mailBody = "MESSAGE: " + e.Message + ", STACKTRACE: " + e.StackTrace; UserUtility.SendEmail(userInfo, supportMailList, "", mailSubject, mailBody); return new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(AIAConstants.EXCEPTION_OCCURED) }; } } } }