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