Beispiel #1
0
        public static IList <OrderInfoViewModel> GetAll(IUnitOfWork db,
                                                        ILogService log,
                                                        IWeightService weightService,
                                                        int?batchId)
        {
            var filter = new OrderSearchFilter();

            if (!batchId.HasValue)
            {
                filter.OrderStatus = OrderStatusEnumEx.AllUnshipped;
            }
            else
            {
                filter.OrderStatus = OrderStatusEnumEx.AllUnshippedWithShipped;
                filter.BatchId     = batchId.Value;
            }
            filter.IncludeNotify    = true;
            filter.IncludeMailInfos = true;

            IList <DTOOrder> orders = db.ItemOrderMappings
                                      .GetFilteredOrderInfos(weightService, filter)
                                      .ToList();

            return(orders.Select(o => new OrderInfoViewModel(o))
                   .Where(o => !o.HasAllLabels && !o.HasMailLabels)
                   .ToList());
        }
Beispiel #2
0
        public IHttpActionResult GetCustomerOrdersBy(string customerId, int year, int month, int pageNumber, OrderSearchFilter searchFilter)
        {
            if (searchFilter == null)
            {
                searchFilter = new OrderSearchFilter();
            }
            var startTime = new DateTime(year, month, 1);
            var days      = DateTime.DaysInMonth(year, month);
            var endTime   = new DateTime(year, month, days, 23, 59, 59);
            //取得顧客該月訂單
            var monthOrders = _customerRepository
                              .GetAll()
                              .Include(x => x.Orders)
                              .FirstOrDefault(x => x.CustomerID == customerId)?
                              .Orders
                              .Where(x => x.OrderDate >= startTime &&
                                     x.OrderDate <= endTime);
            //搜尋過濾
            var filteredOrders = monthOrders?.Where(searchFilter.GetPredicate()); //[LinqKit]
            var result         = Tools.AutoMapperConfig.Mapper                    //[AutoMapper]
                                 .Map <List <OrderDto> >(filteredOrders);         // 投影到 Dto 物件隱藏導覽屬性

            return(Ok(result.AsQueryable()
                      .OrderBy(searchFilter.SortColumnName)    //[DynamicQuery]
                      .ToPagedList(pageNumber, pageSize: 5))); //[PagedList]
        }
 public virtual ActionResult Manage(OrderSearchFilter filter)
 {
     ViewBag.WithoutAddButton = true;
     ViewBag.FilterBoxIsOpen  = true;
     if (!Request.IsAjaxRequest())
     {
         return(View(_OrderSrv.Get(filter)));
     }
     else
     {
         return(PartialView("Partials/_List", _OrderSrv.Get(filter)));
     }
 }
Beispiel #4
0
        public async Task <Page <MarketOrder> > Search(OrderSearchFilter filter, int pageIndex)
        {
            var pageSize   = 100;
            var pageResult = await _repo.SearchOrders(pageIndex, pageSize, filter);

            // We need to forget the last page result, otherwise the client will end up getting events for all orders
            await UnSubscribeFromAll();

            foreach (var order in pageResult.Results)
            {
                await Subscribe(order.OrderId);
            }
            return(pageResult);
        }
 public virtual ActionResult Manage(OrderSearchFilter filter)
 {
     ViewBag.WithoutAddButton = true;
     ViewBag.Stores           = GetStores();
     filter.UserId            = User.GetUserId();
     if (!Request.IsAjaxRequest())
     {
         return(View(_OrderSrv.Get(filter)));
     }
     else
     {
         return(PartialView("Partials/_List", _OrderSrv.Get(filter)));
     }
 }
