示例#1
0
        public Residence Get(GetResidencesFilter filter)
        {
            var query = Session.Query <Residence>();

            query = FilterQuery(filter, query);

            return(query.SingleOrDefault());
        }
示例#2
0
        public IEnumerable <Residence> GetAll(GetResidencesFilter filter)
        {
            var query = Session.Query <Residence>();

            query = FilterQuery(filter, query);

            return(query.ToArray());
        }
示例#3
0
        public Residence Get(int id)
        {
            var filter = new GetResidencesFilter()
            {
                Id = id
            };

            return(Get(filter));
        }
示例#4
0
        private IQueryable <Residence> FilterQuery(GetResidencesFilter filter, IQueryable <Residence> query)
        {
            if (filter.Id > 0)
            {
                query = query.Where(x => x.Id == filter.Id);
            }

            if (filter.Name.IsNullOrEmpty() == false)
            {
                query = query.Where(x => x.Name.Contains(filter.Name));
            }

            if (filter.IsAvailable.HasValue)
            {
                query = query.Where(x => x.IsAvailable == filter.IsAvailable);
            }

            return(query);
        }
示例#5
0
        public IActionResult GetAll(GetResidencesFilter filter)
        {
            var users  = _residencesService.GetAll(filter);
            var result = users.Select(x => new ResidenceModel()
            {
                Id          = x.Id,
                Name        = x.Name,
                Description = x.Description,
                Address     = x.Address,
                ImageUrl    = x.ImageUrl,
                ThumbUrl    = x.ThumbnailUrl,
                IsAvailable = x.IsAvailable,
                CreatedAt   = x.CreatedAt.GetValueOrDefault(new DateTime(2019, 01, 01)),
                CreatedBy   = x.CreatedBy,
                UpdatedAt   = x.UpdatedAt,
                UpdatedBy   = x.UpdatedBy
            }).ToArray();

            return(Ok(result));
        }