public async Task Update(TipoAccesoGI model) { try { var _model = await dbGI.DbSetTipoAccesoGI.FirstOrDefaultAsync(e => e.Id == model.Id); if (_model != null) { if (!model.ExisteEn(dbGI.DbSetTipoAccesoGI.Where(e => e.Id != model.Id).Select(e => e.Nombre).ToList(), "Nombre")) { dbGI.Entry(_model).CurrentValues.SetValues(model); await dbGI.SaveChangesAsync(); } else { throw new ApplicationException("Ya existe un registro con ese nombre."); } } } catch (ApplicationException e) { throw new ApplicationException(e.Message, e); } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task <IHttpActionResult> Update([FromBody] TipoAccesoGI model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { await _tipoAccesoRepository.Update(model); return(Ok("Registro actualizado exitosamente!")); } catch (ApplicationException e) { return(BadRequest(e.Message)); } catch (Exception e) { return(InternalServerError(e)); } }