Ejemplo n.º 1
0
        public virtual ActionResult GetAll([DataSourceRequest] DataSourceRequest request,
                                           string orderNumber,
                                           string styleString,
                                           long?styleItemId,
                                           long?userId,
                                           long?typeId,
                                           DateTime?dateFrom,
                                           DateTime?dateTo)
        {
            LogI("GetAll");
            var filter = new QuantityOperationFilterViewModel()
            {
                OrderNumber = orderNumber,
                StyleString = styleString,
                StyleItemId = styleItemId,
                DateFrom    = dateFrom,
                DateTo      = dateTo,
                UserId      = userId,
                Type        = (QuantityOperationType?)typeId
            };
            var items = QuantityOperationViewModel.GetAll(Db, filter);

            var sortField = Request.Params["sort[0][field]"];
            var sortDir   = Request.Params["sort[0][dir]"];

            if (!String.IsNullOrEmpty(sortField))
            {
                request.Sorts = new List <SortDescriptor>()
                {
                    new SortDescriptor()
                    {
                        Member        = sortField,
                        SortDirection = sortDir == "desc" ? ListSortDirection.Descending : ListSortDirection.Ascending
                    }
                };
            }
            ;

            /* new List<SortDescriptor>()
             * {
             * new SortDescriptor() { Member = "CreateDate", SortDirection = System.ComponentModel.ListSortDirection.Descending }
             * };*/
            var dataSource = items.ToDataSourceResult(request);

            return(JsonGet(dataSource));
        }
Ejemplo n.º 2
0
        public static IEnumerable <QuantityOperationViewModel> GetAll(IUnitOfWork db,
                                                                      QuantityOperationFilterViewModel filter)
        {
            if (filter.LimitCount == 0)
            {
                filter.LimitCount = 50;
            }
            var query = db.QuantityOperations.GetAllAsDtoWithChanges();

            if (!String.IsNullOrEmpty(filter.OrderNumber))
            {
                query = query.Where(o => o.OrderId == filter.OrderNumber);
            }
            if (!String.IsNullOrEmpty(filter.StyleString))
            {
                query = query.Where(o => o.QuantityChangesEnumerable.Any(ch => ch.StyleString == filter.StyleString));
            }
            if (filter.StyleItemId.HasValue)
            {
                query = query.Where(o => o.QuantityChangesEnumerable.Any(ch => ch.StyleItemId == filter.StyleItemId));
            }
            if (filter.DateFrom.HasValue)
            {
                query = query.Where(o => o.CreateDate != null && o.CreateDate >= filter.DateFrom.Value);
            }
            if (filter.DateTo.HasValue)
            {
                query = query.Where(o => o.CreateDate != null && o.CreateDate < filter.DateTo.Value);
            }
            if (filter.Type.HasValue)
            {
                var typeId = (int)filter.Type;
                query = query.Where(o => o.Type == typeId);
            }
            if (filter.UserId.HasValue)
            {
                query = query.Where(x => x.CreatedBy != null && x.CreatedBy.Value == filter.UserId.Value);
            }



            var items = query.Select(quantityOperationDto => new QuantityOperationViewModel()
            {
                Id              = quantityOperationDto.Id,
                Type            = (QuantityOperationType)quantityOperationDto.Type,
                OrderId         = quantityOperationDto.OrderId,
                Market          = quantityOperationDto.Market,
                MarketplaceId   = quantityOperationDto.MarketplaceId,
                Comment         = quantityOperationDto.Comment,
                CreateDate      = quantityOperationDto.CreateDate,
                CreatedBy       = quantityOperationDto.CreatedBy,
                CreatedByName   = quantityOperationDto.CreatedByName,
                QuantityChanges = quantityOperationDto.QuantityChangesEnumerable
                                  .Select(q => new QuantityChangeViewModel()
                {
                    Id          = q.Id,
                    Quantity    = q.Quantity,
                    Size        = q.Size,
                    StyleItemId = q.StyleItemId,
                    StyleId     = q.StyleId,
                    StyleString = q.StyleString,
                    InActive    = q.InActive
                })
            });

            items = items.OrderByDescending(i => i.CreateDate);

            return(items);
        }