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