コード例 #1
0
 public bool SaveShip(ShippingSaleCreateDto dto)
 {
     try
     {
         return(RestClient.Post("trans/CreateShippingSale", dto));
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
コード例 #2
0
        public void TestCreate()
        {
            ShippingSaleCreateDto dto = new ShippingSaleCreateDto();

            dto.OrderNo = "114042236511";
            dto.SaleOrderIDs.Add("114042236511-001");
            dto.ShipViaID    = 38;
            dto.ShipViaName  = "中通";
            dto.ShippingFee  = 123123;
            dto.ShippingCode = "werdf";
            var bl = Service.CreateShippingSale(1, dto);
        }
コード例 #3
0
        /// <summary>
        /// 生成快递单
        /// </summary>
        private void OnExpressReceiptCreate()
        {
            if (SelectedDeliveryOrderForExpress == null)
            {
                MvvmUtility.ShowMessageAsync("请选择一张发货单", "提示", MessageBoxButton.OK, MessageBoxImage.Warning);
                return;
            }

            ShippingSaleCreateDto.ValidateProperties();
            if (ShippingSaleCreateDto.HasErrors)
            {
                return;
            }

            ShippingSaleCreateDto.DeliveryOrderId = SelectedDeliveryOrderForExpress.Id;
            DeliveryOrderService.Update <ExpressReceiptCreationDTO>(SelectedDeliveryOrderForExpress, ShippingSaleCreateDto);

            SelectedDeliveryOrderForExpress.ShipViaId         = ShippingSaleCreateDto.ShipViaID;
            SelectedDeliveryOrderForExpress.ExpressCode       = ShippingSaleCreateDto.ShippingNo;
            SelectedDeliveryOrderForExpress.ShipViaExpressFee = ShippingSaleCreateDto.ShippingFee;
            SelectedDeliveryOrderForExpress.ShipCompanyName   = ShippingViaList.Where(shippingVia => shippingVia.Id == ShippingSaleCreateDto.ShipViaID).First().Name;

            ShippingSaleCreateDto.ShippingNo = null;
        }
コード例 #4
0
        public bool CreateShippingSale(int userId, ShippingSaleCreateDto shippingSaleDto)
        {
            var dt   = DateTime.Now;
            var user = _accountService.GetByUserID(userId);

            _orderRepository.SetCurrentUser(user);

            _shippingSaleRepository.SetCurrentUser(user);
            _sectionRepository.SetCurrentUser(user);
            _saleRepository.SetCurrentUser(user);

            var order = _orderRepository.GetOrderByOrderNo(shippingSaleDto.OrderNo);

            foreach (var saleID in shippingSaleDto.SaleOrderIDs)
            {
                var     saleOrder = _saleRepository.GetBySaleNo(saleID);
                Section section   = null;;
                if (saleOrder != null)
                {
                    section = _sectionRepository.GetByID((int)saleOrder.SectionId);
                }

                var sale = new OPC_ShippingSale();
                sale.CreateDate = dt;
                sale.CreateUser = userId;
                sale.UpdateDate = dt;
                sale.UpdateUser = userId;
                sale.OrderNo    = shippingSaleDto.OrderNo;

                sale.ShipViaId             = shippingSaleDto.ShipViaID;
                sale.ShippingCode          = shippingSaleDto.ShippingCode;
                sale.ShippingFee           = (decimal)(shippingSaleDto.ShippingFee);
                sale.ShippingStatus        = EnumSaleOrderStatus.PrintInvoice.AsId();
                sale.ShipViaName           = shippingSaleDto.ShipViaName;
                sale.ShippingAddress       = order.ShippingAddress;
                sale.ShippingContactPerson = order.ShippingContactPerson;
                sale.ShippingContactPhone  = order.ShippingContactPhone;
                if (section != null)
                {
                    sale.StoreId = section.StoreId;
                }

                //sale.BrandId = order.BrandId;


                //验证是否已经生成过发货单
                var lst = _shippingSaleRepository.GetBySaleOrderNo(saleID);

                if (lst != null)
                {
                    throw new ShippingSaleExistsException(shippingSaleDto.ShippingCode);
                }
                //验证发货单号 是否重复
                var e = _shippingSaleRepository.GetByShippingCode(shippingSaleDto.ShippingCode, 1, 1);
                if (e.TotalCount > 0)
                {
                    throw new ShippingSaleExistsException(shippingSaleDto.ShippingCode);
                }

                var pSale = _saleRepository.GetBySaleNo(saleID);
                pSale.ShippingCode   = sale.ShippingCode;
                pSale.ShippingStatus = sale.ShippingStatus;
                _saleRepository.Update(pSale);

                var bl = _shippingSaleRepository.Create(sale);
                _saleRepository.UpdateSatus(saleID, EnumSaleOrderStatus.PrintExpress, userId);
            }

            return(true);
        }
コード例 #5
0
        public void CreatePackage(ShippingSaleCreateDto package, int uid)
        {
            using (var db = new YintaiHZhouContext())
            {
                var order = db.Orders.FirstOrDefault(x => x.OrderNo == package.OrderNo);
                if (order == null)
                {
                    throw new PackageException("订单无效");
                }

                var shippingSale =
                    db.OPC_ShippingSales.FirstOrDefault(
                        x => x.OrderNo == package.OrderNo && x.ShippingCode == package.ShippingCode);
                if (shippingSale != null)
                {
                    shippingSale.ShippingCode = package.ShippingCode;
                    shippingSale.ShipViaName  = package.ShipViaName;
                    shippingSale.ShipViaId    = package.ShipViaID;
                    shippingSale.ShippingFee  = package.ShippingFee;
                    shippingSale.UpdateDate   = DateTime.Now;
                    shippingSale.UpdateUser   = uid;
                    db.SaveChanges();
                }
                else
                {
                    shippingSale = new OPC_ShippingSale()
                    {
                        CreateDate            = DateTime.Now,
                        CreateUser            = uid,
                        UpdateDate            = DateTime.Now,
                        UpdateUser            = uid,
                        OrderNo               = package.OrderNo,
                        ShipViaId             = package.ShipViaID,
                        ShippingCode          = package.ShippingCode,
                        ShippingFee           = (decimal)(package.ShippingFee),
                        ShippingStatus        = EnumSaleOrderStatus.PrintInvoice.AsId(),
                        ShipViaName           = package.ShipViaName,
                        ShippingAddress       = order.ShippingAddress,
                        ShippingContactPerson = order.ShippingContactPerson,
                        ShippingContactPhone  = order.ShippingContactPhone,
                        //StoreId = section.StoreId,
                    };
                    shippingSale = db.OPC_ShippingSales.Add(shippingSale);
                    db.SaveChanges();
                }

                using (var ts = new TransactionScope())
                {
                    foreach (var saleOrderNo in package.SaleOrderIDs)
                    {
                        var saleOrder = db.OPC_Sales.FirstOrDefault(x => x.SaleOrderNo == saleOrderNo);
                        if (saleOrder == null)
                        {
                            continue;
                            //throw new PackageException("包裹中包含无效的销售单");
                        }
                        saleOrder.ShippingSaleId = shippingSale.Id;
                        saleOrder.ShipViaId      = package.ShipViaID;
                        saleOrder.ShippingCode   = package.ShippingCode;
                        saleOrder.ShippingStatus = shippingSale.ShippingStatus;
                        saleOrder.UpdatedDate    = DateTime.Now;
                        saleOrder.UpdatedUser    = uid;
                        saleOrder.Status         = (int)EnumSaleOrderStatus.PrintExpress;
                        saleOrder.ShippingFee    = package.ShippingFee;
                        db.SaveChanges();
                    }
                    ts.Complete();
                }
            }
        }
コード例 #6
0
 public IHttpActionResult CreateShippingSale([FromBody] ShippingSaleCreateDto shippingSaleDto, [UserId] int uid)
 {
     return(DoAction(() => _expressService.CreatePackage(shippingSaleDto, uid)));
 }