public async Task<IHttpActionResult> Put(int id, [FromBody] EmailBindingModel email) { var existing = await Repository.GetGraphs(x => x.Id == id).FirstOrDefaultAsync(); Mapper.Map<EmailBindingModel, Email>(email, existing); await Repository.SaveAsUserAsync(UserId); var modified = Mapper.Map<EmailViewModel>(existing); return Ok(modified); }
public async Task <IdentityResult> EditEmailAsync(ClaimsPrincipal user, EmailBindingModel model) { var dbUser = await this.userManager.GetUserAsync(user); var result = await userManager.SetEmailAsync(dbUser, model.Email); return(result); }
public async Task<IHttpActionResult> PostEmail(int id, [FromBody] EmailBindingModel email) { var newEmail = Mapper.Map<Email>(email); newEmail.ContactPersonId = id; Repository.AddOrUpdate(newEmail); await Repository.SaveAsUserAsync(UserId); var newlyAdded = await Repository.Get(x => x.Id == newEmail.Id).FirstOrDefaultAsync(); if (newlyAdded != null) { var model = Mapper.Map<EmailViewModel>(newlyAdded); return Ok(model); } else return InternalServerError(); }
public async Task <IHttpActionResult> DeleteEmail(EmailBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ApplicationUser user = UserManager.FindById(User.Identity.GetUserId()); if (user == null) { return(null); } UserEmail existingEmail = user.Emails.FirstOrDefault(em => em.Value == model.Email); if (existingEmail == null) { ModelState.AddModelError("Email", $"Почтовый адрес {model.Email} не найден"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } user.Emails.Remove(existingEmail); DBContext.Entry(existingEmail).State = EntityState.Deleted; IdentityResult result = await UserManager.UpdateAsync(user); if (!result.Succeeded) { return(GetErrorResult(result)); } return(Ok()); }
public async Task <IHttpActionResult> AddEmail(EmailBindingModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } ApplicationUser user = UserManager.FindById(User.Identity.GetUserId()); if (user == null) { return(null); } if (user.Emails.Any(em => em.Value == model.Email)) { ModelState.AddModelError("Email", $"Почтовый адрес {model.Email} уже существует"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } user.Emails.Add(new UserEmail() { Value = model.Email }); IdentityResult result = await UserManager.UpdateAsync(user); if (!result.Succeeded) { return(GetErrorResult(result)); } return(Ok()); }
public async Task <IActionResult> EditEmail(EmailBindingModel model) { if (ModelState.IsValid == false) { this.AddStatusMessage(ModelState); } else { var result = await this.userSecurityService.EditEmailAsync(this.User, model); if (result.Succeeded == false) { this.AddStatusMessage(result); } else { this.AddStatusMessage(ControllerConstats.MessageEmailUpdated, ControllerConstats.MessageTypeSuccess); await SendConfirmationEmail(); } } return(RedirectToAction("Index")); }