public async Task <Unit> Handle(DeleteObservacionCommand request, CancellationToken cancellationToken) { string COD_OBSERVACION = (request.CodObservacion); TObservacion obs = _context.TObservaciones.Find(COD_OBSERVACION); obs.Estado = false; _context.TObservaciones.Update(obs); if (obs.CodTipoObservacion == 1) //TipoObservacion.Comportamiento { eliminarComportamiento(COD_OBSERVACION); } else if (obs.CodTipoObservacion == 2) //TipoObservacion.Condicion { eliminarCondicion(COD_OBSERVACION); } else if (obs.CodTipoObservacion == 3) //TipoObservacion.Tarea { eliminarTarea(COD_OBSERVACION); } else if (obs.CodTipoObservacion == 4 && obs.CodSubTipoObs == "1") //TipoObservacion.Iteraccion_Seguridad { eliminarIteraccionSeguridad(COD_OBSERVACION); } else if (obs.CodTipoObservacion == 4 && obs.CodSubTipoObs == "1") //TipoObservacion.Iteraccion_Seguridad { eliminarIteraccionSeguridad(COD_OBSERVACION); } else if (obs.CodTipoObservacion == 4 && obs.CodSubTipoObs == "1") // TipoObservacion.Iteraccion_Seguridad { eliminarVerificacionControlCritico(COD_OBSERVACION); } var r1 = await _context.SaveChangesAsync(cancellationToken); //var r2 = await _planAccion.DeleteByCodRef(COD_OBSERVACION); var r2 = await _mediator.Send(new DeleteDocRefCommand() { NroDocReferencia = COD_OBSERVACION }); //var r3 = await _imagen.DeleteByRefe(COD_OBSERVACION); var r3 = await _mediator.Send(new DeleteFileDocRefCommand() { NroDocReferencia = COD_OBSERVACION }); return(Unit.Value); }
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; } }
public async Task <Unit> Handle(UpdateObservacionCommand request, CancellationToken cancellationToken) { try { ObservacionDto obsDto = request.data; string CodObservacion = obsDto.CodObservacion; TObservacion obs = _context.TObservaciones.First(o => o.CodObservacion.Equals(CodObservacion)); //int oldTipo = obs.CodTipoObservacion; string oldTipo = (obs.CodTipoObservacion == 4) ? obs.CodTipoObservacion + "." + obs.CodSubTipoObs : obs.CodTipoObservacion.ToString(); if (obsDto.CodTipoObservacion.Length > 1) { obsDto.CodSubTipoObs = obsDto.CodTipoObservacion.Substring(2, 1); obsDto.CodTipoObservacion = obsDto.CodTipoObservacion.Substring(0, 1); } obs = _mapper.Map <ObservacionDto, TObservacion> (obsDto, obs); //int newTipo = obs.CodTipoObservacion; string newTipo = (obs.CodTipoObservacion == 4) ? obs.CodTipoObservacion + "." + obs.CodSubTipoObs : obs.CodTipoObservacion.ToString(); _strategia = _tipos.First(t => t.Item1 == oldTipo).Item2; // seleccion de subtipo //_strategia.DeleteSubtipo (obs.CodObservacion); _strategia.DeleteDetalleSubtipo(obs.CodObservacion); _strategia = _tipos.First(t => t.Item1 == newTipo).Item2; // seleccion de subtipo _strategia.UpsertSubTipo(obsDto); _strategia.CreateDetalleSubTipo(obsDto); _context.TObservaciones.Update(obs); await _context.SaveChangesAsync(cancellationToken); foreach (var item in obsDto.FilesSTR) { if (item.Estado == false) { //var r1 = await _imagen.Delete (item.CorrelativoArchivos.ToString ()); var r1 = await _mediator.Send(new DeleteFileCommand() { CorrelativoArchivos = item.CorrelativoArchivos }); } else if (item.Estado == true && item.CorrelativoArchivos != 0) { //var r2 = await _imagen.Update (item); var r2 = await _mediator.Send(new UpdateFileCommand() { CorrelativoArchivos = item.CorrelativoArchivos, Descripcion = item.Descripcion }); } } var updateList = new List <PlanVM> (); var createList = new List <PlanVM> (); foreach (var item in obsDto.PlanAccion) { if (item.estado == false && item.codAccion > 0) { //var r3 = await _planAccion.Delete (item.codAccion.ToString ()); var r3 = await _mediator.Send(new DeletePlanAccionCommand() { CodAccion = item.codAccion }); } else if (item.estado == true && item.codAccion > 0) { updateList.Add(item); } else if (item.codAccion < 0) { createList.Add(item); } } //var r4 = await _planAccion.Create (createList, CodObservacion); createList.ForEach(t => { t.docReferencia = CodObservacion; t.docSubReferencia = CodObservacion; }); var r4 = await _mediator.Send(new CreatePlanAccionCommand() { planes = createList }); //var r5 = await _planAccion.Update (updateList); var r5 = await _mediator.Send(new UpdatePlanAccionCommand() { planes = updateList }); //var r6 = await _imagen.Upload (obsDto.files, CodObservacion); var r6 = await _mediator.Send(new CreateListFilesCommand { File = obsDto.files, NroDocReferencia = CodObservacion, NroSubDocReferencia = CodObservacion, CodTablaRef = "TOBS" }); return(Unit.Value); } catch (Exception e) { var ee = e; throw e; } }
public async Task <ObservacionVM> Handle(GetObservacionQuery request, CancellationToken cancellationToken) { TObservacion obs = _context.TObservaciones .FirstOrDefault(o => o.Estado == true && o.CodObservacion.Equals(request.CodObservacion)); if (obs == null) { throw new NotFoundException("observacion", request.CodObservacion); } string COD_OBSERVACION = obs.CodObservacion; ObservacionVM obsVM = _mapper.Map <TObservacion, ObservacionVM>(obs); obsVM.CodTipoObservacion = (obsVM.CodSubTipoObs != null && obsVM.CodSubTipoObs != "") ? obsVM.CodTipoObservacion + "." + obsVM.CodSubTipoObs : obsVM.CodTipoObservacion; if (obsVM.CodTipoObservacion == "3") //obs.CodTipoObservacion == TipoObservacion.Tarea { TObservacionTarea obs_tarea = _context.TObservacionTareas .First(ocon => ocon.CodObservacion.Equals(COD_OBSERVACION)); obsVM.Tarea = _mapper.Map <TObservacionTarea, TareaDto>(obs_tarea); obsVM.Tarea.RegistroEncuestas = _context.TObsTaRegistroEncuestas .Where(t => t.CodObservacion.Equals(COD_OBSERVACION)) .ProjectTo <RegistroEncuestaDto>(_mapper.ConfigurationProvider) .ToList(); obsVM.Tarea.EtapaTareas = _context.TObsTaEtapaTareas .Where(t => t.CodObservacion.Equals(COD_OBSERVACION)) .ProjectTo <EtapaTareaDto>(_mapper.ConfigurationProvider) .ToList(); obsVM.Tarea.Comentarios = _context.TObsTaComentarios .Where(t => t.CodObservacion.Equals(COD_OBSERVACION)) .ProjectTo <ComentarioDto>(_mapper.ConfigurationProvider) .ToList(); obsVM.Tarea.PersonaObservadas = _context.TObsTaPersonaObservadas .Where(t => t.CodObservacion.Equals(COD_OBSERVACION)) .Select(t => t.CodPersonaMiembro) .ToList(); } if (obsVM.CodTipoObservacion == "4.1") //obs.CodTipoObservacion == TipoObservacion.Iteraccion_Seguridad { TObservacionIteraccion obs_iteraccion = _context.TObservacionIteracciones .First(ocon => ocon.CodObservacion.Equals(obs.CodObservacion)); obsVM.IteraccionSeguridad = _mapper.Map <TObservacionIteraccion, IteraccionSeguridadDto>(obs_iteraccion); IList <TObsISRegistroEncuesta> list = _context .TObsISRegistroEncuestas .Where(orem => orem.CodObservacion.Equals(COD_OBSERVACION)) .ToList(); IList <TObsISRegistroEncuesta> listTemp; listTemp = list.Where(t => t.CodEncuesta.Equals(TipoEncuestaIteraccion.ActividadAltoRiesgo.GetHashCode().ToString())).ToList(); foreach (var obj in listTemp) { obsVM.IteraccionSeguridad.ActividadAltoRiesgo.Add(obj.CodDescripcion.ToString()); } listTemp = list.Where(t => t.CodEncuesta.Equals(TipoEncuestaIteraccion.ClasificacionObservacion.GetHashCode().ToString())).ToList(); foreach (var obj in listTemp) { obsVM.IteraccionSeguridad.ClasificacionObservacion.Add(obj.CodDescripcion.ToString()); } listTemp = list.Where(t => t.CodEncuesta.Equals(TipoEncuestaIteraccion.ComportamientoRiesgoCondicion.GetHashCode().ToString())).ToList(); foreach (var obj in listTemp) { obsVM.IteraccionSeguridad.ComportamientoRiesgoCondicion.Add(obj.CodDescripcion.ToString()); } listTemp = list.Where(t => t.CodEncuesta.Equals(TipoEncuestaIteraccion.MetodologiaGestionRiesgos.GetHashCode().ToString())).ToList(); foreach (var obj in listTemp) { obsVM.IteraccionSeguridad.MetodologiaGestionRiesgos.Add(obj.CodDescripcion.ToString()); } } if (obsVM.CodTipoObservacion == "1") //obs.CodTipoObservacion == TipoObservacion.Comportamiento { TObservacionComportamiento obs_comportamiento = _context.TObservacionComportamientos .First(ocon => ocon.CodObservacion.Equals(obs.CodObservacion)); obsVM.Comportamiento = _mapper.Map <TObservacionComportamiento, ComportamientoDto>(obs_comportamiento); } if (obsVM.CodTipoObservacion == "2") //obs.CodTipoObservacion == TipoObservacion.Condicion { TObservacionCondicion obs_condicion = _context.TObservacionCondiciones .First(ocon => ocon.CodObservacion.Equals(obs.CodObservacion)); obsVM.Condicion = _mapper.Map <TObservacionCondicion, CondicionDto>(obs_condicion); } if (obsVM.CodTipoObservacion == "4.2" || obsVM.CodTipoObservacion == "4.3") //obs.CodTipoObservacion == TipoObservacion.VerificacionControlCritico || obs.CodTipoObservacion == TipoObservacion.Covid19 { TObservacionVerControlCritico obs_vcc = _context.TObservacionVerControlCritico .First(ocon => ocon.CodObservacion.Equals(obs.CodObservacion)); var verControlCritico = _mapper.Map <TObservacionVerControlCritico, VerificacionControlCriticoDto>(obs_vcc); verControlCritico.Herramientas = _context.TObsVCCHerramienta .Where(t => t.CodVcc.Equals(obs_vcc.CodVcc)) .Select(t => t.CodDesHe) .ToHashSet(); verControlCritico.Criterios = _context.TObsVCCRespuesta .Where(t => t.CodVcc.Equals(obs_vcc.CodVcc)) .ProjectTo <CriterioDto>(_mapper.ConfigurationProvider) .OrderBy(t => t.CodCrit) .ToHashSet() ; verControlCritico.CierreInteracion = _context.TObsVCCCierreIteraccion .Where(t => t.CodVcc.Equals(obs_vcc.CodVcc)) .ProjectTo <CierreInteraccionDto>(_mapper.ConfigurationProvider) .ToHashSet(); var cartillaStr = verControlCritico.CodCartilla; //var cartillaObj = await _general.GetCartilla(cartillaStr); var cartillaObj = await _mediator.Send(new GetCartillaQuery() { CodCartilla = cartillaStr }); //if(cartillaObj.PeligroFatal.Equals("CCPF0000022")){ // obsVM.Covid19 = verControlCritico; //} //else{ // obsVM.VerificacionControlCritico = verControlCritico; //} if (obsVM.CodTipoObservacion == "4.2") { obsVM.VerificacionControlCritico = verControlCritico; } else { obsVM.Covid19 = verControlCritico; } } //obsVM.PlanAccion = await _planAccion.Get(request.CodObservacion); //obsVM.PlanAccion = await _planAccion.Get("INSP0000008308"); //obsVM.Files = return(obsVM); }