Beispiel #6
0
        public ActionResult List(OrderSearchFilter filter = null)
        {
            if (filter == null)
            {
                filter    = new OrderSearchFilter();
                filter.pg = 1;
            }
            filter.PageSize       = Define.PAGE_SIZE;
            filter.UserId         = UserId;
            filter.Role           = (CommonEnum.GroupOfCustomer)_customerService.GetEntityById(UserId).GroupId;
            ViewBag.FundFlowList  = _orderService.GetFundFlowList();
            ViewBag.OrderTypeList = _orderService.GetOrderTypeList();
            Tuple <OrderSearchResult[], PagerEntity> orderListPaging = _orderService.GetOrderList(filter);

            ViewBag.OrderList = orderListPaging;
            return(View());
        }
Beispiel #7
0
        public PaginatedList <OrderView> Search(OrderSearchFilter filter, PaginationInfoView paginationInfo)
        {
            var query = _repository.Query <Order>();

            if (filter.Id > 0)
            {
                query = query.Where(x => x.Id == filter.Id);
            }
            if (filter.CompanyId > 0)
            {
                query = query.Where(x => x.CompanyId == filter.CompanyId);
            }
            if (filter.ProductId > 0)
            {
                query = query.Where(x => x.ProductId == filter.ProductId);
            }
            if (filter.OrderStatus >= 0)
            {
                query = query.Where(x => x.OrderStatus == filter.OrderStatus);
            }

            query = query.Where(x => x.Status == Status.Active);



            var newQuery = query.Select(x => new OrderView
            {
                Id            = x.Id,
                RefId         = x.RefId,
                CompanyId     = x.CompanyId,
                ProductId     = x.ProductId,
                Status        = x.Status,
                Description   = x.Description,
                Discount      = x.Discount,
                Total         = x.Total,
                SetPaid       = x.SetPaid,
                PaymentMethod = x.PaymentMethod,
                Currency      = x.Currency
            });


            PaginatedList <OrderView> paginatedList = new PaginatedList <OrderView>(paginationInfo, newQuery);


            return(paginatedList);
        }
Beispiel #8
0
        public PagingListDetails <Order> Get(OrderSearchFilter filter)
        {
            Expression <Func <Order, bool> > conditions = x => true;

            if (filter != null)
            {
                if (filter.UserId != null)
                {
                    conditions = conditions.And(x => x.UserId == filter.UserId);
                }
                if (filter.StoreId != null)
                {
                    conditions = conditions.And(x => x.StoreId == filter.StoreId);
                }
                if (!string.IsNullOrWhiteSpace(filter.FromDateSh))
                {
                    var dt = PersianDateTime.Parse(filter.FromDateSh).ToDateTime();
                    conditions = conditions.And(x => x.InsertDateMi >= dt);
                }
                if (!string.IsNullOrWhiteSpace(filter.ToDateSh))
                {
                    var dt = PersianDateTime.Parse(filter.ToDateSh).ToDateTime();
                    conditions = conditions.And(x => x.InsertDateMi <= dt);
                }
                if (!string.IsNullOrWhiteSpace(filter.TransactionId))
                {
                    conditions = conditions.And(x => x.Payments.Any(p => p.TransactionId == filter.TransactionId));
                }
                if (filter.OrderStatus != null)
                {
                    conditions = conditions.And(x => x.OrderStatus == filter.OrderStatus);
                }
            }

            return(_orderRepo.Get(conditions, filter, x => x.OrderByDescending(i => i.OrderId), new System.Collections.Generic.List <Expression <Func <Order, object> > >
            {
                x => x.Store,
                x => x.ToAddress,
                x => x.User
            }));
        }
