Ejemplo n.º 1
0
        public async Task <IEnumerable <Attribute> > GetAllAsync(int pageIndex, int itemsOnPage, SortOption byName,
                                                                 SortOption byType, string?searchKey)
        {
            var query = GetActualDataAsQueryable()
                        .Include(a => a.AttributeType)
                        .AsQueryable();

            query = query.WhereSuidConditions(searchKey);

            query = query.OrderBy(a => a.Id);

            query = byName switch
            {
                SortOption.True => query.OrderBy(a => a.Name),
                SortOption.Reversed => query.OrderByDescending(a => a.Name),
                _ => query
            };

            query = byType switch
            {
                SortOption.True => query.OrderBy(a => a.AttributeType !.Name),
                SortOption.Reversed => query.OrderByDescending(a => a.AttributeType !.Name),
                _ => query
            };

            query = query.Skip(itemsOnPage * pageIndex).Take(itemsOnPage);

            return((await query.ToListAsync()).Select(Mapper.Map <Entities.Attribute, Attribute>));
        }
Ejemplo n.º 2
0
        public async Task <IEnumerable <Order> > GetAllAsync(int pageIndex, int itemsOnPage,
                                                             SortOption byName, bool?hasExecutionDate, bool?completed, bool?overdued, string?searchKey,
                                                             DateTime?startDateTime, DateTime?endDateTime, DateTime?checkDateTime)
        {
            var query = GetActualDataAsQueryable()
                        .AsQueryable();

            query = query.WhereSuidConditions(hasExecutionDate, completed, overdued, searchKey, startDateTime,
                                              endDateTime, checkDateTime);

            query = query.OrderBy(at => at.ExecutionDateTime).ThenBy(at => at.Id);

            query = byName switch
            {
                SortOption.True => query.OrderBy(at => at.Name),
                SortOption.Reversed => query.OrderByDescending(at => at.Name),
                _ => query
            };

            query = query.Skip(itemsOnPage * pageIndex).Take(itemsOnPage);

            var orders = await query.Select(ProjectOrder()).ToListAsync();

            return(orders.Select(Mapper.Map <Entities.Order, Order>));
        }
Ejemplo n.º 3
0
        public async Task <IEnumerable <AttributeType> > GetAllAsync(int pageIndex, int itemsOnPage, SortOption byName,
                                                                     string?searchKey)
        {
            var query = GetActualDataAsQueryable();

            query = query.WhereSuidConditions(searchKey);

            query = query.OrderBy(at => at.Id);

            query = byName switch
            {
                SortOption.True => query.OrderBy(at => at.Name),
                SortOption.Reversed => query.OrderByDescending(at => at.Name),
                _ => query
            };

            query = query.Skip(itemsOnPage * pageIndex).Take(itemsOnPage);

            var attributeTypes = await query.Select(at => new AttributeType
            {
                Id           = at.Id,
                Name         = at.Name,
                DataType     = (AttributeDataType)at.DataType,
                SystemicType = at.SystemicType,
                Attributes   = at.Attributes !
                               .Where(a => a.DeletedAt == null)
                               .Select(a => new Attribute())
                               .ToList(),
                UsesDefinedUnits  = at.UsesDefinedUnits,
                UsesDefinedValues = at.UsesDefinedValues
            }).ToListAsync();