public async Task <IActionResult> DeleteOption(int optionId, int selectId) { bool notFound = false; switch (selectId) { case 1: Actividad actividad = new Actividad { Id = optionId }; _context.Actividades.Remove(actividad); break; case 2: Area Area = new Area { Id = optionId }; _context.Areas.Remove(Area); break; case 3: Casualidad Casualidad = new Casualidad { Id = optionId }; _context.Casualidades.Remove(Casualidad); break; case 4: CausaBasica CausaBasica = new CausaBasica { Id = optionId }; _context.CausaBasicas.Remove(CausaBasica); break; case 5: CausaInmediata CausaInmediata = new CausaInmediata { Id = optionId }; _context.CausaInmediatas.Remove(CausaInmediata); break; case 6: Clasificacion Clasificacion = new Clasificacion { Id = optionId }; _context.Clasificaciones.Remove(Clasificacion); break; case 7: Comportamiento Comportamiento = new Comportamiento { Id = optionId }; _context.Comportamientos.Remove(Comportamiento); break; case 8: Efecto Efecto = new Efecto { Id = optionId }; _context.Efectos.Remove(Efecto); break; case 9: FactorRiesgo FactorRiesgo = new FactorRiesgo { Id = optionId }; _context.FactorRiesgos.Remove(FactorRiesgo); break; case 10: Genero Genero = new Genero { Id = optionId }; _context.Generos.Remove(Genero); break; case 11: IndicadorRiesgo IndicadorRiesgo = new IndicadorRiesgo { Id = optionId }; _context.IndicadorRiesgos.Remove(IndicadorRiesgo); break; case 12: Jornada Jornada = new Jornada { Id = optionId }; _context.Jornadas.Remove(Jornada); break; case 13: Observado Observado = new Observado { Id = optionId }; _context.Observados.Remove(Observado); break; case 14: ParteCuerpo ParteCuerpo = new ParteCuerpo { Id = optionId }; _context.ParteCuerpos.Remove(ParteCuerpo); break; case 15: Proceso Proceso = new Proceso { Id = optionId }; _context.Procesos.Remove(Proceso); break; case 16: Riesgo Riesgo = new Riesgo { Id = optionId }; _context.Riesgos.Remove(Riesgo); break; case 17: TipoComportamiento TipoComportamiento = new TipoComportamiento { Id = optionId }; _context.TipoComportamientos.Remove(TipoComportamiento); break; case 18: TipoObservado TipoObservado = new TipoObservado { Id = optionId }; _context.TipoObservados.Remove(TipoObservado); break; case 19: Turno Turno = new Turno { Id = optionId }; _context.Turnos.Remove(Turno); break; case 20: Categoria Categoria = new Categoria { Id = optionId }; _context.Categorias.Remove(Categoria); break; case 21: Subcategoria Subcategoria = new Subcategoria { Id = optionId }; _context.Subcategorias.Remove(Subcategoria); break; default: notFound = true; break; } if (notFound) { return(StatusCode(400)); } else { await _context.SaveChangesAsync(); return(StatusCode(202)); } }
public async Task <IActionResult> InsertSelectOption(SelectDto selectDto) { var currentUser = HttpContext.User; if (currentUser.HasClaim(c => c.Type == "username")) { var username = currentUser.Claims.FirstOrDefault(c => c.Type == "username").Value; Usuario user = await _context.Usuarios.FirstOrDefaultAsync <Usuario>(u => u.Username == username); bool notFound = false; dynamic selectObj = null; switch (selectDto.SelectId) { case 1: selectObj = new Actividad { Nombre = selectDto.Nombre }; await _context.Actividades.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 2: selectObj = new Area { Nombre = selectDto.Nombre }; await _context.Areas.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 3: selectObj = new Casualidad { Nombre = selectDto.Nombre }; await _context.Casualidades.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 4: selectObj = new CausaBasica { Nombre = selectDto.Nombre }; await _context.CausaBasicas.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 5: selectObj = new CausaInmediata { Nombre = selectDto.Nombre }; await _context.CausaInmediatas.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 6: selectObj = new Clasificacion { Nombre = selectDto.Nombre }; await _context.Clasificaciones.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 7: selectObj = new Comportamiento { Nombre = selectDto.Nombre }; await _context.Comportamientos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 8: selectObj = new Efecto { Nombre = selectDto.Nombre }; await _context.Efectos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 9: selectObj = new FactorRiesgo { Nombre = selectDto.Nombre }; await _context.FactorRiesgos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 10: selectObj = new Genero { Nombre = selectDto.Nombre }; await _context.Generos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 11: selectObj = new IndicadorRiesgo { Nombre = selectDto.Nombre }; await _context.IndicadorRiesgos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 12: selectObj = new Jornada { Nombre = selectDto.Nombre }; await _context.Jornadas.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 13: selectObj = new Observado { Nombre = selectDto.Nombre }; await _context.Observados.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 14: selectObj = new ParteCuerpo { Nombre = selectDto.Nombre }; await _context.ParteCuerpos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 15: selectObj = new Proceso { Nombre = selectDto.Nombre }; await _context.Procesos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 16: selectObj = new Riesgo { Nombre = selectDto.Nombre }; await _context.Riesgos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 17: selectObj = new TipoComportamiento { Nombre = selectDto.Nombre }; await _context.TipoComportamientos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 18: selectObj = new TipoObservado { Nombre = selectDto.Nombre }; await _context.TipoObservados.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 19: selectObj = new Turno { Nombre = selectDto.Nombre }; await _context.Turnos.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 20: selectObj = new Categoria { Nombre = selectDto.Nombre }; await _context.Categorias.AddAsync(selectObj); await _context.SaveChangesAsync(); break; case 21: if (selectDto.ParentOptionId != null) { selectObj = new Subcategoria { Nombre = selectDto.Nombre, CategoriaId = selectDto.ParentOptionId ?? 0 }; await _context.Subcategorias.AddAsync(selectObj); await _context.SaveChangesAsync(); break; } else { notFound = true; break; } default: notFound = true; break; } if (notFound) { return(StatusCode(400)); } Bitacora bitacora = new Bitacora { Fecha = DateTime.Now, UsuarioId = user.Id, DescripcionBitacora = $"Creó nueva opción de formulario {selectObj.Nombre}" }; await _context.Bitacora.AddAsync(bitacora); await _context.SaveChangesAsync(); return(Ok(selectObj)); } return(Unauthorized()); }