public async Task <IActionResult> ChangePassword(changePasswordViewModel model) { if (ModelState.IsValid) { var account = await adminsService.GetAdminById(sessionService.User.Id); if (account != null) { var password = hasherService.ComputeSha256Hash(model.CurrentPassword); if (password == account.Password) { account.Password = hasherService.ComputeSha256Hash(model.NewPassword); await adminsService.Update(account); TempData[Constants.ChangePasswordSuccessMessage] = Messages.EditSuccess; return(View()); } else { TempData[Constants.ChangePasswordErrorMessage] = Messages.InCorrectPassword; return(View(model)); } } else { return(RedirectToAction(nameof(AccessDenied))); } } return(View(model)); }
public async Task <HttpResponseMessage> PutAdmin(string id, [FromBody] PutAdminDTO updated) { string userId = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == "UserId").Value; string userRole = ((ClaimsPrincipal)RequestContext.Principal).FindFirst(x => x.Type == ClaimTypes.Role).Value; logger.Info("UserId: " + userId + ": Requesting Update for Admin Id: " + id); if (updated.Id != id) { logger.Error("Updated Admin id " + updated.Id + " doesn't match the id " + id + " from the request (route)."); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Updated " + "Admin id " + updated.Id + " doesn't match the id " + id + " from the request (route).")); } try { Admin saved = await adminsService.Update(id, updated); if (saved == null) { logger.Info("Failed!"); return(Request.CreateResponse(HttpStatusCode.BadRequest, "Failed!")); } logger.Info("Success!"); return(Request.CreateResponse(HttpStatusCode.OK, saved)); } catch (Exception e) { logger.Error(e); return(Request.CreateResponse(HttpStatusCode.BadRequest, e)); } }
public async Task <ActionResult> Edit(AdminViewModel model) { try { var _adminData = await adminsService.GetAdminById(model.Id); if (_adminData == null) { return(NotFound()); } ModelState.Remove("Ger_ActivationStartDate"); ModelState.Remove("Ger_ActivationEndDate"); if (ModelState.IsValid) { var admin = _adminData; if (await adminsService.IsNationalIdAlreadyExists(model.NationalId, admin.Id)) { TempData[Constants.ErrorMessage] = Messages.NationalIdAlreadyExists; await model.FillRolesList(adminsService); return(View(model)); } if (Request.Form.Files?.Count > 0) { MemoryStream ms = new MemoryStream(); Request.Form.Files["NewProfileImage"].CopyTo(ms); model.ProfileImageData = ms.ToArray(); Request.Form.Files["NewSignatureImage"].CopyTo(ms); model.SignatureImageData = ms.ToArray(); ms.Close(); ms.Dispose(); model.ProfileImage = await SaveFile(Request.Form.Files["NewProfileImage"], true, model.ProfileImage); model.SignatureImage = await SaveFile(Request.Form.Files["NewSignatureImage"], true, model.SignatureImage); } admin.FirstName = model.FirstName; admin.SecondName = model.SecondName; admin.ThirdName = model.ThirdName; admin.LastName = model.LastName; admin.NationalId = model.NationalId; admin.EmplyeeNo = model.EmplyeeNo; admin.MobileNumber = model.MobileNumber; admin.Email = model.Email; admin.IsActive = model.IsActive; admin.ActivationStartDate = model.ActivationStartDate; admin.ActivationEndDate = model.ActivationEndDate; admin.Title = model.Title; admin.CanApprove = model.CanApprove; admin.ProfileImage = model.ProfileImage; admin.SignatureImage = model.SignatureImage; admin.IsManager = model.IsManager; admin.DepartmentCode = model.DepartmentCode; admin.Roles = model.SelectedRolesIds.Select(i => new AdminRole { RoleId = i }).ToList(); admin.ProfileImageData = model.ProfileImageData; admin.SignatureImageData = model.SignatureImageData; await adminsService.Update(admin); await loggingService.LogActionData <Admin>(LoggingCategory.Administrator, LoggingAction.Edit, _adminData, admin, sessionService.User.Id, _adminData.Id.ToString()); TempData[Constants.SuccessMessage] = Messages.EditSuccess; return(RedirectToAction("Index", "Admins")); } await model.FillRolesList(adminsService); return(View(model)); } catch (Exception ex) { TempData[Constants.ErrorMessage] = Messages.ResourceManager.GetString(ex.Message); await model.FillRolesList(adminsService); return(View(model)); } }
/// <summary> /// 更新 /// </summary> /// <param name="Admins">Admins表实例</param> /// <returns>int</returns> public static int Update(Admins AdminsExample) { return(Service.Update(AdminsExample)); }