Exemplo n.º 1
0
        public IPagedList <AmazonOrder> Search(AmazonOrderSearchModel model)
        {
            var queryOver = _session.QueryOver <AmazonOrder>();

            if (!String.IsNullOrWhiteSpace(model.SearchText))
            {
                queryOver = queryOver.Where(o => o.AmazonOrderId.IsInsensitiveLike(model.SearchText, MatchMode.Anywhere) ||
                                            o.BuyerName.IsInsensitiveLike(model.SearchText, MatchMode.Anywhere) ||
                                            o.BuyerEmail.IsInsensitiveLike(model.SearchText, MatchMode.Anywhere));
            }

            if (model.DateFrom.HasValue)
            {
                queryOver = queryOver.Where(o => o.PurchaseDate > model.DateFrom);
            }

            if (model.DateTo.HasValue)
            {
                queryOver = queryOver.Where(o => o.PurchaseDate < model.DateTo);
            }

            if (model.ShippingStatus.HasValue)
            {
                queryOver = queryOver.Where(o => o.Status == model.ShippingStatus.GetEnumByValue <AmazonOrderStatus>());
            }

            return(queryOver.OrderBy(o => o.Id).Desc.Paged(model.Page));
        }
Exemplo n.º 2
0
        public IPagedList <AmazonOrder> Search(AmazonOrderSearchModel model, int page = 1, int pageSize = 10)
        {
            var query = new AmazonOrderSearchQuery(model);

            return(_orderSearcher.Search(query.GetQuery(), page, pageSize, query.GetFilter(),
                                         new Sort(new SortField("id", SortField.INT, true))));
        }
Exemplo n.º 3
0
 public AmazonOrderSearchQuery(AmazonOrderSearchModel model)
 {
     SearchText = model.SearchText;
     OrderId    = model.AmazonOrderId;
     DateFrom   = model.DateFrom;
     DateTo     = model.DateTo;
     Status     = model.ShippingStatus;
 }
Exemplo n.º 4
0
        public void OrdersController_Orders_ShouldCallSearch()
        {
            var dateTime = DateTime.Now;
            var model    = new AmazonOrderSearchModel()
            {
                DateFrom       = dateTime,
                DateTo         = dateTime,
                ShippingStatus = ShippingStatus.Pending
            };

            var result = _ordersController.Orders(model);

            A.CallTo(() => _amazonOrderSearchService.Search(model, model.Page, _ecommerceSettings.DefaultPageSize)).MustHaveHappened();
        }
        public void OrdersController_Index_ShouldCallSearch()
        {
            var dateTime = DateTime.Now;
            var model    = new AmazonOrderSearchModel()
            {
                DateFrom       = dateTime,
                DateTo         = dateTime,
                ShippingStatus = ShippingStatus.Pending
            };

            var result = _ordersController.Index(model);

            A.CallTo(() => _amazonOrderSearchService.Search(model)).MustHaveHappened();
        }
Exemplo n.º 6
0
 private AmazonOrderSearchModel PrepareModel(AmazonOrderSearchModel model)
 {
     ViewData["AmazonOrderDetailsUrl"] = _amazonAppSettings.AmazonOrderDetailsUrl;
     ViewData["ShippingStatuses"]      = GeneralHelper.GetEnumOptionsWithEmpty <ShippingStatus>();
     model.Results = new PagedList <AmazonOrder>(null, 1, _ecommerceSettings.DefaultPageSize);
     try
     {
         model.Results = _amazonOrderSearchService.Search(model);
     }
     catch (Exception)
     {
         model.Results = _amazonOrderService.Search();
     }
     return(model);
 }
Exemplo n.º 7
0
 public ActionResult Orders(AmazonOrderSearchModel model)
 {
     return(PartialView(PrepareModel(model)));
 }
Exemplo n.º 8
0
 public ActionResult Index(AmazonOrderSearchModel model)
 {
     ViewData["AmazonManageOrdersUrl"] = _amazonAppSettings.AmazonManageOrdersUrl;
     return(View(PrepareModel(model)));
 }