示例#1
0
        public object SetActivityId(SetActivityRequest requestParams)
        {
            var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);

            shoppingcart.SetActivityId(requestParams.ActivityId);
            ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            return(null);
        }
示例#2
0
        public SuspendList RemoveHandBill([FromBody] HandBillRequest requestParams)
        {
            var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            var result       = SaleSuspend.Remove(shoppingcart, requestParams.OrderSn);

            ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            return(result);
        }
示例#3
0
        public MemberInfo SetMember(SetMemberRequest requestParams)
        {
            var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            var memnerInfo   = shoppingcart.SetMember(requestParams.CardNo, requestParams.Phone, requestParams.To);

            ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            return(memnerInfo);
        }
示例#4
0
        public OrdersDetails ClearOrder([FromBody] MachineInfo requestParams)
        {
            var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);

            shoppingcart.Clear();
            var result = new OrdersDetails()
            {
                BuyList    = shoppingcart.GetBuyList(),
                Gifts      = new List <GiftResult>(),
                Statistics = shoppingcart.GetSaleStatistics()
            };

            ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            return(result);
        }
示例#5
0
        public OrdersDetails SaleOrderEnableMarketing([FromBody] SaleEnableMarketingRequest requestParams)
        {
            var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);

            shoppingcart.EnableRangeMarketings = requestParams.EnableRangeMarketings;
            var result = new OrdersDetails()
            {
                BuyList    = shoppingcart.GetBuyList(),
                Gifts      = new List <GiftResult>(),
                Statistics = shoppingcart.GetSaleStatistics()
            };

            ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            return(result);
        }
示例#6
0
        public OrdersDetails ReadHandBill([FromBody] HandBillRequest requestParams)
        {
            var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            var barcodes     = SaleSuspend.Read(shoppingcart, requestParams.OrderSn);

            shoppingcart.RunMarketings();
            var result = new OrdersDetails()
            {
                BuyList    = shoppingcart.GetBuyList(),
                Gifts      = new List <GiftResult>(),
                Statistics = shoppingcart.GetSaleStatistics()
            };

            ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            return(result);
        }
示例#7
0
        public OrdersDetails SaleOrderRemove([FromBody] SaleRemoveRequest requestParams)
        {
            var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);

            shoppingcart.Remove(requestParams.Barcode, requestParams.Status, requestParams.HasEditPrice, requestParams.RecordId);
            shoppingcart.RunMarketings();
            var result = new OrdersDetails()
            {
                BuyList    = shoppingcart.GetBuyList(),
                Gifts      = new List <GiftResult>(),
                Statistics = shoppingcart.GetSaleStatistics()
            };

            ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            return(result);
        }
示例#8
0
        public OrdersDetails HandBill([FromBody] HandBillRequest requestParams)
        {
            var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);

            if (shoppingcart.RecordCount == 0)
            {
                throw new PosException("订单列表为空不能挂单!");
            }
            SaleSuspend.Suspend(shoppingcart);
            var result = new OrdersDetails()
            {
                BuyList    = shoppingcart.GetBuyList(),
                Gifts      = new List <GiftResult>(),
                Statistics = shoppingcart.GetSaleStatistics()
            };

            ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
            return(result);
        }
示例#9
0
        public object RequestPay()
        {
            var shoppingCart = ShoppingCartFactory.Factory(StoreId, MachineSn, CompanyId, DeviceSn);

            lock (SwiftNumber.LockObject)
            {
                var ordersn = new PayOrderSn(CompanyId, StoreId);
                shoppingCart.PayOrderSn = ordersn.ToString();
                ShoppingCartFactory.ResetCache(shoppingCart, StoreId, MachineSn, CompanyId, DeviceSn);
            }
            var p = GetRongHeDynamicQRCodePayRequestParameter(CompanyId, StoreId, MachineSn, shoppingCart.PayOrderSn, PayDetails.Amount, PayDetails.CardNo);

            RequestPayDate = DateTime.Now;
            var RongHeDynamicQRCodePayUrl = Path.Combine(ConfigurationManager.AppSettings["RongHeDynamicQRCodePay"].ToString(), "api/pay/scanpay");

            if (string.IsNullOrEmpty(RongHeDynamicQRCodePayUrl))
            {
                throw new PosException("支付配置不完整,无法完成支付!");
            }
            return(PostPay(RongHeDynamicQRCodePayUrl, p));
        }
示例#10
0
        public SaleManInfo SetSaleMan([FromBody] SetSaleManRequest requestParams)
        {
            switch (requestParams.Source)
            {
            case 0:
            {
                var shoppingcart = ShoppingCartFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
                var result       = shoppingcart.SetSaleMan(requestParams.SaleMan);
                ShoppingCartFactory.ResetCache(shoppingcart, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
                return(result);
            }

            case 1:
            case 2:
            {
                var orderChangeRefund = OrderChangeFactory.Factory(requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.Mode, requestParams.DeviceSn);
                var result            = orderChangeRefund.SetSaleMan(requestParams.SaleMan, requestParams.StoreId, requestParams.MachineSn, requestParams.CID, requestParams.DeviceSn);
                return(result);
            }

            default:
                throw new PosException("未能设置导购员,请重试!");
            }
        }