Beispiel #9
0
        public async Task <Page <MarketOrder> > SearchOrders(int pageIndex, int pageSize, OrderSearchFilter filter)
        {
            var ordersQuery = _dbContext.Orders
                              .Include(o => o.Item)
                              .Include(o => o.Owner)
                              .Where(o => o.State != OrderState.Cancelled)
                              .Where(o => o.OrderType == filter.OrderType);

            if (!string.IsNullOrEmpty(filter.ItemId))
            {
                ordersQuery = ordersQuery.Where(o => o.ItemId == filter.ItemId);
            }

            if (filter.MinPrice != null)
            {
                ordersQuery = ordersQuery.Where(o => o.Price >= filter.MinPrice.Value);
            }

            if (filter.MaxPrice != null)
            {
                ordersQuery = ordersQuery.Where(o => o.Price <= filter.MaxPrice.Value);
            }

            var count = ordersQuery.Count();

            return(new Page <MarketOrder>
            {
                PageCount = (int)Math.Ceiling(count / (decimal)pageSize),
                PageIndex = pageIndex,
                ResultCount = count,
                Results = await ordersQuery.Skip(pageSize *(pageIndex - 1)).Take(pageSize).ToListAsync(),
            });
        }
        public static OrderHistoryViewModel GetByOrderId(IUnitOfWork db,
                                                         ILogService log,
                                                         IWeightService weightService,
                                                         string orderId)
        {
            DTOOrder order = null;

            if (!String.IsNullOrEmpty(orderId))
            {
                orderId = orderId.RemoveWhitespaces();
                var orderNumber = OrderHelper.RemoveOrderNumberFormat(orderId);
                var filter      = new OrderSearchFilter()
                {
                    EqualOrderNumber = orderNumber,
                    IncludeMailInfos = true,
                    IncludeNotify    = false,

                    UnmaskReferenceStyles = false,
                };

                order = db.ItemOrderMappings
                        .GetFilteredOrdersWithItems(weightService, filter)
                        .FirstOrDefault();
            }

            if (order == null)
            {
                return(null);
            }
            else
            {
                var anotherBuyerOrders = new List <OrderLinkViewModel>();
                if (!String.IsNullOrEmpty(order.BuyerEmail))
                {
                    anotherBuyerOrders = db.Orders.GetAll().Where(o => o.BuyerEmail == order.BuyerEmail)
                                         .ToList()
                                         .Where(o => o.Id != order.Id)
                                         .OrderByDescending(o => o.OrderDate)
                                         .Select(o => new OrderLinkViewModel()
                    {
                        OrderId       = o.Id,
                        OrderNumber   = o.AmazonIdentifier,
                        OrderDate     = o.OrderDate,
                        OrderStatus   = o.OrderStatus,
                        Market        = o.Market,
                        MarketplaceId = o.MarketplaceId
                    })
                                         .ToList();
                }

                var comments = db.OrderComments.GetByOrderIdDto(order.Id).ToList();

                var emails = db.Emails.GetAllWithOrder(new EmailSearchFilter()
                {
                    OrderId = orderId
                }).ToList();

                var returnRequests = db.ReturnRequests.GetAll()
                                     .OrderByDescending(r => r.CreateDate)
                                     .Select(r => new ReturnRequestDTO()
                {
                    OrderNumber      = r.OrderNumber,
                    ReceiveDate      = r.ReceiveDate,
                    ItemName         = r.ItemName,
                    CustomerComments = r.CustomerComments,
                    Details          = r.Details,
                    CreateDate       = r.CreateDate,
                    Reason           = r.Reason
                })
                                     .Where(r => r.OrderNumber == order.OrderId)
                                     .ToList();

                var refundRequests = RefundViewModel.GetByOrderId(db, order.OrderId);

                var labels = order.ShippingInfos
                             .Where(i => !String.IsNullOrEmpty(i.LabelPath)
                                    //|| i.LabelPurchaseResult != null //NOTE: in case when bag system shows user issue (keeped twice shippings with labels)
                                    )
                             .ToList();
                labels.AddRange(order.MailInfos);


                var address = order.GetAddressDto();

                var changes = db.OrderChangeHistories.GetByOrderIdDto(order.Id)
                              .ToList()
                              .OrderByDescending(ch => ch.ChangeDate)
                              .Select(ch => new OrderChangeViewModel(ch, emails))
                              .Where(ch => ch.ChangeType != OrderChangeTypes.None) //NOTE: Skipped empty
                              .ToList();

                changes.Add(OrderChangeViewModel.BuildCreateOrderChange(order));
                changes.AddRange(comments.Select(c => new OrderChangeViewModel(c)).ToList());
                changes.AddRange(emails.Select(e => new OrderChangeViewModel(e)).ToList());
                changes.AddRange(labels.SelectMany(l => OrderChangeViewModel.BuildChanges(l)).ToList());
                changes.AddRange(refundRequests.Select(r => new OrderChangeViewModel(r)).ToList());
                changes.AddRange(returnRequests.Select(r => new OrderChangeViewModel(r)).ToList());

                return(new OrderHistoryViewModel
                {
                    //Notes =  string.Format("{0} {1}", order.OrderId, itemsNotes),
                    OrderID = order.OrderId,
                    OrderEntityId = order.Id,
                    OrderDate = order.OrderDate,
                    Market = (MarketType)order.Market,
                    MarketplaceId = order.MarketplaceId,

                    WeightLb = (int)Math.Floor(order.WeightD / 16),
                    WeightOz = order.WeightD % 16,
                    TotalPrice = order.TotalPrice,
                    PriceCurrency = PriceHelper.FormatCurrency(order.TotalPriceCurrency),

                    Items = order.Items.Select(i => new OrderItemViewModel(i, false, false)).ToList(),
                    Changes = changes.OrderByDescending(c => c.ChangeDate).ToList(),

                    AnotherOrders = anotherBuyerOrders,

                    ToAddress = new AddressViewModel(address),
                });
            }
        }
