Пример #1
0
        public void GetOrderByIdAsync_GetFromCache_Test()
        {
            // Arrange
            var          createTime      = DateTime.Now;
            Order        order           = _dataFixture.GetOrder(createTime);
            long         orderId         = 0;
            List <Order> cachedOrderList = new List <Order> {
                order
            };

            _dataFixture.GetMocks <Order>(out var mockRepository, out var mockCacheManager, out var mockOptions);

            mockCacheManager
            .Setup(cache => cache.GetFromCacheAsync <List <Order> >(It.IsAny <string>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(cachedOrderList);

            mockRepository
            .Setup(repo => repo.GetAsync <Order>(order => order.Sid == orderId, CancellationToken.None))
            .ReturnsAsync((Order)null);

            var customerFacade = new OrderFacade(mockRepository.Object, mockCacheManager.Object, mockOptions.Object);

            // Act
            var result = customerFacade.GetOrderByIdAsync(orderId, CancellationToken.None).Result;

            // Assert
            Assert.NotNull(result);
            Assert.Null(result.Products);
            Assert.Null(result.FeedbackSid);
            Assert.Equal(createTime, result.CreateTime);
            Assert.Equal(0, result.CustomerSid);
            Assert.Equal(0, result.Sid);
        }
Пример #2
0
        private void InitViewPanel()
        {
            this.txtOrderCodeQuery.Text     = OrderNO;
            this.txtOrderCodeQuery.ReadOnly = true;

            this.txtOrderEdit.Text     = OrderNO;
            this.txtOrderEdit.ReadOnly = true;

            this.drpOrderStatusEdit.Items.Clear();
            this.drpOrderStatusEdit.Items.Add(new ListItem("", ""));
            this.drpOrderStatusEdit.Items.Add(new ListItem(languageComponent1.GetString(OrderStatus.InProcess), OrderStatus.InProcess));
            this.drpOrderStatusEdit.Items.Add(new ListItem(languageComponent1.GetString(OrderStatus.Completed), OrderStatus.Completed));
            if (_orderFacade == null)
            {
                _orderFacade = new  FacadeFactory(base.DataProvider).CreateOrderFacade();
            }
            Object obj = _orderFacade.GetOrder(OrderNO);

            this.drpOrderStatusEdit.SelectedValue = (obj as Order).OrderStatus;
            this.drpOrderStatusEdit.Enabled       = false;

            this.txtPlanDateEdit.Text   = FormatHelper.ToDateString((obj as Order).PlanShipDate);
            this.txtPlanDateEdit.Enable = "false";

            this.txtActDateEdit.Text = FormatHelper.ToDateString(FormatHelper.TODateInt(DateTime.MaxValue));
        }
Пример #3
0
        private void LoadOrder()
        {
            OrderInfoDto order = null;

            if (!string.IsNullOrEmpty(OrderNumber))
            {
                using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
                {
                    OrderFacade facade = new OrderFacade(uow);
                    order = facade.RetrieveOrderInfo(OrderNumber, new OrderInfoConverter());
                }

                if (order != null)
                {
                    lblMsg.Visible  = false;
                    ucOrder.Visible = true;
                    ucOrder.LoadData(order);
                }
                else
                {
                    lblMsg.Visible  = true;
                    ucOrder.Visible = false;
                }
            }
        }
Пример #4
0
 protected void ucIDetail_ChildListInstanceRowSaving(object sender, InstanceRowSavingEventArgs e)
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
     {
         switch ((InstanceTypes)Enum.Parse(typeof(InstanceTypes), e.InstanceType))
         {
         case InstanceTypes.OrderItem:
             OrderFacade  facade       = new OrderFacade(uow);
             OrderItemDto orderItemDto = e.Instance as OrderItemDto;
             // Save data
             IFacadeUpdateResult <OrderData> result = facade.SaveOrderItem(CurrentInstance.Id, orderItemDto);
             e.IsSuccessful = result.IsSuccessful;
             if (result.IsSuccessful)
             {
                 // Refresh
                 OrderDto savedParentInstance = result.ToDto(new OrderConverter());
                 CurrentInstance.OrderItems = savedParentInstance.OrderItems;
             }
             else
             {
                 // Deal with Update result
                 ProcUpdateResult(result.ValidationResult, result.Exception);
             }
             break;
         }
     }
 }
Пример #5
0
        private void SimpleOrder(bool isOperator)
        {
            if (isOperator)
            {
                UserFacade.LoginOperator();
            }
            else
            {
                UserFacade.LoginUser();
            }

            CartFacade.AddProduct("900219191");
            CartFacade.EnterCart();

            Assert.IsTrue(Selenium.IsElementPresent("//input[@alt='Оформить заказ'][2]") == isOperator);
            //Видимость кнопки "Заказ в 1 шаг"

            OrderFacade.ProceedStep1("630091");
            OrderFacade.ProceedStep2(DevliveryType.Shop);
            OrderFacade.ProceedStep3("Joe Doe");

            Assert.IsFalse(Selenium.IsElementPresent("//input[@type='checkbox'][1]") == isOperator);
            //Видимость радио-кнопки "Сохранить параметры заказа"

            OrderFacade.ProceedStep4();

            Assert.IsTrue(OrderFacade.IsGoodOrder());
        }
        private void btnModify_Click(object sender, System.EventArgs e)
        {
            //修改
            try
            {
                OrderBook order = new OrderBook();
                order.cnvcOperID        = oper.strLoginID;
                order.cnvcOrderType     = ddlOrderType.SelectedValue;
                order.cnvcProduceDeptID = ddlProduceDept.SelectedValue;
                order.cnvcOrderDeptID   = ddlSalesRoom.SelectedValue;

                if (order.cnvcOrderType == "WDO")
                {
                    order.cndArrivedDate  = DateTime.Parse(txtArrivedDate.Text);
                    order.cnvcLinkPhone   = txtLinkPhone.Text;
                    order.cnvcShipAddress = txtShipAddress.Text;
                    order.cnvcCustomName  = txtCustomName.Text;
                }
                order.cnnOrderSerialNo = decimal.Parse(txtOrderSerialNo.Text);
                order.cndShipDate      = DateTime.Parse(txtShipDate.Text);

                OperLog operLog = new OperLog();
                operLog.cnvcOperID   = oper.strLoginID;
                operLog.cnvcDeptID   = oper.strDeptID;
                operLog.cnvcOperType = "修改订单";

                OrderFacade orderFacade = new OrderFacade();
                orderFacade.UpdateOrder(order, operLog);
                Popup("修改成功");
            }
            catch (Exception ex)
            {
                Popup(ex.Message);
            }
        }
Пример #7
0
        protected override object GetEditObject()
        {
            if (_orderFacade == null)
            {
                _orderFacade = new  FacadeFactory(base.DataProvider).CreateOrderFacade();
            }
            OrderDetail orderDetail = this._orderFacade.CreateNewOrderDetail();

            orderDetail.OrderNumber = this.txtOrderEdit.Text;
            orderDetail.PartnerCode = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtPartnerCodeEdit.Text));
            orderDetail.ItemCode    = FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtItemEdit.Text));

            ItemFacade itemfacade = new  FacadeFactory(base.DataProvider).CreateItemFacade();
            Object     item       = itemfacade.GetItem(FormatHelper.PKCapitalFormat(FormatHelper.CleanString(this.txtItemEdit.Text)), GlobalVariables.CurrentOrganizations.First().OrganizationID);

            orderDetail.ItemName = (item as Item).ItemName;

            orderDetail.PlanDate     = FormatHelper.TODateInt(this.txtPlanDateEdit.Text);
            orderDetail.PlanQTY      = Convert.ToDecimal(this.txtPlanQTYEdit.Text);
            orderDetail.ActDate      = FormatHelper.TODateInt(this.txtActDateEdit.Text.Trim());
            orderDetail.ActQTY       = Convert.ToDecimal(this.txtActQTYEdit.Text.Trim());
            orderDetail.MaintainUser = this.GetUserCode();

            return(orderDetail);
        }
