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); }