You need to sign in before continuing.
ForgotUserController.cs 5.2 KB
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/<controller>
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/<controller>/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) };

            }
        }

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

        // DELETE api/<controller>/5
        public void Delete(int id)
        {
        }
    }
}