コード例 #1
0
 public void SaveOrderStepLog(Sender sender, OrderStepLog obj)
 {
     try
     {
         using (ObjectProxy op = new ObjectProxy(true))
         {
             if (op.LoadOrderStepLog(obj) == 0)
             {
                 //obj.Created = DateTime.Now;
                 //obj.CreatedBy = sender.UserCode + "." + sender.UserName;
                 op.InsertOrderStepLog(obj);
             }
             else
             {
                 //obj.Created = DateTime.Now;
                 //obj.CreatedBy = sender.UserCode + "." + sender.UserName;
                 op.UpdateOrderStepLogByStepID(obj);
             }
             op.CommitTransaction();
         }
     }
     catch (Exception ex)
     {
         PLogger.LogError(ex);
         throw ex;
     }
 }
コード例 #2
0
        public void OrdersPrize()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    Order order = p.Client.GetOrder(SenderUser, parm.OrderID);

                    if (order.Status.ToUpper() == OrderStatus.E.ToString())
                    {
                        SaveOrderArgs args = new SaveOrderArgs();

                        OrderStep    step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.ordersprice.ToString());
                        OrderStepLog ot   = new OrderStepLog();
                        ot.StepID         = Guid.NewGuid();
                        ot.OrderID        = order.OrderID;
                        ot.StepNo         = step.StepNo;
                        ot.StepName       = step.StepName;
                        ot.Remark         = string.Empty;
                        args.OrderStepLog = ot;

                        order.Status = OrderStatus.F.ToString();
                        order.StepNo = step.StepNo;
                        args.Order   = order;

                        List <OrderProduct> list = new List <OrderProduct>();
                        string   Cabinets        = Request["Cabinets"];
                        JsonData sj = JsonMapper.ToObject(Cabinets);
                        if (sj.Count > 0)
                        {
                            foreach (JsonData item in sj)
                            {
                                OrderProduct model = p.Client.GetOrderProduct(SenderUser, Guid.Parse(item["ProductID"].ToString()));
                                model.SalePrice = Decimal.Parse(item["SalePrice"].ToString());
                                list.Add(model);
                            }
                        }
                        args.OrderProducts = list;

                        p.Client.SaveOrder(SenderUser, args);
                        p.Client.UpdatePartnerOrder(args.Order);
                    }
                }
                WriteSuccess();
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }
コード例 #3
0
 public List <OrderStepLog> GetOrderStepLogByOrderID(Sender sender, Guid OrderID)
 {
     try
     {
         using (ObjectProxy op = new ObjectProxy())
         {
             OrderStepLog obj = new OrderStepLog();
             obj.OrderID = OrderID;
             return(op.LoadOrderStepLogByOrderID(obj));
         }
     }
     catch (Exception ex)
     {
         PLogger.LogError(ex);
         throw ex;
     }
 }
コード例 #4
0
        public void OrdersDesign()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    string OrderID = Request["OrderIDs"];
                    if (string.IsNullOrEmpty(OrderID))
                    {
                        throw new Exception("OrderID:参数无效");
                    }

                    Order order = p.Client.GetOrder(SenderUser, Guid.Parse(OrderID));

                    if (order.Status.ToUpper() == OrderStatus.D.ToString())
                    {
                        SaveOrderArgs args = new SaveOrderArgs();

                        OrderStep    step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.ordersdesign.ToString());
                        OrderStepLog ot   = new OrderStepLog();
                        ot.StepID         = Guid.NewGuid();
                        ot.OrderID        = order.OrderID;
                        ot.StepNo         = step.StepNo;
                        ot.StepName       = step.StepName;
                        ot.Remark         = string.Empty;
                        args.OrderStepLog = ot;

                        order.Status = OrderStatus.E.ToString();
                        order.StepNo = step.StepNo;
                        args.Order   = order;

                        p.Client.SaveOrder(SenderUser, args);
                        p.Client.UpdatePartnerOrder(args.Order);
                    }
                    WriteSuccess();
                }
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }
コード例 #5
0
 public OrderStepLog GetOrderStepLog(Sender sender, Guid StepID)
 {
     try
     {
         using (ObjectProxy op = new ObjectProxy())
         {
             OrderStepLog obj = new OrderStepLog();
             obj.StepID = StepID;
             if (op.LoadOrderStepLog(obj) == 0)
             {
                 return(null);
             }
             return(obj);
         }
     }
     catch (Exception ex)
     {
         PLogger.LogError(ex);
         throw ex;
     }
 }
