// Bind(Include = "...") is used to avoid overposting attacks public async Task <ActionResult> Edit(MvcUsuarioModel usuario) { try { var entity = _mapper.Map <Usuario>(usuario); await _usuarioEndpoint.Put(entity, _userSession.BearerToken); } catch (UnauthorizedRequestException) { return(RedirectToAction("AccessDeniedPartial", "Error")); } catch (BadRequestException ex) { ModelState.AddModelErrors(ex.Errors); return(PartialView("_Edit", usuario)); } catch (Exception ex) { return(RedirectToAction("SpecificErrorPartial", "Error", new { error = ex.Message })); } return(Content("OK")); }
public async void Edit() { ErrorMessages = null; var usuario = new WpfUsuarioModel { Id = SelectedUsuario.Id, Firstname = FirstnameInForm, Surname = SurnameInForm, Email = EmailInForm, Username = UsernameInForm, Legajo = LegajoInForm, Matricula = MatriculaInForm, IsAdmin = IsAdminInForm, Phone1 = Phone1InForm, Phone2 = Phone2InForm }; try { var entity = _mapper.Map <Usuario>(usuario); await _usuarioEndpoint.Put(entity, _usuarioLogged.Token); await LoadUsuarios(); } catch (UnauthorizedRequestException) { ErrorMessages = new BindingList <string> { "No tiene acceso" }; } catch (BadRequestException ex) { ErrorMessages = new BindingList <string>(ex.Errors.Select(kvp => string.Join(". ", kvp.Value)).ToList()); } catch (Exception ex) { ErrorMessages = new BindingList <string> { $"{ex.Message} Ha ocurrido un error. Por favor contacte a soporte" }; } }