Exemple #1
0
            private void eliminarComportamiento(string COD_OBSERVACION)
            {
                TObservacionComportamiento obs_com = _context.TObservacionComportamientos.Find(COD_OBSERVACION);

                obs_com.Estado = false;
                _context.TObservacionComportamientos.Remove(obs_com);
            }
Exemple #2
0
        public override void DeleteSubtipo(string COD_OBSERVACION)
        {
            TObservacionComportamiento obs_com = _context.TObservacionComportamientos.Find(COD_OBSERVACION);

            if (obs_com != null)
            {
                obs_com.Estado = false;
                _context.TObservacionComportamientos.Update(obs_com);
            }
        }
Exemple #3
0
        public override void UpsertSubTipo(ObservacionDto data)
        {
            string CodObservacion       = data.CodObservacion;
            var    ComportamientoRequet = data.Comportamiento;
            TObservacionComportamiento comportamiento = _context.TObservacionComportamientos.Find(CodObservacion);

            if (comportamiento == null)
            {
                comportamiento = new TObservacionComportamiento();
                _mapper.Map <ComportamientoDto, TObservacionComportamiento> (ComportamientoRequet, comportamiento);
                comportamiento.CodObservacion = CodObservacion;
                _context.TObservacionComportamientos.Add(comportamiento);
            }
            else
            {
                comportamiento        = _mapper.Map <ComportamientoDto, TObservacionComportamiento> (ComportamientoRequet, comportamiento);
                comportamiento.Estado = true;
                _context.TObservacionComportamientos.Update(comportamiento);
            }
        }
Exemple #4
0
            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 <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);
            }