コード例 #6
0
        public void SchedulingProductionOrder()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    SchedulingProductionOrderArgs args = new SchedulingProductionOrderArgs();

                    if (string.IsNullOrEmpty(Request["ProductionIDs"]))
                    {
                        throw new Exception("参数错误!");
                    }
                    string[] array = Request["ProductionIDs"].TrimEnd(',').Split(',');
                    for (int i = 0; i < array.Length; i++)
                    {
                        Guid            ProductionID    = new Guid(array[i]);
                        ProductionOrder productionorder = p.Client.GetProductionOrder(SenderUser, ProductionID);
                        if (productionorder == null)
                        {
                            throw new Exception(string.Format("订单{0}不存在!", productionorder.OrderNo));
                        }
                        if (productionorder.Status.Trim() != "N")
                        {
                            throw new Exception(string.Format("订单{0}已排单!", productionorder.OrderNo));
                        }

                        List <ProductComponent> componentlist = p.Client.GetProductComponentByOrderID(SenderUser, productionorder.OrderID);
                        if (componentlist.Count < 1)
                        {
                            throw new Exception(string.Format("订单{0}未查询到组件!", productionorder.OrderNo));
                        }
                        int ComponentTypeID = int.Parse(System.Configuration.ConfigurationManager.AppSettings["ComponentTypeID"]);
                        var SumAmount       = componentlist.Where(t => t.ComponentTypeID == ComponentTypeID).ToList().Sum(t => t.Amount);
                        if (SumAmount < 1)
                        {
                            throw new Exception("订单面积有误!");
                        }
                        ProductionSetDayDetail detail = p.Client.GetProductionSetDayDetailByMadeTotalAreal(SenderUser, SumAmount);
                        if (detail == null)
                        {
                            throw new Exception("请先进行排单参数设置!");
                        }
                        //排产记录
                        ProductionOrderScheduling scheduling = new ProductionOrderScheduling()
                        {
                            SchedulingID = Guid.NewGuid(),
                            OrderID      = productionorder.OrderID,
                            ProductionID = ProductionID,
                            DaysDetailID = detail.ID,
                            TotalAreal   = SumAmount,
                        };
                        args.ProductionOrderScheduling = scheduling;

                        //更新已排单量和未排单量
                        detail.MadeTotalAreal       = detail.MadeTotalAreal + SumAmount;
                        args.ProductionSetDayDetail = detail;

                        //更新生产订单状态,预计完工时间
                        productionorder.Status     = ProductionOrderStatus.Y.ToString();
                        productionorder.FinishDate = detail.Datetime;
                        args.ProductionOrder       = productionorder;

                        //订单日志
                        OrderStepLog ot = new OrderStepLog();
                        ot.StepID         = Guid.NewGuid();
                        ot.OrderID        = scheduling.OrderID;
                        ot.StepNo         = 0;
                        ot.StepName       = "订单已排单";
                        ot.Remark         = string.Format("预计完工日期:{0}", detail.Datetime.ToString("D"));
                        args.OrderStepLog = ot;

                        p.Client.SchedulingProductionOrder(SenderUser, args);
                    }
                }
                WriteSuccess();
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }
コード例 #7
0
        public void ImportPartnerOrder()
        {
            try
            {
                string OrderID = Request["OrderID"];
                if (string.IsNullOrEmpty(OrderID))
                {
                    throw new Exception("请选择订单类型");
                }
                if (CurrentUser.UserType == (int)UserType.D)
                {
                    throw new Exception("非法操作");
                }
                using (ProxyBE p = new ProxyBE())
                {
                    SaveOrderArgs args = new SaveOrderArgs();

                    PartnerOrder parm = p.Client.GetPartnerOrder(SenderUser, new Guid(OrderID));

                    //订单数据
                    Order order = new Order();
                    order.OrderID = parm.OrderID;
                    //order.OrderNo = parm.OrderNo;
                    order.PartnerID      = parm.PartnerID;
                    order.CustomerID     = parm.CustomerID;
                    order.OutOrderNo     = parm.OrderNo;
                    order.Address        = parm.Address;
                    order.CustomerName   = parm.CustomerName;
                    order.AttachmentFile = parm.AttachmentFile;
                    order.PartnerName    = parm.PartnerName;
                    order.SalesMan       = parm.SalesMan;
                    order.BookingDate    = parm.BookingDate;
                    order.Mobile         = parm.Mobile;
                    order.ShipDate       = parm.ShipDate;
                    order.OrderType      = parm.OrderType;
                    order.Remark         = parm.Remark;
                    order.Status         = OrderStatus.C.ToString();
                    order.StepNo         = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.importorder.ToString()).StepNo;
                    order.Created        = DateTime.Now;
                    order.CreatedBy      = SenderUser.UserCode + "." + SenderUser.UserName;
                    args.Order           = order;

                    //产品数据
                    List <PartnerOrderProduct> list     = p.Client.GetPartnerOrderProductByOrderID(SenderUser, new Guid(OrderID));
                    List <OrderProduct>        Products = new List <OrderProduct>();
                    foreach (PartnerOrderProduct item in list)
                    {
                        OrderProduct Product = new OrderProduct();
                        Product.OrderID          = order.OrderID;
                        Product.ProductID        = item.ProductID;
                        Product.ProductName      = item.ProductName;
                        Product.ProductGroup     = item.ProductGroup;
                        Product.Qty              = item.Qty;
                        Product.Price            = item.Price;
                        Product.Size             = item.Size;
                        Product.MaterialStyle    = item.MaterialStyle;
                        Product.Color            = item.Color;
                        Product.MaterialCategory = item.MaterialCategory;
                        Product.Unit             = item.Unit;
                        Product.Remark           = item.Remark;
                        Product.SalePrice        = item.SalePrice;
                        Product.TotalAreal       = item.TotalAreal;
                        Product.TotalLength      = item.TotalLength;
                        Product.Created          = DateTime.Now;
                        Product.CreatedBy        = SenderUser.UserCode + "." + SenderUser.UserName;
                        Products.Add(Product);
                    }
                    args.OrderProducts = Products;

                    OrderStep step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.importorder.ToString());

                    OrderStepLog ot = new OrderStepLog();
                    ot.StepID         = Guid.NewGuid();
                    ot.OrderID        = order.OrderID;
                    ot.StepNo         = step.StepNo;
                    ot.StepName       = step.StepName;
                    ot.Remark         = string.Empty;
                    args.OrderStepLog = ot;

                    p.Client.SaveOrder(SenderUser, args);
                    Order model = new Order()
                    {
                        Status  = args.Order.Status,
                        StepNo  = args.Order.StepNo,
                        OrderID = args.Order.OrderID,
                    };
                    p.Client.UpdatePartnerOrder(model);
                }
                WriteSuccess();
            }
            catch (Exception ex)
            {
                PLogger.LogError(ex);
                throw ex;
            }
        }
