public ActionResult Editar(UsuarioEditModel usuario, HttpPostedFileBase upload) { try { if (!ModelState.IsValid) { logger.Debug("El modelo de usuario es invalido"); ModelState.AddModelError("", "Hubo un Error"); return(View(usuario)); } var usuarioDto = Mapper.Map <UsuarioEditModel, UsuarioDto>(usuario); if (upload != null && upload.ContentLength > 0) { using (var reader = new System.IO.BinaryReader(upload.InputStream)) { usuarioDto.Avatar = new FileContent() { NombreArchivo = upload.FileName, Content = reader.ReadBytes(upload.ContentLength) }; } } servicioUsuario.Actualizar(usuarioDto); logger.InfoFormat("Se Actualizo correctamente el Usuario: {0}", usuario.Nombre); } catch (Exception ex) { // si tuvieras un logger configuradoc log4net logger.Error("Error Actualizando Usuario", ex); ModelState.AddModelError("", "Hubo un Error"); return(View(usuario)); } return(RedirectToAction("Index", "Home")); }
public async Task <IHttpActionResult> EditUser(UsuarioEditModel userModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } Usuario user = await this.AppUserManager.FindByIdAsync(userModel.Id.ToString()); if (user != null) { user.FirstName = userModel.FirstName; user.LastName = userModel.LastName; user.Email = userModel.Email; IdentityResult editResult = await this.AppUserManager.UpdateAsync(user); if (!editResult.Succeeded) { return(GetErrorResult(editResult)); } List <string> removeRoles = new List <string>() { "Administrador", "Gerente", "Atendente", "Responsavel" }; removeRoles.Remove(userModel.RoleName); await this.AppUserManager.RemoveFromRolesAsync(user.Id, removeRoles.ToArray()); await this.AppUserManager.AddToRoleAsync(user.Id, userModel.RoleName); Uri locationHeader = new Uri(Url.Link("user", new { id = user.Id })); return(Created(locationHeader, TheModelFactory.Create(user))); } else { throw new Exception("Usuário não encontrado."); } }