Пример #8
0
        private void btnOK_Click(object sender, System.EventArgs e)
        {
            try
            {
                DataTable   dtOrderReduce    = (DataTable)Session["ProductList"];
                OrderFacade order            = new OrderFacade();
                string      strOrderSerialNo = txtOrderSerialNo.Text;
                OperLog     operLog          = new OperLog();
                operLog.cnvcOperID   = oper.strLoginID;
                operLog.cnvcDeptID   = oper.strDeptID;
                operLog.cnvcOperType = "减单";

                order.OrderReduce(strOrderSerialNo, ddlReduceType.SelectedValue, txtReduceComments.Text, dtOrderReduce, operLog);
                Session["ProductList"] = null;
                btnCancel_Click(null, null);
                btnOK.Visible = false;
                Popup("减单成功");

                DataTable dtOrderBookDetail = (DataTable)Session["ProductList"];
                this.DataGrid2.DataSource = dtOrderBookDetail;
                this.DataGrid2.DataBind();
            }
            catch (Exception ex)
            {
                Popup(ex.Message);
            }
        }
Пример #9
0
 private void RetrieveData()
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
     {
         OrderFacade facade = new OrderFacade(uow);
         RetrieveInstances(facade);
     }
 }
Пример #10
0
 private void PerformSearch(OrderCriteria criteria)
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
     {
         OrderFacade facade = new OrderFacade(uow);
         Orders = facade.SearchOrders(criteria, new OrderBriefInfoConverter());
     }
 }
