Esempio n. 1
0
        /// <summary>
        /// 将单条申请单转换为订单
        /// </summary>
        /// <param name="ApplyId"></param>
        /// <param name="OperatorId"></param>
        /// <param name="RoleId"></param>
        /// <param name="Memo"></param>
        /// <returns></returns>
        private bool ConvertApplyToOrder(int ApplyId, int OperatorId, int RoleId, string Memo, Customer customer)
        {
            ViewVIPApply View_Apply = new ViewVIPApply(ApplyId);

            if (View_Apply.Status != CommenClass.VIPApplyStatus.待审核.ToString())
            {
                return(false);
            }
            VIPApply  apply = new VIPApply(ApplyId);
            DataTable dt    = apply.ReadDetail().Tables[0];
            Order     order = GetOrderInfoByApply(View_Apply, dt.Rows.Count, customer);

            OrderDetail[] od      = GetOrderDetail(dt);//初始化订单明细数据
            OrderManager  om      = new OrderManager();
            int           orderId = om.AddOrder(order, od);

            if (orderId > 0)
            {
                //保存申请单审核记录表
                Confirmprocess process = new Confirmprocess();
                process.ApplyId    = ApplyId;
                process.MemberId   = OperatorId;
                process.Memo       = apply.Memo;
                process.Status     = CommenClass.VIPApplyStatus.已审核.ToString();
                process.Amount     = apply.SumMoney;
                process.UpdateTime = DateTime.Now;

                apply.Status     = CommenClass.VIPApplyStatus.已审核.ToString();
                apply.OperatorId = OperatorId;
                apply.UpdateTime = process.UpdateTime;
                if (RoleId == 1)//系统管理员审核通过的
                {
                    apply.ConfirmLevel   = 0;
                    process.ConfirmLevel = 0;
                }
                else//成本中心管理员通过的
                {
                    Member m    = new Member(OperatorId);
                    Dept   dept = new Dept(m.DeptId);
                    apply.ConfirmLevel   = dept.Level;//同时修改一下申请单的confirmLevel
                    process.ConfirmLevel = dept.Level;
                }
                if (apply.Save() > 0)//申请单状态更改了
                {
                    //发邮件审核通过的通知
                    LeadingEmail email = new LeadingEmail();
                    email.EmailToPass(ApplyId, apply.MemberId);
                }
                process.Save();
                return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 2
0
        private Order GetOrderInfoByApply(ViewVIPApply apply, int RowNum, Customer customer)
        {
            Order order = new Order();

            order.Address = apply.Address;
            order.ComId   = apply.ComId;
            order.Company = apply.CompanyName;

            VIPApply va = new VIPApply(apply.Id);

            if (va.NewDeptId != 0)
            {
                order.DeptId = va.NewDeptId;
                Dept dept = new Dept(va.NewDeptId);
                order.DeptName = dept.Name;
            }
            else
            {
                order.DeptId   = apply.DeptId;
                order.DeptName = apply.DeptName;
            }
            order.GrossProfit = 0;
            order.MemberId    = apply.MemberId;
            order.Memo        = apply.Memo;
            order.Mobile      = apply.Mobile;
            order.OrderTime   = DateTime.Now;
            order.OrderType   = CommenClass.OrderType.网上订单.ToString();
            order.PayStatus   = CommenClass.PayStatus.未付款.ToString();
            order.PlanDate    = DateTime.Now.AddDays(1);
            order.Point       = 0;
            order.PrintNum    = 0;
            order.RealName    = apply.RealName;
            order.RowNum      = RowNum;
            order.SaveNum     = 0;
            order.SumMoney    = apply.SumMoney;
            order.Telphone    = apply.Telphone;
            order.UpdateTime  = DateTime.Now;
            order.UserId      = 0;
            order.ApplyId     = apply.Id;

            MemberAddress address = new MemberAddress();

            address.Id = apply.MemberAddressId;
            address.Load();
            string city = address.City;

            order.BranchId        = GetVIPBranchId(city, order.ComId);//按默认地址的branchId走,没有的是0。add by luochunhui
            order.TaxRate         = customer.TaxRate;
            order.Invoice_Name    = customer.Invoice_Name;
            order.Invoice_Type    = customer.InvoiceType;
            order.Invoice_Content = customer.Invoice_Content;
            return(order);
        }