public JsonResult PostAction()
        {
            var        output = new Dictionary <string, string>();
            JsonResult jsonOutput;

            try
            {
                var userobj = new User
                {
                    FirstName = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Request["firstname"]),
                    LastName  = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(Request["lastname"]),
                    UserName  = Request["username"].ToLower(),
                    Email     = Request["emailid"].ToLower()
                };
                userobj.DisplayName  = (userobj.FirstName.Trim() + " " + userobj.LastName.Trim()).Trim();
                userobj.Password     = "******";
                userobj.CreatedDate  = DateTime.UtcNow;
                userobj.ModifiedDate = DateTime.UtcNow;
                userobj.TimeZone     = GlobalAppSettings.SystemSettings.TimeZone;
                userobj.IsActivated  = false;
                userobj.IsActive     = false;
                userobj.IsDeleted    = false;
                var activationCode           = String.Empty;
                var activationExpirationDate = new DateTime();
                var result = userDetails.AddUser(userobj, out activationExpirationDate, out activationCode);
                if (result.Status)
                {
                    var activationUrl = GlobalAppSettings.SystemSettings.BaseUrl +
                                        "/accounts/activate?ActivationCode=" +
                                        activationCode;
                    const bool isResendActivationCode = false;
                    UserManagementModel.SendActivationCode(userobj.FirstName, userobj.UserName, userobj.Email,
                                                           activationUrl, activationExpirationDate, isResendActivationCode);

                    output.Add("result", "success");
                    jsonOutput = Json(new { Data = output });
                }
                else
                {
                    output.Add("result", "error");
                    jsonOutput = Json(new { Data = output });
                }
            }
            catch (Exception)
            {
                output.Add("result", "error");
                jsonOutput = Json(new { Data = output });
            }
            return(jsonOutput);
        }
        public JsonResult ActivateUser()
        {
            var        userId = userDetails.GetUserId(Request["username"]);
            var        output = new Dictionary <string, string>();
            JsonResult jsonOutput;

            try
            {
                var userobj = new User
                {
                    FirstName                = Request["firstname"],
                    UserName                 = Request["username"],
                    Email                    = Request["email"],
                    ActivationCode           = userDetails.GenerateRandomCode(12),
                    ActivationExpirationDate =
                        DateTime.UtcNow.AddDays(GlobalAppSettings.SystemSettings.ActivationExpirationDays)
                };
                const bool isResendActivationCode = false;
                var        activationUrl          = GlobalAppSettings.SystemSettings.BaseUrl + "/accounts/activate?ActivationCode=" +
                                                    userobj.ActivationCode;

                var updateColumns = new List <UpdateColumn>
                {
                    new UpdateColumn
                    {
                        ColumnName = GlobalAppSettings.DbColumns.DB_User.ModifiedDate,
                        Value      = DateTime.UtcNow.ToString(GlobalAppSettings.GetDateTimeFormat())
                    },
                    new UpdateColumn
                    {
                        ColumnName = GlobalAppSettings.DbColumns.DB_User.ActivationCode,
                        Value      = userobj.ActivationCode
                    },
                    new UpdateColumn
                    {
                        ColumnName = GlobalAppSettings.DbColumns.DB_User.ActivationExpirationDate,
                        Value      = userobj.ActivationExpirationDate.ToString(GlobalAppSettings.GetDateTimeFormat())
                    }
                };

                var result = userDetails.UpdateUserProfileDetails(updateColumns, userId);
                if (result)
                {
                    UserManagementModel.SendActivationCode(userobj.FirstName, userobj.UserName, userobj.Email,
                                                           activationUrl, userobj.ActivationExpirationDate, isResendActivationCode);
                    output.Add("result", "success");
                    jsonOutput = Json(new { Data = output });
                }
                else
                {
                    output.Add("result", "error");
                    jsonOutput = Json(new { Data = output });
                }
            }
            catch (Exception)
            {
                output.Add("result", "error");
                jsonOutput = Json(new { Data = output });
            }

            return(jsonOutput);
        }