Пример #11
0
        private static OrderFacade CreateOrderFacadeForReservationTesting(Mock <IRepository <Song> > productRepositoryMock = null)
        {
            var uowMock            = FacadeMockManager.ConfigureUowMock();
            var mapper             = FacadeMockManager.ConfigureRealMapper();
            var reservationService = new ReservationService(mapper, productRepositoryMock?.Object ?? new Mock <IRepository <Song> >().Object);
            var OrderFacade        = new OrderFacade(uowMock.Object, null, null, reservationService);

            return(OrderFacade);
        }
Пример #12
0
        static void Main(string[] args)
        {
            var mediator = new PostSaintNicholasMediator();

            var orderFacade = new OrderFacade();
            var orders      = orderFacade.GetOrdersForSaintNicholas();

            orders.ForEach(order => mediator.PostOffice.SendPostProduct(order));
        }
Пример #13
0
 protected override int GetRowCount()
 {
     if (_orderFacade == null)
     {
         _orderFacade = new  FacadeFactory(base.DataProvider).CreateOrderFacade();
     }
     return(_orderFacade.QueryOrderDetailCount(
                "", "", FormatHelper.PKCapitalFormat(FormatHelper.CleanString(OrderNO))));
 }
Пример #14
0
        public async Task <ActionResult> Detail(int id)
        {
            var result = new OrderDetail
            {
                order     = await OrderFacade.GetAsyncWithDependencies(id),
                menuItems = await CompanyFacade.GetAllMenuItems(User.Identity.Name)
            };

            return(View("Detail", result));
        }
Пример #15
0
 private void RetrieveData()
 {
     using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
     {
         OrderFacade facade   = new OrderFacade(uow);
         OrderDto    instance = facade.RetrieveOrNewOrder(InstanceId, new OrderConverter());
         CurrentInstance         = instance;
         ucIEdit.CurrentInstance = instance;
     }
 }
Пример #16
0
        public void OperatorQuickOrderTest()
        {
            /*
             * Оформление заказа в 1 шаг работает -- в конце поздравляют с успешным заказом.
             */
            UserFacade.LoginOperator();
            CartFacade.AddProduct("900219191");
            OrderFacade.ProceedQuickOrder("Joe Doe");

            Assert.IsTrue(OrderFacade.IsGoodOrder());
        }
Пример #17
0
 protected override object[] LoadDataSource(int inclusive, int exclusive)
 {
     if (_orderFacade == null)
     {
         _orderFacade = new  FacadeFactory(base.DataProvider).CreateOrderFacade();
     }
     return(this._orderFacade.QueryOrderDetail(
                "", "",
                FormatHelper.PKCapitalFormat(FormatHelper.CleanString(OrderNO)),
                inclusive, exclusive));
 }
Пример #18
0
        public void NonExistentIndexTest()
        {
            /*
             * При вводе неизвестного индекса на 1 шаге -- текстовое предупреждение в диалоге.
             */
            UserFacade.LoginOperator();
            CartFacade.AddProduct("900219191");
            OrderFacade.ProceedStep1("030091");

            Assert.IsTrue(OrderFacade.IsNonExistentIndex());
        }
Пример #19
0
        private static OrderFacade CreateOrderFacade(Mock <IRepository <Song> > productRepositoryMock, Mock <QueryObjectBase <RateSongDto, RateSong, RateSongFilterDto, IQuery <RateSong> > > RateSongQueryMock, Mock <QueryObjectBase <RatingDto, Rating, RatingFilterDto, IQuery <Rating> > > OrderQueryMock, Mock <IRepository <Rating> > OrderRepositoryMock, Mock <IRepository <RateSong> > RateSongRepositoryMock, Mock <IRepository <Artist> > customerRepositoryMock, ReservationService productReservationService = null)
        {
            var uowMock         = FacadeMockManager.ConfigureUowMock();
            var mapper          = FacadeMockManager.ConfigureRealMapper();
            var salesService    = new SalesService(mapper, RateSongQueryMock.Object, OrderQueryMock.Object);
            var checkoutService = new CheckoutService(mapper, new List <IPriceCalculator> {
                new PercentagePriceCalculator(), new Value3Plus1PriceCalculator()
            }, OrderRepositoryMock.Object, RateSongRepositoryMock.Object, customerRepositoryMock.Object, productRepositoryMock.Object);
            var reservationService = productReservationService ?? new ReservationService(mapper, productRepositoryMock.Object);
            var OrderFacade        = new OrderFacade(uowMock.Object, checkoutService, salesService, reservationService);

            return(OrderFacade);
        }
