public async Task InactivaMiembro(MiembrosGI model) { try { var _model = await _db.DbSetMiembrosGI.FirstOrDefaultAsync(e => e.Id == model.Id); if (_model != null) { //Contamos la cantidad de grupos en los que se encuentra activo el usuario var gruposActivosMiembro = await _db.DbSetMiembrosGI.Where(e => e.ClavePersona == model.ClavePersona && e.Activo == true).AsNoTracking().CountAsync(); var _rol = await _GENContext.dbSetRolPersona.Where(e => e.ClavePersona == model.ClavePersona && e.IdRol == 1029).FirstOrDefaultAsync(); if (gruposActivosMiembro == 1 && _rol != null) //En teoria hasta este momento solo se deberia de estar en un solo grupo como evaluador // _rol.Estado = 0; // await _GENContext.SaveChangesAsync(); { RolPersonaRepository repo = new RolPersonaRepository(); await repo.Delete(_rol.RolPersonaId); } _db.Entry(_model).CurrentValues.SetValues(model); await _db.SaveChangesAsync(); } } catch (Exception e) { throw new Exception(e.Message, e); } }
public async Task <IHttpActionResult> Delete(int id) { try{ log.Info(new MDCSet(this.ControllerContext.RouteData), new InfoException(id)); await _repository.Delete(id); return(Ok("Rol de usuario eliminado correctamente!")); } catch (Exception e) { log.Error(new MDCSet(this.ControllerContext.RouteData), e); throw new Exception(e.Message, e); } }