コード例 #1
0
        public object ResetPassword([FromBody] DisbursementUser model)
        {
            try
            {
                var modelToChange = disbursementUserService.SingleOrDefault(model.Id, new DisbursementUser());
                modelToChange         = generateSecuredCredentials(modelToChange);
                modelToChange.Pstatus = "N";
                modelToChange         = disbursementUserService.Update(modelToChange);

                string messagePrefix = ", Your password for OkWallet Application User has been reset and password is " + modelToChange.PlainPassword;

                MessageModel messageModel = new MessageModel()
                {
                    Mphone      = modelToChange.MobileNo,
                    MessageId   = "999",
                    MessageBody = "Dear " + modelToChange.Name + messagePrefix + ". Thank you."
                };

                MessageService messageService = new MessageService();
                messageService.SendMessage(messageModel);

                return(modelToChange);
            }
            catch (Exception ex)
            {
                return(errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()));
            }
        }
コード例 #2
0
        public object ChangePassword(string passwordChangedBy, [FromBody] ChangePasswordModel model)
        {
            try
            {
                DisbursementUser userDetails = disbursementUserService.SingleOrDefault(model.ApplicationUserId, new DisbursementUser());
                userDetails.UpdatedBy = passwordChangedBy;
                string validOrInvalid = null;
                validOrInvalid = validatePassword(userDetails, model);
                //if (validatePassword(userDetails, model))
                if (validOrInvalid == "Valid")
                {
                    ChangePassword(userDetails, model);
                    return("Valid");
                }
                else
                {
                    return(validOrInvalid);
                }

                //return "Old Password is Invalid";
            }
            catch (Exception ex)
            {
                return(errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()));
            }
        }
コード例 #3
0
 public object Delete([FromBody] DisbursementUser model)
 {
     try
     {
         disbursementUserService.Delete(model);
         return(true);
     }
     catch (Exception ex)
     {
         return(errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()));
     }
 }
コード例 #4
0
 public object ChangePasswordStatus([FromBody] DisbursementUser model)
 {
     try
     {
         var modelToChange = disbursementUserService.SingleOrDefault(model.Id, new DisbursementUser());
         modelToChange.Pstatus = model.Pstatus;
         return(disbursementUserService.Update(modelToChange));
     }
     catch (Exception ex)
     {
         return(errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()));
     }
 }
コード例 #5
0
 private object ChangePassword(DisbursementUser userDetails, ChangePasswordModel model)
 {
     try
     {
         StringBuilderService stringBuilderService = new StringBuilderService();
         userDetails.Md5Password   = stringBuilderService.GenerateMD5Hash(model.NewPassword);
         userDetails.Sha1Password  = stringBuilderService.GenerateSha1Hash(model.NewPassword);
         userDetails.SecurityStamp = Guid.NewGuid().ToString();
         userDetails.Pstatus       = "Y";
         return(Save(userDetails));
     }
     catch (Exception ex)
     {
         return(errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()));
     }
 }
コード例 #6
0
        // private bool validatePassword(DisbursementUser userDetails, ChangePasswordModel model)
        private string validatePassword(DisbursementUser userDetails, ChangePasswordModel model)
        {
            try
            {
                StringBuilderService stringBuilderService = new StringBuilderService();

                if (userDetails.Sha1Password == stringBuilderService.GenerateSha1Hash(model.OldPassword))
                {
                    //add more validation
                    PasswordPolicy objPasswordPolicy = disbursementUserService.GetPasswordPolicy();
                    if (model.NewPassword.Length < objPasswordPolicy.PassMinLength)
                    {
                        return("Password can't less than " + objPasswordPolicy.PassMinLength.ToString() + " characters");
                    }
                    else if (model.NewPassword.Length > objPasswordPolicy.PassMaxLength)
                    {
                        return("Password can't more than " + objPasswordPolicy.PassMaxLength.ToString() + " characters");
                    }
                    else if (objPasswordPolicy.PassAlphaLower == "Y" && !model.NewPassword.Any(char.IsLower))
                    {
                        return("Password must contain a lower case letter");
                    }
                    else if (objPasswordPolicy.PassAlphaUpper == "Y" && !model.NewPassword.Any(char.IsUpper))
                    {
                        return("Password must contain a upper case letter");
                    }
                    else if (objPasswordPolicy.PassNumber == "Y" && !model.NewPassword.Any(char.IsDigit))
                    {
                        return("Password must contain a digit");
                    }
                    else if (objPasswordPolicy.PassSpecialChar == "Y" && !model.NewPassword.Any(ch => !char.IsLetterOrDigit(ch)))
                    {
                        return("Password must contain a special character");
                    }
                    return("Valid");
                }

                return("Invalid");
            }
            catch (Exception ex)
            {
                errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString());
                throw;
            }
        }