Beispiel #11
0
        public async Task <PagedResponse <Order> > Search(OrderSearchFilter Filter, OrderDetailLevelEnum?Details = null, int Page = 0, int PageSize = 50)
        {
            List <RequestFilter> filter = new List <RequestFilter>();

            if (Filter != null)
            {
                if (Filter.CreatedOnEnd.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "CreatedOnEnd", values = new List <string>()
                        {
                            Filter.CreatedOnEnd.Value.ToString("yyyy-MM-dd")
                        }
                    });
                }
                if (Filter.CreatedOnStart.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "CreatedOnStart", values = new List <string>()
                        {
                            Filter.CreatedOnStart.Value.ToString("yyyy-MM-dd")
                        }
                    });
                }

                if (Filter.CreatedOneDockEnd.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "CreatedOneDockEnd", values = new List <string>()
                        {
                            Filter.CreatedOneDockEnd.Value.ToString("yyyy-MM-dd")
                        }
                    });
                }
                if (Filter.CreatedOneDockStart.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "CreatedOneDockStart", values = new List <string>()
                        {
                            Filter.CreatedOneDockStart.Value.ToString("yyyy-MM-dd")
                        }
                    });
                }

                if (Filter.UpdatedOnEnd.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "UpdatedOnEnd", values = new List <string>()
                        {
                            Filter.UpdatedOnEnd.Value.ToString("yyyy-MM-dd")
                        }
                    });
                }
                if (Filter.UpdatedOnStart.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "UpdatedOnStart", values = new List <string>()
                        {
                            Filter.UpdatedOnStart.Value.ToString("yyyy-MM-dd")
                        }
                    });
                }

                if (Filter.idStatusFilter.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "idStatusFilter", values = new List <string>()
                        {
                            Filter.idStatusFilter.Value.ToString()
                        }
                    });
                }
                if (Filter.OrderIdGreaterOrEqualThan.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "OrderIdGreaterOrEqualThan", values = new List <string>()
                        {
                            Filter.OrderIdGreaterOrEqualThan.Value.ToString()
                        }
                    });
                }
                if (Filter.OrderIdLowerOrEqualThan.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "OrderIdLowerOrEqualThan", values = new List <string>()
                        {
                            Filter.OrderIdLowerOrEqualThan.Value.ToString()
                        }
                    });
                }
                if (Filter.Paid.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "Paid", values = new List <string>()
                        {
                            Filter.Paid.Value.ToString()
                        }
                    });
                }
                if (Filter.ShippedOnEnd.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "ShippedOnEnd", values = new List <string>()
                        {
                            Filter.ShippedOnEnd.Value.ToString()
                        }
                    });
                }
                if (Filter.ShippedOnStart.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "ShippedOnStart", values = new List <string>()
                        {
                            Filter.ShippedOnStart.Value.ToString()
                        }
                    });
                }
                if (!String.IsNullOrEmpty(Filter.SKU))
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "SKU", values = new List <string>()
                        {
                            Filter.SKU
                        }
                    });
                }

                if (Filter.OrderId.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "OrderId", values = new List <string>()
                        {
                            Filter.OrderId.Value.ToString()
                        }
                    });
                }
                if (!String.IsNullOrEmpty(Filter.CustomerFilter))
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "CustomerFilter", values = new List <string>()
                        {
                            Filter.CustomerFilter
                        }
                    });
                }
                if (!String.IsNullOrEmpty(Filter.eBayUsername))
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "eBayUsername", values = new List <string>()
                        {
                            Filter.eBayUsername
                        }
                    });
                }
                if (Filter.idCountry.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "idCountry", values = new List <string>()
                        {
                            Filter.idCountry.Value.ToString()
                        }
                    });
                }
                if (Filter.idCounty.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "idCounty", values = new List <string>()
                        {
                            Filter.idCounty.Value.ToString()
                        }
                    });
                }
                if (Filter.idCurrency.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "idCurrency", values = new List <string>()
                        {
                            Filter.idCurrency.Value.ToString()
                        }
                    });
                }
                if (Filter.idPaymentMethod.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "idPaymentMethod", values = new List <string>()
                        {
                            Filter.idPaymentMethod.Value.ToString()
                        }
                    });
                }
                if (Filter.ModuleIDFilter.HasValue)
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "ModuleIDFilter", values = new List <string>()
                        {
                            Filter.ModuleIDFilter.Value.ToString()
                        }
                    });
                }
                if (!String.IsNullOrEmpty(Filter.CustomerEmail))
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "CustomerEmail", values = new List <string>()
                        {
                            Filter.CustomerEmail
                        }
                    });
                }

                if (!String.IsNullOrEmpty(Filter.MarketplaceOrderId))
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "MarketplaceOrderId", values = new List <string>()
                        {
                            Filter.MarketplaceOrderId
                        }
                    });
                }
                if (!String.IsNullOrEmpty(Filter.eBaySellerUser))
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "eBaySellerUser", values = new List <string>()
                        {
                            Filter.eBaySellerUser
                        }
                    });
                }
                if (!String.IsNullOrEmpty(Filter.SellingManagerSalesRecordNumber))
                {
                    filter.Add(new RequestFilter()
                    {
                        field = "SellingManagerSalesRecordNumber", values = new List <string>()
                        {
                            Filter.SellingManagerSalesRecordNumber
                        }
                    });
                }
            }

            List <ItemDetail> details = new List <ItemDetail>();

            if (Details.HasValue)
            {
                if (Details.Value.HasFlag(OrderDetailLevelEnum.BillingAddress))
                {
                    details.Add(new ItemDetail()
                    {
                        field = "BillingAddress"
                    });
                }
                if (Details.Value.HasFlag(OrderDetailLevelEnum.ContactInformations))
                {
                    details.Add(new ItemDetail()
                    {
                        field = "ContactInformations"
                    });
                }
                if (Details.Value.HasFlag(OrderDetailLevelEnum.ExternalSellerReference))
                {
                    details.Add(new ItemDetail()
                    {
                        field = "ExternalSellerReference"
                    });
                }
                if (Details.Value.HasFlag(OrderDetailLevelEnum.History))
                {
                    details.Add(new ItemDetail()
                    {
                        field = "History"
                    });
                }
                if (Details.Value.HasFlag(OrderDetailLevelEnum.Payments))
                {
                    details.Add(new ItemDetail()
                    {
                        field = "Payments"
                    });
                }
                if (Details.Value.HasFlag(OrderDetailLevelEnum.Rows))
                {
                    details.Add(new ItemDetail()
                    {
                        field = "Rows"
                    });
                }
                if (Details.Value.HasFlag(OrderDetailLevelEnum.RowVariationAttributes))
                {
                    details.Add(new ItemDetail()
                    {
                        field = "RowVariationAttributes"
                    });
                }
                if (Details.Value.HasFlag(OrderDetailLevelEnum.ShippingAddress))
                {
                    details.Add(new ItemDetail()
                    {
                        field = "ShippingAddress"
                    });
                }
            }

            PagedRequest req = new PagedRequest()
            {
                Page     = Page,
                PageSize = PageSize,
                filters  = filter,
                details  = details
            };

            RestRequest elm = CreateRequest <PagedRequest>("Orders/GetOrders", Method.POST, req);

            IRestResponse <PagedResponse <Order> > resp = await Client.ExecutePostTaskAsync <PagedResponse <Order> >(elm);

            if (resp.StatusCode == HttpStatusCode.Unauthorized)
            {
                throw new UnauthorizedException();
            }
            else if (resp.StatusCode != HttpStatusCode.OK)
            {
                throw new eDockAPIException();
            }

            return(resp.Data);
        }
