UnblockUserController.cs 3.91 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 AIAHTML5.API.Models;
using AIAHTML5.API.Utility;
using log4net;
using System.Collections;
using System.Data.SqlClient;

namespace AIAHTML5.API.Controllers
{
    public class UnblockUserController : ApiController
    {
        // GET api/unblockuser
        public IEnumerable<string> Get()
        {
            return new string[] { "value1", "value2" };
        }

        // GET api/unblockuser/5
        public string Get(int id)
        {
            return "value";
        }

        // POST api/unblockuser
        public HttpResponseMessage Post([FromBody]string emailId)
        {
            ILog logger = log4net.LogManager.GetLogger((System.Reflection.MethodBase.GetCurrentMethod().DeclaringType));
            logger.Debug("inside POST in UnblockUserController for emailId = " + emailId);
            
            HttpResponseMessage response = null;
            Newtonsoft.Json.Linq.JObject userInfo = new Newtonsoft.Json.Linq.JObject();
            userInfo.Add("emailId", emailId);
           
            try
            {
                dynamic user = AIAHTML5.API.Models.DBModel.GetUserDetailsByEmailId(emailId);

                if (user!=null && user.Count > 0)
                {
                    int result = 0;

                    logger.Debug("1. inside if in UnblockUserController userDetails= " + user.ToString());

                    result = AIAHTML5.API.Models.DBModel.UnblockUser(user.Id);

                    if (result > 0)
                        response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.USER_UNBLOCK_SUCCESS) };
                    else
                        response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(AIAConstants.UNABLE_TO_UNBLOCK) };
                }
                return response;
            }
            catch (SqlException e)
            {

                logger.Fatal("SqlException occured for emailId =" + emailId + "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 loginId =" + userInfo["username"].ToString() + " and password= " + credentials["password"].ToString() + "Exception= " + e.Message + ", STACKTRACE: " + e.StackTrace);
                logger.Fatal("Exception occured for emailId =" + emailId + "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);
                response = new HttpResponseMessage { StatusCode = HttpStatusCode.InternalServerError, Content = new StringContent(AIAConstants.EXCEPTION_OCCURED) };
                return response;
            }
            
        }

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

        // DELETE api/unblockuser/5
        public void Delete(int id)
        {
        }
    }
}