public async Task <YoAseguroDto> Handle(GetYoAseguroQuery request, CancellationToken cancellationToken)
            {
                TYoAseguro obj = _context.TYoAseguro.Find(request.CodYoAseguro);

                if (obj != null && obj.Estado == false)
                {
                    throw new NotFoundException("YoAseguro", request.CodYoAseguro);
                }
                obj.PersonasReconocidas = _context.TPersonaYoAseguro
                                          .Where(t => t.Estado == true && t.CodYoAseguro.Equals(request.CodYoAseguro))
                                          .ToHashSet();

                YoAseguroDto yoAseguroResponse = _mapper.Map <TYoAseguro, YoAseguroDto>(obj);
                PersonaVM    _per;

                foreach (var persona in yoAseguroResponse.PersonasReconocidas)
                {
                    _per = new PersonaVM();
                    //_per = await _persons.GetNombreYApellidos(persona.CodPersona);
                    _per = await _mediator.Send(new GetPersonaQuery()
                    {
                        CodPersona = persona.CodPersona
                    });

                    if (_per != null)
                    {
                        persona.Nombres         = _per.Nombres;
                        persona.ApellidoPaterno = _per.ApellidoPaterno;
                        persona.ApellidoMaterno = _per.ApellidoMaterno;
                    }
                }
                return(yoAseguroResponse);
                //return _mapper.Map<TYoAseguro, YoAseguroDto>(obj);
            }
            public async Task <Unit> Handle(CreateYoAseguroCommand request, CancellationToken cancellationToken)
            {
                string     codYoAseguro = request.CodYoAseguro;
                TYoAseguro yoAseguro    = _context.TYoAseguro.Find(codYoAseguro);
                int        quince       = 14;
                string     cat          = "caotrce";

                if (yoAseguro == null)
                {
                    codYoAseguro = nextCod();
                    var entityYoA = new TYoAseguro();
                    entityYoA.CodYoAseguro          = codYoAseguro;
                    entityYoA.CodPosGerencia        = request.CodPosGerencia;
                    entityYoA.CodPersonaResponsable = request.CodPersonaResponsable;
                    entityYoA.Fecha                   = request.Fecha;
                    entityYoA.FechaEvalucion          = request.FechaEvalucion;
                    entityYoA.ReportadosObservaciones = request.ReportadosObservaciones;
                    entityYoA.CorregidosObservaciones = request.CorregidosObservaciones;
                    entityYoA.ObsCriticaDia           = request.ObsCriticaDia;
                    entityYoA.Calificacion            = request.Calificacion;
                    entityYoA.Comentario              = request.Comentario;
                    entityYoA.Reunion                 = request.Reunion;
                    entityYoA.Recomendaciones         = request.Recomendaciones;
                    entityYoA.TituloReunion           = request.TituloReunion;
                    entityYoA.TemaReunion             = request.TemaReunion;
                    //entityYoA.PersonasReconocidas = _mapper.Map<ICollection<PersonaYoAseguroDto>, ICollection<TPersonaYoAseguro>>(request.PersonasReconocidas);
                    TPersonaYoAseguro per;
                    var personas = request.PersonasReconocidas;
                    foreach (var p in personas)
                    {
                        per = new TPersonaYoAseguro();
                        per.CodYoAseguro = codYoAseguro;
                        per.CodPersona   = p.CodPersona;
                        entityYoA.PersonasReconocidas.Add(per);
                    }
                    _context.TYoAseguro.Add(entityYoA);
                }

                var createList = new List <PlanVM>();

                createList = request.PlanesAccion;

                //await _planAccion.Create(createList, codYoAseguro, codYoAseguro);
                createList.ForEach(t => { t.docReferencia = codYoAseguro; t.docSubReferencia = codYoAseguro; });
                var r1 = await _mediator.Send(new CreatePlanAccionCommand()
                {
                    planes = createList
                });

                await _context.SaveChangesAsync(cancellationToken);

                return(Unit.Value);
            }
            public async Task <Unit> Handle(DeleteYoAseguroCommand request, CancellationToken cancellationToken)
            {
                TYoAseguro entityYoA = _context.TYoAseguro.Find(request.CodYoAseguro);

                if (entityYoA != null && entityYoA.Estado == false)
                {
                    throw new NotFoundException("YoAseguro", request.CodYoAseguro);
                }
                else
                {
                    entityYoA.Estado = false;
                    _context.TYoAseguro.Update(entityYoA);
                    await _context.SaveChangesAsync(cancellationToken);
                }
                return(Unit.Value);
            }
Exemple #4
0
            public async Task <Unit> Handle(UpdateYoAseguroCommand request, CancellationToken cancellationToken)
            {
                TYoAseguro entityYoA = _context.TYoAseguro.Find(request.CodYoAseguro);

                if (entityYoA != null && entityYoA.Estado == false)
                {
                    throw new NotFoundException("YoAseguro", request.CodYoAseguro);
                }
                else
                {
                    entityYoA.CodPosGerencia        = request.CodPosGerencia;
                    entityYoA.CodPersonaResponsable = request.CodPersonaResponsable;
                    //entityYoA.Fecha = request.Fecha;
                    //entityYoA.FechaEvalucion = request.FechaEvalucion;
                    entityYoA.ReportadosObservaciones = request.ReportadosObservaciones;
                    entityYoA.CorregidosObservaciones = request.CorregidosObservaciones;
                    entityYoA.ObsCriticaDia           = request.ObsCriticaDia;
                    entityYoA.Calificacion            = request.Calificacion;
                    entityYoA.Comentario          = request.Comentario;
                    entityYoA.Reunion             = request.Reunion;
                    entityYoA.Recomendaciones     = request.Recomendaciones;
                    entityYoA.TituloReunion       = request.TituloReunion;
                    entityYoA.TemaReunion         = request.TemaReunion;
                    entityYoA.PersonasReconocidas = _context.TPersonaYoAseguro.Where(t => t.CodYoAseguro.Equals(request.CodYoAseguro)).ToList();

                    foreach (var item in entityYoA.PersonasReconocidas)
                    {
                        _context.TPersonaYoAseguro.Remove(item);
                    }
                    TPersonaYoAseguro per;
                    var personas = request.PersonasReconocidas;
                    foreach (var p in personas)
                    {
                        per = new TPersonaYoAseguro();
                        per.CodYoAseguro = request.CodYoAseguro;
                        per.CodPersona   = p.CodPersona;
                        entityYoA.PersonasReconocidas.Add(per);
                    }

                    var createList = new List <PlanVM>();
                    var updateList = new List <PlanVM>();

                    foreach (var plan in request.PlanesAccion)
                    {
                        if (plan.codAccion < 0)
                        {
                            createList.Add(plan);
                        }
                        else
                        {
                            updateList.Add(plan);
                        }
                    }


                    //var r1 = await _planAccion.Create(createList, request.CodYoAseguro, request.CodYoAseguro);
                    createList.ForEach(t => { t.docReferencia = request.CodYoAseguro; t.docSubReferencia = request.CodYoAseguro; });
                    var r1 = await _mediator.Send(new CreatePlanAccionCommand()
                    {
                        planes = createList
                    });

                    //var r2 = await _planAccion.Update(updateList);
                    var r2 = await _mediator.Send(new UpdatePlanAccionCommand()
                    {
                        planes = updateList
                    });

                    _context.TYoAseguro.Update(entityYoA);
                    await _context.SaveChangesAsync(cancellationToken);
                }
                return(Unit.Value);
            }