Beispiel #1
0
        public async Task <IActionResult> List(string name = null, string idEstado = null, DateTime?creationDateFrom = null, DateTime?creationDateTo = null)
        {
            try
            {
                var filters  = new RecursosMaterialesFilterDTO(name, idEstado, creationDateFrom, creationDateTo);
                var entities = await _recursoMaterialService.List(this.Usuario, filters);

                return(Ok(entities));
            }
            catch (Exception)
            {
                throw;
            }
        }
        public async Task <IEnumerable <RecursoMaterialDTO> > List(UsuarioDTO userlogged, RecursosMaterialesFilterDTO filter = null)
        {
            var entities = await _RecursoMaterialRespository.ListBy(recursoMaterial =>
                                                                    (
                                                                        (recursoMaterial.IdRecursoNavigation.IdEmpresa == userlogged.IdEmpresa) &&
                                                                        (!filter.CreationDateFrom.HasValue || recursoMaterial.IdRecursoNavigation.CreationDate >= filter.CreationDateFrom.Value) &&
                                                                        (!filter.CreationDateTo.HasValue || recursoMaterial.IdRecursoNavigation.CreationDate <= filter.CreationDateTo.Value) &&
                                                                        (filter.IdEstado.IsNullOrEmpty() || recursoMaterial.IdRecursoNavigation.IdEstado.ToString() == filter.IdEstado) &&

                                                                        (
                                                                            filter.Name.IsNullOrEmpty() ||
                                                                            recursoMaterial.Marca.ToLower().Contains(filter.Name) ||
                                                                            recursoMaterial.Modelo.ToLower().Contains(filter.Name) ||
                                                                            recursoMaterial.IdRecursoNavigation.IdEstadoNavigation.Descripcion.ToLower().Contains(filter.Name) ||
                                                                            recursoMaterial.IdTipoRecursoMaterialNavigation.Descripcion.ToLower().Contains(filter.Name)
                                                                        )
                                                                    ) &&
                                                                    recursoMaterial.IdRecursoNavigation.Active == true,
                                                                    s => s.IdRecursoNavigation.IdEstadoNavigation,
                                                                    s => s.IdTipoRecursoMaterialNavigation,
                                                                    s => s.FueraServicio
                                                                    );

            var entitiesDTO = new List <RecursoMaterialDTO>();

            foreach (var item in entities)
            {
                var result = _mapper.Map <RecursoMaterialDTO>(item);

                var fueraServicioItem = (await _RecursoMaterialRespository.GetBy(s => s.Id == item.Id)).FueraServicio;

                if (fueraServicioItem.Any(s => s.Active))
                {
                    result.fechaInicioFueraServicio = fueraServicioItem.LastOrDefault().FechaInicio;
                }
                entitiesDTO.Add(result);
            }

            return(entitiesDTO);
        }