public async Task <IActionResult> ListRecursosRenovablesAsignados(int id, string name = null, DateTime?creationDateFrom = null, DateTime?creationDateTo = null) { try { var filters = new RecursoAsignadoFilterDTO(name, creationDateFrom, creationDateTo); var entities = await _recursoAsignadoService.ListRRRR(Usuario, id, filters); return(Ok(entities)); } catch (Exception e) { return(StatusCode(500, e.Message)); } }
public async Task <IEnumerable <RecursoAsignadoDTO> > ListRRRR(UsuarioDTO userlogged, int idRecurso, RecursoAsignadoFilterDTO filter = null) { var entitiesDTO = new List <RecursoAsignadoDTO>(); var entitiesRRRR = await _recursoAsignadoRepository.ListBy(recursoAsignado => recursoAsignado.Active == true && (recursoAsignado.IdRecurso1 == idRecurso) && recursoAsignado.IdRecurso2Navigation.IdTipoRecursoNavigation.Id == TipoRecursoEnum.Recurso_Renovable.ToInt() && (!filter.CreationDateFrom.HasValue || recursoAsignado.CreationDate >= filter.CreationDateFrom.Value) && (!filter.CreationDateTo.HasValue || recursoAsignado.CreationDate <= filter.CreationDateTo.Value) && ( filter.Name.IsNullOrEmpty() || recursoAsignado.IdRecurso2Navigation.Descripcion.ToLower().Contains(filter.Name) || recursoAsignado.IdRecurso2Navigation.RecursoRenovable.FirstOrDefault().FechaVencimiento.ToShortDateString().ToLower().Contains(filter.Name) || recursoAsignado.IdUbicacionNavigation.Referencia.ToLower().Contains(filter.Name) ) , s => s.IdRecurso2Navigation.RecursoRenovable, s => s.IdUbicacionNavigation );; foreach (var item in entitiesRRRR) { var result = new RecursoAsignadoDTO { ReferenciaUbicacion = item.IdUbicacionNavigation?.Referencia, Id = item.Id, IdRecurso1 = item.IdRecurso1, IdRecurso2 = item.IdRecurso2, FechaAsignado = item.FechaAsignado, IdUbicacion = item.IdUbicacion, recursoRenovable = _mapper.Map <RecursoRenovableDTO>(await _recursoRenovableRepository.GetBy ( s => s.IdRecurso == item.IdRecurso2, s => s.IdTipoRecursoRenovableNavigation )) }; entitiesDTO.Add(result); } return(entitiesDTO); }