Beispiel #1
0
 public async Task <GetFiltradoResponseCabVM> GetTemaCapacitacionFiltrado(GetFiltradoRequestVM temaCapacitacionVM)
 {
     return(await Mediator.Send(new GetFiltradoQuery()
     {
         temaCapacitacionVM = temaCapacitacionVM
     }));
 }
Beispiel #2
0
            public async Task <GetFiltradoResponseCabVM> Handle(GetFiltradoQuery request, CancellationToken cancellationToken)
            {
                GetFiltradoResponseCabVM modelListVMReq = new GetFiltradoResponseCabVM();
                GetFiltradoRequestVM     modelVMReq     = request.temaCapacitacionVM;

                //var count = _context.TTemaCapacitacion.Where(i => i.Estado &&
                // (String.IsNullOrEmpty(modelVMReq.codTemaCapacita) || i.CodTemaCapacita.EndsWith(modelVMReq.codTemaCapacita)) &&
                // (String.IsNullOrEmpty(modelVMReq.codTipoTema) || i.CodTipoTema.Contains(modelVMReq.codTipoTema)) &&
                // (String.IsNullOrEmpty(modelVMReq.codAreaCapacita) || i.CodAreaCapacita.Contains(modelVMReq.codAreaCapacita)) &&
                // (String.IsNullOrEmpty(modelVMReq.descripcion) || i.Descripcion.Contains(modelVMReq.descripcion)) &&
                // (String.IsNullOrEmpty(modelVMReq.competenciaHs) || i.CompetenciaHs.Contains(modelVMReq.competenciaHs)) &&
                // (String.IsNullOrEmpty(modelVMReq.codHha) || i.CodHha.Contains(modelVMReq.codHha))).Where(i => i.Estado).Count();

                var temaCap = _context.TTemaCapacitacion.Where(i => i.Estado &&
                                                               (String.IsNullOrEmpty(modelVMReq.codTemaCapacita) || i.CodTemaCapacita.EndsWith(modelVMReq.codTemaCapacita)) &&
                                                               (String.IsNullOrEmpty(modelVMReq.codTipoTema) || i.CodTipoTema.Contains(modelVMReq.codTipoTema)) &&
                                                               (String.IsNullOrEmpty(modelVMReq.codAreaCapacita) || i.CodAreaCapacita.Contains(modelVMReq.codAreaCapacita)) &&
                                                               (String.IsNullOrEmpty(modelVMReq.descripcion) || i.Descripcion.Contains(modelVMReq.descripcion)) &&
                                                               (String.IsNullOrEmpty(modelVMReq.competenciaHs) || i.CompetenciaHs.Contains(modelVMReq.competenciaHs)) &&
                                                               (String.IsNullOrEmpty(modelVMReq.codHha) || i.CodHha.Contains(modelVMReq.codHha))).Include(i => i.TemaCapEspecifico).OrderBy(o => o.CodTipoTema).ThenByDescending(o => o.CodTemaCapacita);

                IList <GetFiltradoResponseVM> objeto = temaCap
                                                       .ProjectTo <GetFiltradoResponseVM>(_mapper.ConfigurationProvider)
                                                       .ToList();

                GetFiltradoResponseVM tem;

                if (modelVMReq.temaCapEspecifico.Count > 0)
                {
                    foreach (var obj in objeto)
                    {
                        tem = new GetFiltradoResponseVM();
                        tem = obj;
                        if (tem.temaCapEspecifico.Count > 0)
                        {
                            var valor = tem.temaCapEspecifico.Where(i => i.estado &&
                                                                    (modelVMReq.temaCapEspecifico.Any(y => i.codPeligro.Contains(y.codPeligro) || string.IsNullOrEmpty(y.codPeligro))) &&
                                                                    (modelVMReq.temaCapEspecifico.Any(y => i.codRiesgo.Contains(y.codRiesgo) || string.IsNullOrEmpty(y.codRiesgo))) &&
                                                                    (modelVMReq.temaCapEspecifico.Any(y => i.codTemaCapacita.EndsWith(y.codTemaCapacita) || string.IsNullOrEmpty(y.codTemaCapacita))) &&
                                                                    ((modelVMReq.temaCapEspecifico.Any(y => (i.correlativo == y.correlativo) || (y.correlativo == 0)))
                                                                    )).ToList();

                            if (valor.Count > 0)
                            {
                                tem.temaCapEspecifico = valor;
                                modelListVMReq.data.Add(tem);
                            }
                        }
                    }
                }
                else
                {
                    foreach (var obj in objeto)
                    {
                        //if (obj.temaCapEspecifico.Count > 0)
                        //{
                        //    var valoresTemCap = obj.temaCapEspecifico.Where(i => i.estado).ToList();
                        //    obj.temaCapEspecifico = valoresTemCap;
                        //}
                        modelListVMReq.data.Add(obj);
                    }
                }
                modelListVMReq.count = modelListVMReq.data.Count;
                return(modelListVMReq);
            }