Beispiel #12
0
 public async Task <PagedResponse <Order> > Search(OrderSearchFilter Filter, int Page = 0, int PageSize = 50)
 {
     return(await Search(Filter, null, Page, PageSize));
 }
Beispiel #13
0
        public static OrderQuickSummaryViewModel GetByOrderId(IUnitOfWork db,
                                                              ILogService log,
                                                              IWeightService weightService,
                                                              string orderId)
        {
            DTOOrder order = null;

            if (!String.IsNullOrEmpty(orderId))
            {
                orderId = orderId.RemoveWhitespaces();
                var orderNumber = OrderHelper.RemoveOrderNumberFormat(orderId);
                var filter      = new OrderSearchFilter()
                {
                    EqualOrderNumber = orderNumber,
                    IncludeMailInfos = true,
                    IncludeNotify    = false,

                    UnmaskReferenceStyles = false,
                };

                order = db.ItemOrderMappings
                        .GetFilteredOrdersWithItems(weightService, filter)
                        .FirstOrDefault();
            }

            if (order == null)
            {
                return(null);
            }
            else
            {
                var refundRequestList = RefundViewModel.GetByOrderId(db, order.OrderId);

                var shippingPrice = 0M;

                var activeShippings = order.ShippingInfos.Where(i => i.IsActive).ToList();
                activeShippings.AddRange(order.MailInfos);
                activeShippings = activeShippings.OrderBy(sh => sh.LabelPurchaseDate).ToList();
                //if (order.MailInfos.Any(m => !m.LabelCanceled)
                //    && order.ShippingInfos.All(sh => String.IsNullOrEmpty(sh.LabelPath) || sh.LabelCanceled))
                //{
                //    var mailShipping = order.MailInfos.OrderBy(m => m.LabelPurchaseDate).FirstOrDefault(l => !l.LabelCanceled);
                //    activeShippings = new List<OrderShippingInfoDTO>() { mailShipping };
                //}
                //var mainActiveShipping = activeShippings.FirstOrDefault();
                //var shipmentProviderType = mainActiveShipping != null ? mainActiveShipping.ShipmentProviderType : (int)Core.Models.Settings.ShipmentProviderType.Stamps;
                var address = order.GetAddressDto();

                return(new OrderQuickSummaryViewModel()
                {
                    OrderID = order.OrderId,
                    OrderEntityId = order.Id,
                    OrderDate = order.OrderDate,
                    OrderStatus = order.OrderStatus,
                    Market = (MarketType)order.Market,
                    MarketplaceId = order.MarketplaceId,

                    OrderIsOnHold = order.OnHold,

                    WeightLb = (int)Math.Floor(order.WeightD / 16),
                    WeightOz = order.WeightD % 16,

                    TrackingNumbers = activeShippings.Where(t => !String.IsNullOrEmpty(t.TrackingNumber)).Select(t => new LabelViewModel()
                    {
                        TrackingNumber = t.TrackingNumber,
                        Carrier = t.ShippingMethod.CarrierName,
                        FromType = (LabelFromType)t.LabelFromType,
                        TrackingStatusSource = t.TrackingStateSource,
                        ShippingDate = t.ShippingDate,
                        EstDeliveryDate = t.EstimatedDeliveryDate,
                        ActualDeliveryDate = t.ActualDeliveryDate,
                        LastTrackingStateUpdateDate = t.LastTrackingRequestDate,
                        IsCanceled = t.CancelLabelRequested || t.LabelCanceled,
                        DeliveryStatusMessage = GetDeliveryStatus(order.LatestDeliveryDate,
                                                                  t.ActualDeliveryDate,
                                                                  t.TrackingStateDate,
                                                                  t.DeliveredStatus == (int)DeliveredStatusEnum.DeliveredToSender),
                        ShippingMethodName = t.ShippingMethod != null
                            ? ShippingUtils.PrepareMethodNameToDisplay(t.ShippingMethod.Name, t.DeliveryDaysInfo) : string.Empty,
                        ShippingProviderName = ShipmentProviderHelper.GetName((ShipmentProviderType)t.ShipmentProviderType),
                    }).ToList(),

                    PriceCurrency = PriceHelper.FormatCurrency(order.TotalPriceCurrency),

                    ExpectedShipDate = order.LatestShipDate,
                    ExpectedDeliveryDate = order.LatestDeliveryDate,

                    //ShippingMethodName = mainActiveShipping != null && mainActiveShipping.ShippingMethod != null
                    //    ? ShippingUtils.PrepareMethodNameToDisplay(mainActiveShipping.ShippingMethod.Name, mainActiveShipping.DeliveryDaysInfo) : string.Empty,
                    //ShippingProviderName = ShipmentProviderHelper.GetName((ShipmentProviderType)shipmentProviderType),
                    //ShippingDate = activeShippings.Where(i => i.IsActive).Max(i => i.ShippingDate),

                    //DeliveryDate = mainActiveShipping != null ? mainActiveShipping.ActualDeliveryDate : null,
                    //DeliveryStatus = GetDeliveryStatus(order.LatestDeliveryDate,
                    //    mainActiveShipping != null ? mainActiveShipping.ActualDeliveryDate : null,
                    //    mainActiveShipping != null ? mainActiveShipping.TrackingStateDate : null,
                    //    mainActiveShipping != null ? mainActiveShipping.DeliveredStatus == (int)DeliveredStatusEnum.DeliveredToSender : false),

                    Refunds = refundRequestList,

                    Items = order.Items.Select(i => new OrderItemViewModel(i, false, false)).ToList(),

                    ToAddress = address,
                });
            }
        }
Beispiel #14
0
        static void Main(string[] args)
        {
            Search = new OrderSearchFilter<Order>(CreateSampleData());

            //create search
            DateTime from = new DateTime(2015, 1, 1);
            //Search.TxNumber = 2;
            Search.TransactionDateFrom = from;
            Search.MaxBigTicketItemPrice = 1000m;
            Search.SortDir = "Desc";
            Search.SortField = "TxNumber";
            //Search.CustomerName = "Jill";

            //Run search
            Console.WriteLine("Running search...");
            Search.GetResults();
            Console.WriteLine("Result transaction numbers:");
            foreach (var o in Search.Results)
                Console.WriteLine(o.TxNumber);
            Console.ReadKey();
        }