コード例 #7
0
        private DisbursementUser generateSecuredCredentials(DisbursementUser model)
        {
            try
            {
                StringBuilderService stringBuilderService = new StringBuilderService();
                model.PlainPassword = stringBuilderService.CreateRandomPassword();
                model.Md5Password   = stringBuilderService.GenerateMD5Hash(model.PlainPassword);
                model.Sha1Password  = stringBuilderService.GenerateSha1Hash(model.PlainPassword);
                model.SecurityStamp = Guid.NewGuid().ToString();

                return(model);
            }
            catch (Exception ex)
            {
                errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString());
                throw;
            }
        }
コード例 #8
0
 public object CheckExistingUserName([FromBody] DisbursementUser model)
 {
     try
     {
         var data = disbursementUserService.SingleOrDefaultByCustomField(model.Username, "Username", new DisbursementUser());
         if (data != null && data.Id != 0)
         {
             return("data exist");
         }
         else
         {
             return("no previous data");
         }
     }
     catch (Exception ex)
     {
         return(errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString()));
     }
 }
コード例 #9
0
        public object Save([FromBody] DisbursementUser model)
        {
            try
            {
                if (model.Id != 0)
                {
                    //DisbursementUser prevModel = disbursementUserService.SingleOrDefault(model.Id, new DisbursementUser());
                    //model.UpdatedDate = DateTime.Now;
                    //disbursementUserService.Update(model);

                    ////Insert into audit trial audit and detail
                    //_auditTrailService.InsertUpdatedModelToAuditTrail(model, prevModel, model.UpdatedBy, 7, 4, "Application User", model.Username, "Updated Successfully!");

                    //return model;

                    if (string.IsNullOrEmpty(model.PlainPassword))
                    {
                        return(disbursementUserService.Update(model));
                    }
                    else
                    {
                        //model = generateSecuredCredentials(model);
                        disbursementUserService.Update(model);
                        return(HttpStatusCode.OK);
                    }
                }
                else
                {
                    model = generateSecuredCredentials(model);
                    model = disbursementUserService.Add(model);

                    if (!string.IsNullOrEmpty(model.MobileNo))
                    {
                        string messagePrefix = ", Your Account Has been Created on OK Wallet Admin Application. Your username is " + model.Username + " and password is " + model.PlainPassword;

                        MessageModel messageModel = new MessageModel()
                        {
                            Mphone      = model.MobileNo,
                            MessageId   = "999",
                            MessageBody = "Dear " + model.Name + messagePrefix + ". Thank you."
                        };

                        MessageService messageService = new MessageService();
                        messageService.SendMessage(messageModel);

                        //Insert into audit trial audit and detail
                        _auditTrailService.InsertModelToAuditTrail(model, model.CreatedBy, 7, 3, "Disbursement User", model.Username, "Saved Successfully!");

                        return(HttpStatusCode.OK);
                    }
                    else
                    {
                        return(HttpStatusCode.OK);
                    }
                }
            }
            catch (Exception ex)
            {
                errorLogService.InsertToErrorLog(ex, MethodBase.GetCurrentMethod().Name, Request.Headers["UserInfo"].ToString());
                return(HttpStatusCode.BadRequest);
            }
        }