Пример #20
0
 protected override void UpdateDomainObject(object domainObject)
 {
     if (this.drpOrderStatusEdit.SelectedValue == OrderStatus.Completed)
     {
         ExceptionManager.Raise(this.GetType().BaseType, "$Error_Order_Completed_Detail_CANNOT_Update");
         return;
     }
     if (_orderFacade == null)
     {
         _orderFacade = new  FacadeFactory(base.DataProvider).CreateOrderFacade();
     }
     this._orderFacade.UpdateOrderDetail((OrderDetail)domainObject);
 }
Пример #21
0
        private void LoadSelectedOrder(object orderId)
        {
            OrderInfoDto order = null;

            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                OrderFacade facade = new OrderFacade(uow);
                order = facade.RetrieveOrderInfo(orderId, new OrderInfoConverter());
                order.OrderCommands = facade.GetOrderCommands(order.StatusId);
            }

            LoadOrderInfo(order);
        }
Пример #22
0
 private void RetrieveInstances(OrderFacade facade)
 {
     if (CurrentUserContext.IsAdmin || CurrentUserContext.IsEmployee)
     {
         CurrentInstances = facade.RetrieveAllOrder(new OrderConverter());
     }
     else if (CurrentUserContext.IsSupplier)
     {
         CurrentInstances = facade.RetrieveOrdersBySupplier(CurrentUserContext.User.MatchId, new OrderConverter());
     }
     else if (CurrentUserContext.IsCustomer)
     {
         CurrentInstances = facade.RetrieveOrdersByCustomer(CurrentUserContext.User.MatchId, new OrderConverter());
     }
 }
Пример #23
0
        private void ProcOrder(OrderCommand command)
        {
            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                OrderFacade facade = new OrderFacade(uow);
                IFacadeUpdateResult <OrderData> result = null;

                switch (command)
                {
                case OrderCommand.Accept:
                    result = facade.OrderAccept(Order.OrderId);
                    break;

                case OrderCommand.Reject:
                    result = facade.OrderReject(Order.OrderId);
                    break;

                case OrderCommand.Delivering:
                    result = facade.OrderDelivering(Order.OrderId);
                    break;

                case OrderCommand.Complete:
                    result = facade.OrderComplete(Order.OrderId);
                    break;

                case OrderCommand.Incomplete:
                    result = facade.OrderIncomplete(Order.OrderId);
                    break;
                }

                if (result.IsSuccessful)
                {
                    // retrieve saved order info
                    // remove this line on May.23, move retrieve action to caller page
                    //Order = facade.RetrieveOrderInfo(Order.OrderId, new OrderInfoConverter());
                    if (OrderChanged != null)
                    {
                        InstanceChangedEventArgs arg = new InstanceChangedEventArgs(Order);
                        OrderChanged(this, arg);
                    }
                }
                else
                {
                    // Deal with Update result
                    //ProcUpdateResult(result.ValidationResult, result.Exception);
                }
            }
        }
Пример #24
0
        private bool islink = false; //是否是其他页面链接过来的
        #endregion

        #region 初始化加载

        public OrderManagement()
        {
            InitializeComponent();

            this.Loaded += (sender, e) =>
            {
                OrderFacade service = new OrderFacade(this);
                this.FilterVM = new OrderQueryVM();
                if (!string.IsNullOrEmpty(Request.Param))
                {
                    islink = true;
                    FilterVM.OrderSysNoList = Request.Param;
                    this.dgOrderQueryResult.QueryCriteria = Newegg.Oversea.Silverlight.Utilities.UtilityHelper.DeepClone <OrderQueryVM>(this.FilterVM);
                    this.dgOrderQueryResult.Bind();
                }
            };
        }
Пример #25
0
        public void BadIndexTest()
        {
            /*
             * При вводе плохого индекса на 1 шаге -- предупреждение: знак "!".
             */
            UserFacade.LoginUser();
            CartFacade.AddProduct("900219191");

            OrderFacade.ProceedStep1("");
            Assert.IsTrue(OrderFacade.IsWrongIndex());             // Знак "!"

            OrderFacade.ProceedStep1("xxx");
            Assert.IsTrue(OrderFacade.IsWrongIndex());             // Знак "!"

            OrderFacade.ProceedStep1("000");
            Assert.IsTrue(OrderFacade.IsWrongIndex());             // Знак "!"
        }
