示例#1
0
        public async Task <List <Event> > GetRangeInOneCity(int offset, int limit, string cityName, string orderByAttribute, string order = "asc")
        {
            City city = await cityService.GetByUniqueIdentifiers(new string[] { "Name" }, new City()
            {
                Name = cityName
            });

            Event tmp = new Event()
            {
                IdCity = city.IdCity
            };
            DbCommand <Event> selectCommand = new SelectWithRangeAndFilterCommand <Event>(offset, limit, "Name", new string[] { "IdCity" }, tmp, order);

            return(await ServiceHelper <Event> .ExecuteSelectCommand(selectCommand));
        }
示例#2
0
        public async Task <List <Event> > GetRangeInOneCityWithFilter(int offset, int limit, string cityName, EventFilter filter, int?idCategory = null, string orderByAttribute = null, string order = "asc")
        {
            City city = await cityService.GetByUniqueIdentifiers(new string[] { "Name" }, new City()
            {
                Name = cityName
            });

            Event tmp = new Event()
            {
                IdCity = city.IdCity,
            };

            if (filter == EventFilter.CATEGORY)
            {
                if (idCategory.HasValue)
                {
                    tmp.IdCategory = idCategory.Value;
                }
                DbCommand <Event> selectCommand = new SelectWithRangeAndFilterCommand <Event>(offset, limit, orderByAttribute ?? "Name", new string[] { "IdCity", "IdCategory" }, tmp, order);
                return(await ServiceHelper <Event> .ExecuteSelectCommand(selectCommand));
            }
            else
            {
                DbCommand <Event> selectCommand = new SelectWithAttributeValuesCommand <Event>(new string[] { "IdCity" }, orderByAttribute ?? "Name", order);
                List <Event>      events        = await ServiceHelper <Event> .ExecuteSelectCommand(selectCommand, tmp);

                if (filter == EventFilter.PRESENT)
                {
                    events = events.Where(x => x.ScheduledOn.Date == DateTime.Now.Date).ToList();
                }
                else if (filter == EventFilter.FUTURE)
                {
                    events = events.Where(x => x.ScheduledOn > DateTime.Now).ToList();
                }
                return(events.Skip(offset).Take(limit).ToList());;
            }
        }