ForgotUserController.cs 5.32 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;

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";
        }

        // POST api/<controller>
        //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, Convert.ToBoolean(userInfo["havePassword"]));
        //        }
        //        else
        //        {
        //            logger.Debug("3. havePassword= " + Convert.ToBoolean(userInfo["havePassword"]));

        //            isMailSent = AIAHTML5.API.Models.UserUtility.SendEmail(userData, Convert.ToBoolean(userInfo["havePassword"]));
        //        }
        //        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)}; 
        //    }
        //}

        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"]);

            User 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;

                logger.Debug("1. inside if in ForgotUserController userDetails= " + userData.ToString());

                if (Convert.ToBoolean(userInfo["havePassword"]))
                {
                    logger.Debug("2.  havePassword= " + Convert.ToBoolean(userInfo["havePassword"]));

                    isMailSent = AIAHTML5.API.Models.UserUtility.SendEmail(userData, Convert.ToBoolean(userInfo["havePassword"]));
                }
                else
                {
                    logger.Debug("3. havePassword= " + Convert.ToBoolean(userInfo["havePassword"]));

                    isMailSent = AIAHTML5.API.Models.UserUtility.SendEmail(userData, Convert.ToBoolean(userInfo["havePassword"]));
                }
                logger.Debug("isMailSent= " + isMailSent);
                if (isMailSent)
                    return new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(userData.ToString()) };
                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.ToString()) };
            }
        }

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

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