コード例 #8
0
        public void OrdersConfirm()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    string remark = Request["Remark"];
                    if (string.IsNullOrEmpty(Request["Remark"]))
                    {
                        throw new Exception("Remark:参数无效");
                    }
                    string OrderID = Request["OrderID"];
                    if (string.IsNullOrEmpty(Request["OrderID"]))
                    {
                        throw new Exception("OrderID:参数无效");
                    }
                    string ConfirmState = Request["ConfirmState"];

                    PartnerOrder order = p.Client.GetPartnerOrder(SenderUser, Guid.Parse(OrderID));
                    if (order.Status.ToUpper() == OrderStatus.A.ToString())
                    {
                        SavePartnerOrderArgs args = new SavePartnerOrderArgs();

                        if (ConfirmState == "true")//审核通过
                        {
                            OrderStep    step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.partnerordersconfirm.ToString());
                            OrderStepLog ot   = new OrderStepLog();
                            ot.StepID         = Guid.NewGuid();
                            ot.OrderID        = order.OrderID;
                            ot.StepNo         = step.StepNo;
                            ot.StepName       = step.StepName;
                            ot.Remark         = Request["Remark"];
                            args.OrderStepLog = ot;

                            order.Status = OrderStatus.B.ToString();
                            order.StepNo = step.StepNo;
                            args.Order   = order;
                        }
                        else//审核不通过
                        {
                            OrderStep    step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.partnerordersconfirm.ToString());
                            OrderStepLog ot   = new OrderStepLog();
                            ot.StepID         = Guid.NewGuid();
                            ot.OrderID        = order.OrderID;
                            ot.StepNo         = step.StepNo;
                            ot.StepName       = step.StepName;
                            ot.Remark         = Request["Remark"];
                            args.OrderStepLog = ot;

                            order.Status = OrderStatus.Z.ToString();
                            order.StepNo = 0;
                            args.Order   = order;
                        }

                        p.Client.SavePartnerOrder(SenderUser, args);
                    }

                    WriteSuccess();
                }
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }
コード例 #9
0
        public void SavePartnerOrder()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    #region Order
                    var          flag  = "false";
                    PartnerOrder order = p.Client.GetPartnerOrder(SenderUser, parm.OrderID);
                    if (parm.OrderType == "")
                    {
                        throw new Exception("请选择订单类型");
                    }
                    if (order == null)
                    {
                        order         = new PartnerOrder();
                        order.OrderID = parm.OrderID;
                    }

                    //修改订单保存
                    flag = Request["edit"];
                    if (flag == "true")
                    {
                        order.OrderNo = parm.OrderNo;
                    }
                    else
                    {
                        order.OrderNo = "";
                    }
                    order.PartnerID      = parm.PartnerID;
                    order.CustomerID     = parm.CustomerID;
                    order.OutOrderNo     = parm.OutOrderNo;
                    order.Address        = parm.Address;
                    order.CustomerName   = parm.CustomerName;
                    order.AttachmentFile = HttpUtility.UrlDecode(parm.AttachmentFile, Encoding.UTF8);
                    order.PartnerName    = parm.PartnerName;
                    order.SalesMan       = parm.SalesMan;
                    order.BookingDate    = parm.BookingDate;
                    order.Mobile         = parm.Mobile;
                    order.ShipDate       = parm.ShipDate;
                    order.OrderType      = parm.OrderType;
                    order.Remark         = parm.Remark;
                    order.Status         = OrderStatus.A.ToString();
                    order.StepNo         = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.partneraddorder.ToString()).StepNo;
                    SavePartnerOrderArgs args = new SavePartnerOrderArgs();
                    args.Order = order;
                    #endregion

                    #region OrderProduct
                    List <PartnerOrderProduct> list = new List <PartnerOrderProduct>();
                    string   Cabinets = Request["Cabinets"];
                    JsonData sj       = JsonMapper.ToObject(Cabinets);
                    if (sj.Count > 0)
                    {
                        foreach (JsonData item in sj)
                        {
                            PartnerOrderProduct model = new PartnerOrderProduct();
                            model.OrderID          = order.OrderID;
                            model.ProductID        = Guid.Parse(item["ProductID"].ToString());
                            model.ProductName      = item["ProductName"].ToString();
                            model.ProductGroup     = item["ProductGroup"].ToString();
                            model.Qty              = Decimal.Parse(item["Qty"].ToString());
                            model.Price            = Decimal.Parse(item["Price"].ToString());
                            model.Size             = item["Size"].ToString();
                            model.MaterialStyle    = item["MaterialStyle"].ToString();
                            model.Color            = item["Color"].ToString();
                            model.MaterialCategory = item["MaterialCategory"].ToString();
                            model.Unit             = item["Unit"].ToString();
                            model.Remark           = item["Remark"].ToString();
                            model.SalePrice        = 0;
                            model.TotalAreal       = 0;
                            model.TotalLength      = 0;
                            model.ProductStatus    = "N";
                            //Product.ProductCode = ((char)(64 + cabinet.Sequence)).ToString();
                            if (flag == "true")
                            {
                                model.Created   = DateTime.Now;
                                model.CreatedBy = SenderUser.UserCode + "." + SenderUser.UserName;
                            }
                            list.Add(model);
                        }
                    }
                    args.PartnerOrderProducts = list;
                    #endregion

                    #region  OrderLog /OrderTask
                    if (flag != "true")
                    {
                        OrderStep    step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.partneraddorder.ToString());
                        OrderStepLog ot   = new OrderStepLog();
                        ot.StepID         = Guid.NewGuid();
                        ot.OrderID        = order.OrderID;
                        ot.StepNo         = step.StepNo;
                        ot.StepName       = step.StepName;
                        ot.Remark         = string.Empty;
                        args.OrderStepLog = ot;
                    }
                    #endregion

                    p.Client.SavePartnerOrder(SenderUser, args);
                }
                WriteSuccess();
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }
コード例 #10
0
        public void OrderReview()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    string OrderID = Request["OrderID"];
                    if (string.IsNullOrEmpty(OrderID))
                    {
                        throw new Exception("OrderID:参数无效");
                    }
                    string Remark = Request["Remark"];
                    if (string.IsNullOrEmpty(Remark))
                    {
                        throw new Exception("Remark:参数无效");
                    }
                    Order order = p.Client.GetOrder(SenderUser, Guid.Parse(OrderID));

                    if (order.Status.ToUpper() == OrderStatus.F.ToString())
                    {
                        SaveOrderArgs args = new SaveOrderArgs();

                        OrderStep    step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.ordersreview.ToString());
                        OrderStepLog ot   = new OrderStepLog();
                        ot.StepID         = Guid.NewGuid();
                        ot.OrderID        = order.OrderID;
                        ot.StepNo         = step.StepNo;
                        ot.StepName       = step.StepName;
                        ot.Remark         = Remark;
                        args.OrderStepLog = ot;

                        order.Status = OrderStatus.G.ToString();
                        order.StepNo = step.StepNo;
                        args.Order   = order;

                        p.Client.SaveOrder(SenderUser, args);
                        p.Client.UpdatePartnerOrder(args.Order);
                    }

                    #region PartnerTransDetail
                    string Payee     = Request["Payee"].ToString();     //收款人
                    string Amount    = Request["Amount"].ToString();    //收款金额
                    string TransDate = Request["TransDate"].ToString(); //收款日期
                    string VoucherNo = Request["VoucherNo"].ToString(); //凭证号
                    if (!string.IsNullOrEmpty(Payee) && !string.IsNullOrEmpty(Amount) && !string.IsNullOrEmpty(TransDate) && !string.IsNullOrEmpty(VoucherNo))
                    {
                        ReviewDetail model = new ReviewDetail()
                        {
                            TransID   = Guid.NewGuid(),
                            OrderID   = order.OrderID,
                            Payee     = Payee,
                            Amount    = decimal.Parse(Amount),
                            TransDate = Convert.ToDateTime(TransDate),
                            VoucherNo = VoucherNo,
                        };
                        p.Client.SaveReviewDetail(SenderUser, model);
                    }
                    #endregion

                    #region ProductBOM
                    List <OrderProduct> list = p.Client.GetOrderProductByOrderID(SenderUser, order.OrderID);
                    foreach (OrderProduct Item in list)
                    {
                        ProductBOM model = new ProductBOM()
                        {
                            ProductCode = Item.ProductCode,
                            Status      = false,
                        };
                        p.Client.SaveProductBOM(SenderUser, model);
                    }
                    #endregion
                }
                WriteSuccess();
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }
コード例 #11
0
        public void SaveOrder()
        {
            try
            {
                using (ProxyBE p = new ProxyBE())
                {
                    #region Order
                    var   flag  = "false";
                    Order order = p.Client.GetOrder(SenderUser, parm.OrderID);
                    if (parm.OrderType == "")
                    {
                        throw new Exception("请选择订单类型");
                    }
                    if (order == null)
                    {
                        order         = new Order();
                        order.OrderID = parm.OrderID;
                    }

                    //修改订单保存
                    flag = Request["edit"];
                    if (flag == "true")
                    {
                        order.OrderNo = parm.OrderNo;
                    }
                    else
                    {
                        order.OrderNo = "";
                    }
                    order.PartnerID      = parm.PartnerID;
                    order.CustomerID     = parm.CustomerID;
                    order.OutOrderNo     = parm.OutOrderNo;
                    order.Address        = parm.Address;
                    order.CustomerName   = parm.CustomerName;
                    order.AttachmentFile = HttpUtility.UrlDecode(parm.AttachmentFile, Encoding.UTF8);
                    order.PartnerName    = parm.PartnerName;
                    order.SalesMan       = parm.SalesMan;
                    order.BookingDate    = parm.BookingDate;
                    order.Mobile         = parm.Mobile;
                    order.ShipDate       = parm.ShipDate;
                    order.OrderType      = parm.OrderType;
                    order.Remark         = parm.Remark;
                    order.Status         = OrderStatus.C.ToString();
                    order.StepNo         = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.addorder.ToString()).StepNo;
                    SaveOrderArgs args = new SaveOrderArgs();
                    args.Order = order;
                    #endregion

                    #region OrderProduct
                    List <OrderProduct> list = new List <OrderProduct>();
                    string   Cabinets        = Request["Cabinets"];
                    JsonData sj = JsonMapper.ToObject(Cabinets);
                    if (sj.Count > 0)
                    {
                        foreach (JsonData item in sj)
                        {
                            OrderProduct model = new OrderProduct();
                            model.OrderID          = order.OrderID;
                            model.ProductID        = Guid.Parse(item["ProductID"].ToString());
                            model.ProductName      = item["ProductName"].ToString();
                            model.ProductGroup     = item["ProductGroup"].ToString();
                            model.Qty              = Decimal.Parse(item["Qty"].ToString());
                            model.Price            = Decimal.Parse(item["Price"].ToString());
                            model.Size             = item["Size"].ToString();
                            model.MaterialStyle    = item["MaterialStyle"].ToString();
                            model.Color            = item["Color"].ToString();
                            model.MaterialCategory = item["MaterialCategory"].ToString();
                            model.Unit             = item["Unit"].ToString();
                            model.Remark           = item["Remark"].ToString();
                            model.SalePrice        = 0;
                            model.TotalAreal       = 0;
                            model.TotalLength      = 0;
                            model.ProductStatus    = "N";
                            //Product.ProductCode = ((char)(64 + cabinet.Sequence)).ToString();
                            if (flag == "true")
                            {
                                model.Created   = DateTime.Now;
                                model.CreatedBy = SenderUser.UserCode + "." + SenderUser.UserName;
                            }
                            list.Add(model);
                        }
                    }
                    args.OrderProducts = list;
                    #endregion

                    #region  OrderLog /OrderTask
                    if (flag != "true")
                    {
                        OrderStep    step = p.Client.GetOrderStepByStepCode(SenderUser, StepCode.addorder.ToString());
                        OrderStepLog ot   = new OrderStepLog();
                        ot.StepID         = Guid.NewGuid();
                        ot.OrderID        = order.OrderID;
                        ot.StepNo         = step.StepNo;
                        ot.StepName       = step.StepName;
                        ot.Remark         = string.Empty;
                        args.OrderStepLog = ot;
                    }
                    #endregion

                    #region OrderProcessFile
                    string  filePath    = Config.StorageFolder;
                    Partner partner     = p.Client.GetPartner(SenderUser, order.PartnerID);
                    string  PartnerCode = partner.PartnerCode;
                    filePath = Path.Combine(filePath, DateTime.Now.ToString("yyyyMM"));
                    filePath = Path.Combine(filePath, PartnerCode);
                    filePath = Path.Combine(filePath, DateTime.Now.ToString("yyyyMM"));
                    filePath = Path.Combine(filePath, PartnerCode + "-" + DateTime.Now.ToString("yyyyMM"));
                    if (!Directory.Exists(filePath))
                    {
                        Directory.CreateDirectory(filePath);
                    }

                    List <OrderProcessFile> ProcessFiles = new List <OrderProcessFile>();
                    IList <HttpPostedFile>  SceneFiles   = Request.Files.GetMultiple("SceneFile");
                    foreach (HttpPostedFile file in SceneFiles)
                    {
                        if (file.ContentLength == 0)
                        {
                            continue;
                        }
                        string savepath = Path.Combine(filePath, "SceneFile");
                        if (!Directory.Exists(savepath))
                        {
                            Directory.CreateDirectory(savepath);
                        }
                        savepath = Path.Combine(savepath, file.FileName);
                        if (File.Exists(savepath))
                        {
                            File.Delete(savepath);
                        }
                        file.SaveAs(savepath);
                        OrderProcessFile pf = p.Client.GetOrderProcessFileByOrderID_FileType_FileName(SenderUser, order.OrderID, "SceneFile", Path.GetFileName(savepath));
                        if (pf == null)
                        {
                            pf          = new OrderProcessFile();
                            pf.OrderID  = parm.OrderID;
                            pf.FileID   = Guid.NewGuid();
                            pf.FileName = Path.GetFileName(savepath);
                            pf.FilePath = savepath;
                            pf.FileType = "SceneFile";
                        }
                        ProcessFiles.Add(pf);
                    }


                    if (ProcessFiles.Count > 0)
                    {
                        args.OrderProcessFiles = ProcessFiles;
                    }
                    #endregion

                    p.Client.SaveOrder(SenderUser, args);
                }
                WriteSuccess();
            }
            catch (Exception ex)
            {
                WriteError(ex.Message, ex);
            }
        }