Пример #26
0
 public void TestInitialize()
 {
     //*firefoxchrome
     //*iexplore
     //*opera
     //*safari
     //*googlechrome
     Selenium = new SeleniumDecorator("localhost", 4444, @"*iexplore", "http://bookean-dev/");
     //_selenium = new DefaultSelenium("localhost", 4444, @"*firefoxJ:\Program Files\Mozilla Firefox\firefox.exe", "http://bookean-dev/");
     Selenium.Start();
     Selenium.SetTimeout("50000");
     ProductListFacade   = new ProductListFacade(Selenium);
     UserFacade          = new UserFacade(Selenium);
     CartFacade          = new CartFacade(Selenium);
     OrderFacade         = new OrderFacade(Selenium);
     SearchFacade        = new SearchFacade(Selenium);
     _verificationErrors = new StringBuilder();
 }
Пример #27
0
        private IEnumerable <OrderBriefInfoDto> RetrieveNewOrders()
        {
            IEnumerable <OrderBriefInfoDto> instances = new List <OrderBriefInfoDto>();

            using (IUnitOfWork uow = UnitOfWorkFactory.Instance.Start(DataStoreResolver.CRMDataStoreKey))
            {
                OrderFacade facade = new OrderFacade(uow);
                if (CurrentUserContext.IsSuperAdmin)
                {
                    instances = facade.RetrieveOrdersByStatus(OrderStatuses.Open, new OrderBriefInfoConverter());
                }
                else if (CurrentUserContext.IsSupplier)
                {
                    instances = facade.RetrieveOrdersBySupplierAndStatus(CurrentUserContext.User.MatchId, OrderStatuses.Open, new OrderBriefInfoConverter());
                }
            }
            return(instances);
        }
Пример #28
0
        protected override object GetEditObject(Infragistics.WebUI.UltraWebGrid.UltraGridRow row)
        {
            if (_orderFacade == null)
            {
                _orderFacade = new  FacadeFactory(base.DataProvider).CreateOrderFacade();
            }
            object obj = _orderFacade.GetOrderDetail(
                row.Cells.FromKey("PartnerCode").Text.ToString(),
                row.Cells.FromKey("ItemCode").Text.ToString(),
                FormatHelper.PKCapitalFormat(FormatHelper.CleanString(OrderNO)));

            if (obj != null)
            {
                return((OrderDetail)obj);
            }

            return(null);
        }
Пример #29
0
        public void OrderBackBackTest()
        {
            /*
             * Работает переход в обратную сторону по всем шагам визарда
             */
            UserFacade.LoginUser();
            CartFacade.AddProduct("900219191");

            OrderFacade.ProceedStep1("630091");
            OrderFacade.ProceedStep2(DevliveryType.Shop);
            OrderFacade.ProceedStep3("John Doe");

            OrderFacade.BackToStep3();
            OrderFacade.BackToStep2();
            OrderFacade.BackToStep1();

            Assert.IsTrue(Selenium.GetValue("//input[@class='text'][@type='text']") == "630091");
        }
Пример #30
0
        private void DataGrid2_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
        {
            try
            {
                string strCount = ((TextBox)e.Item.Cells[8].Controls[0]).Text;

                if (this.JudgeIsNull(strCount, "数量"))
                {
                    return;
                }
                if (!this.JudgeIsNum(strCount, "数量"))
                {
                    return;
                }
                if (decimal.Parse(strCount) <= 0)
                {
                    Popup("数量必需大于零");
                    return;
                }


                OrderBookDetail detail = new OrderBookDetail();
                detail.cnnOrderSerialNo = decimal.Parse(txtOrderSerialNo.Text);
                detail.cnvcProductCode  = e.Item.Cells[3].Text;
                detail.cnnOrderCount    = decimal.Parse(((TextBox)e.Item.Cells[8].Controls[0]).Text);
                detail.cnvcOperID       = oper.strLoginID;

                OperLog operLog = new OperLog();
                operLog.cnvcOperID   = oper.strLoginID;
                operLog.cnvcDeptID   = oper.strDeptID;
                operLog.cnvcOperType = "订单修改产品";

                OrderFacade order = new OrderFacade();
                order.UpdateDetail(detail, operLog);
                Popup("修改成功");
                this.DataGrid2.EditItemIndex = -1;
                BindDetail(txtOrderSerialNo.Text);
            }
            catch (Exception ex)
            {
                Popup(ex.Message);
            }
        }