public override void CreateDetalleSubTipo(ObservacionDto data) { string CodObservacion = data.CodObservacion; var IteraccionRequest = data.IteraccionSeguridad; var list = _context.TObsISRegistroEncuestas.Where(t => t.CodObservacion == CodObservacion).ToList(); _context.TObsISRegistroEncuestas.RemoveRange(list); foreach (String CodDescripcion in IteraccionRequest.MetodologiaGestionRiesgos) { TObsISRegistroEncuesta temp = new TObsISRegistroEncuesta(); temp.CodObservacion = CodObservacion; temp.CodDescripcion = (CodDescripcion); temp.CodEncuesta = TipoEncuestaIteraccion.MetodologiaGestionRiesgos.GetHashCode().ToString(); _context.TObsISRegistroEncuestas.Add(temp); } foreach (String CodDescripcion in IteraccionRequest.ActividadAltoRiesgo) { TObsISRegistroEncuesta temp = new TObsISRegistroEncuesta(); temp.CodObservacion = CodObservacion; temp.CodDescripcion = (CodDescripcion); temp.CodEncuesta = TipoEncuestaIteraccion.ActividadAltoRiesgo.GetHashCode().ToString(); _context.TObsISRegistroEncuestas.Add(temp); } foreach (String CodDescripcion in IteraccionRequest.ClasificacionObservacion) { TObsISRegistroEncuesta temp = new TObsISRegistroEncuesta(); temp.CodObservacion = CodObservacion; temp.CodDescripcion = (CodDescripcion); temp.CodEncuesta = TipoEncuestaIteraccion.ClasificacionObservacion.GetHashCode().ToString(); _context.TObsISRegistroEncuestas.Add(temp); } foreach (String CodDescripcion in IteraccionRequest.ComportamientoRiesgoCondicion) { TObsISRegistroEncuesta temp = new TObsISRegistroEncuesta(); temp.CodObservacion = CodObservacion; temp.CodDescripcion = (CodDescripcion); temp.CodEncuesta = TipoEncuestaIteraccion.ComportamientoRiesgoCondicion.GetHashCode().ToString(); _context.TObsISRegistroEncuestas.Add(temp); } }
public async Task <string> Handle(CreateObservacionCommand request, CancellationToken cancellationToken) { try { string CodObservacion = nextCod(); ObservacionDto obsNueva = request.data; if (obsNueva.CodTipoObservacion.Length > 1) { obsNueva.CodSubTipoObs = obsNueva.CodTipoObservacion.Substring(2, 1); obsNueva.CodTipoObservacion = obsNueva.CodTipoObservacion.Substring(0, 1); } TObservacion obs = _mapper.Map <ObservacionDto, TObservacion>(obsNueva); obs.CodObservacion = CodObservacion; _context.TObservaciones.Add(obs); //await _context.SaveChangesAsync(cancellationToken); //obs.CodObservacion = string.Format("OBS{0,10:D10}", obs.Correlativo); if (obsNueva.Tarea != null) { TObservacionTarea tarea = _mapper.Map <TareaDto, TObservacionTarea>(obsNueva.Tarea); tarea.CodObservacion = CodObservacion; _context.TObservacionTareas.Add(tarea); foreach (string persona in obsNueva.Tarea.PersonaObservadas) { TObsTaPersonaObservada temp = new TObsTaPersonaObservada(); temp.CodPersonaMiembro = persona; temp.CodObservacion = CodObservacion; _context.TObsTaPersonaObservadas.Add(temp); } foreach (RegistroEncuestaDto encuesta in obsNueva.Tarea.RegistroEncuestas) { TObsTaRegistroEncuesta temp = _mapper.Map <TObsTaRegistroEncuesta>(encuesta); temp.CodObservacion = CodObservacion; _context.TObsTaRegistroEncuestas.Add(temp); } int correlativo = 1; foreach (EtapaTareaDto etapa in obsNueva.Tarea.EtapaTareas) { TObsTaEtapaTarea temp = _mapper.Map <TObsTaEtapaTarea>(etapa); temp.CodObservacion = CodObservacion; temp.Correlativo = correlativo++; _context.TObsTaEtapaTareas.Add(temp); } int orden = 1; foreach (ComentarioDto comentario in obsNueva.Tarea.Comentarios) { TObsTaComentario temp = _mapper.Map <TObsTaComentario>(comentario); temp.CodObservacion = CodObservacion; temp.Orden = orden++; _context.TObsTaComentarios.Add(temp); } } else if (obsNueva.Comportamiento != null) { TObservacionComportamiento comportamiento = _mapper.Map <ComportamientoDto, TObservacionComportamiento>(obsNueva.Comportamiento); comportamiento.CodObservacion = obs.CodObservacion; _context.TObservacionComportamientos.Add(comportamiento); } else if (obsNueva.Condicion != null) { TObservacionCondicion condicion = _mapper.Map <CondicionDto, TObservacionCondicion>(obsNueva.Condicion); condicion.CodObservacion = obs.CodObservacion; _context.TObservacionCondiciones.Add(condicion); } else if (obsNueva.IteraccionSeguridad != null) { TObservacionIteraccion iteraccion = _mapper.Map <IteraccionSeguridadDto, TObservacionIteraccion>(obsNueva.IteraccionSeguridad); iteraccion.CodObservacion = obs.CodObservacion; _context.TObservacionIteracciones.Add(iteraccion); foreach (String CodDescripcion in obsNueva.IteraccionSeguridad.MetodologiaGestionRiesgos) { TObsISRegistroEncuesta temp = new TObsISRegistroEncuesta(); temp.CodObservacion = CodObservacion; temp.CodDescripcion = CodDescripcion; temp.CodEncuesta = TipoEncuestaIteraccion.MetodologiaGestionRiesgos.GetHashCode().ToString(); _context.TObsISRegistroEncuestas.Add(temp); } foreach (String CodDescripcion in obsNueva.IteraccionSeguridad.ActividadAltoRiesgo) { TObsISRegistroEncuesta temp = new TObsISRegistroEncuesta(); temp.CodObservacion = CodObservacion; temp.CodDescripcion = CodDescripcion; temp.CodEncuesta = TipoEncuestaIteraccion.ActividadAltoRiesgo.GetHashCode().ToString(); _context.TObsISRegistroEncuestas.Add(temp); } foreach (String CodDescripcion in obsNueva.IteraccionSeguridad.ClasificacionObservacion) { TObsISRegistroEncuesta temp = new TObsISRegistroEncuesta(); temp.CodObservacion = CodObservacion; temp.CodDescripcion = CodDescripcion; temp.CodEncuesta = TipoEncuestaIteraccion.ClasificacionObservacion.GetHashCode().ToString(); _context.TObsISRegistroEncuestas.Add(temp); } foreach (String CodDescripcion in obsNueva.IteraccionSeguridad.ComportamientoRiesgoCondicion) { TObsISRegistroEncuesta temp = new TObsISRegistroEncuesta(); temp.CodObservacion = CodObservacion; temp.CodDescripcion = CodDescripcion; temp.CodEncuesta = TipoEncuestaIteraccion.ComportamientoRiesgoCondicion.GetHashCode().ToString(); _context.TObsISRegistroEncuestas.Add(temp); } } else if (obsNueva.VerificacionControlCritico != null) { TObservacionVerControlCritico vcc = _mapper.Map <VerificacionControlCriticoDto, TObservacionVerControlCritico>(obsNueva.VerificacionControlCritico); vcc.CodObservacion = obs.CodObservacion; string codigoVCC = nextCodVCC(); vcc.CodVcc = codigoVCC; _context.TObservacionVerControlCritico.Add(vcc); ICollection <string> herramientas = obsNueva.VerificacionControlCritico.Herramientas; foreach (var item in herramientas) { var data = new TObsVCCHerramienta(); data.CodDesHe = item; data.CodVcc = codigoVCC; _context.TObsVCCHerramienta.Add(data); } ICollection <CriterioDto> Criterios = obsNueva.VerificacionControlCritico.Criterios; var ControlCritico = Criterios.GroupBy(t => t.CodCC).Select(t => t.Key).ToList(); foreach (var item in ControlCritico) { var data = new TObsVCCVerCCEfectividad(); data.CodCC = item; data.CodVcc = codigoVCC; data.CodCartilla = obsNueva.VerificacionControlCritico.CodCartilla; data.Efectividad = efectividad(Criterios).ToString(); _context.TObsVCCVerCCEfectividad.Add(data); } foreach (var item in Criterios) { var data = _mapper.Map <CriterioDto, TObsVCCRespuesta>(item); data.CodVcc = codigoVCC; _context.TObsVCCRespuesta.Add(data); } ICollection <CierreInteraccionDto> CierreInteraccion = obsNueva.VerificacionControlCritico.CierreInteracion; foreach (var item in CierreInteraccion) { var data = _mapper.Map <CierreInteraccionDto, TObsVCCCierreIteraccion>(item); data.CodVcc = codigoVCC; _context.TObsVCCCierreIteraccion.Add(data); } } else if (obsNueva.Covid19 != null) { TObservacionVerControlCritico vcc = _mapper.Map <VerificacionControlCriticoDto, TObservacionVerControlCritico>(obsNueva.Covid19); vcc.CodObservacion = obs.CodObservacion; string codigoVCC = nextCodVCC(); vcc.CodVcc = codigoVCC; _context.TObservacionVerControlCritico.Add(vcc); ICollection <string> herramientas = obsNueva.Covid19.Herramientas; foreach (var item in herramientas) { var data = new TObsVCCHerramienta(); data.CodDesHe = item; data.CodVcc = codigoVCC; _context.TObsVCCHerramienta.Add(data); } ICollection <CriterioDto> Criterios = obsNueva.Covid19.Criterios; var ControlCritico = Criterios.GroupBy(t => t.CodCC).Select(t => t.Key).ToList(); foreach (var item in ControlCritico) { var data = new TObsVCCVerCCEfectividad(); data.CodCC = item; data.CodVcc = codigoVCC; //data.CodCartilla = obsNueva.VerificacionControlCritico.CodCartilla; data.CodCartilla = obsNueva.Covid19.CodCartilla; data.Efectividad = efectividad(Criterios).ToString(); _context.TObsVCCVerCCEfectividad.Add(data); } foreach (var item in Criterios) { var data = _mapper.Map <CriterioDto, TObsVCCRespuesta>(item); data.CodVcc = codigoVCC; _context.TObsVCCRespuesta.Add(data); } ICollection <CierreInteraccionDto> CierreInteraccion = obsNueva.Covid19.CierreInteracion; foreach (var item in CierreInteraccion) { var data = _mapper.Map <CierreInteraccionDto, TObsVCCCierreIteraccion>(item); data.CodVcc = codigoVCC; _context.TObsVCCCierreIteraccion.Add(data); } } //try //{ // var r1 = await _context.SaveChangesAsync(cancellationToken); // var r2 = await _imagen.Upload(obsNueva.files, CodObservacion); // var r3 = await _planAccion.Create(obsNueva.PlanAccion, CodObservacion); //} //catch (Exception e) //{ // Console.WriteLine(e); //} var r1 = await _context.SaveChangesAsync(cancellationToken); //var r2 = await _imagen.Upload(obsNueva.files, CodObservacion); var r2 = await _mediator.Send(new CreateListFilesCommand { File = obsNueva.files, NroDocReferencia = CodObservacion, NroSubDocReferencia = CodObservacion, CodTablaRef = "TOBS" }); //var r3 = await _planAccion.Create(obsNueva.PlanAccion, CodObservacion); obsNueva.PlanAccion.ForEach(t => { t.docReferencia = CodObservacion; t.docSubReferencia = CodObservacion; }); var r3 = await _mediator.Send(new CreatePlanAccionCommand() { planes = obsNueva.PlanAccion }); return(CodObservacion); } catch (Exception e) { Console.WriteLine(e); throw e; } }