예제 #1
0
 private bool SaveData(out string message)
 {
     message = string.Empty;
     try
     {
         string orderCode = OrderBLL.GetOrderCode(AppContext.Context.Company);
         SysMember user = AppContext.Context.User;
         Order order = new Order
         {
             OrderCode = orderCode,
             OrderCard = string.Empty,
             OrderDate = DateTime.Now,
             OrderDateDeliver = DateTime.Now,
             OrderDateUpload = DateTime.Now,
             OrderMemberID = user.Id,
             OrderMemo = txtOrderMemo.Text,
             OrderProduct = "普通消费",
             OrderQty = 0,
             OrderRateSale = 0M,
             OrderRate = 0M,
             OrderPoint = 0M,
             OrderSellerID = AppContext.Context.Company.Id,
             OrderStatus = 1,
             OrderSum = dPaySum,
             OrderSumOk = dPaySum,
             OrderType = 1,
             OrderPay = dPaySum,
             OrderPayPoint = 0M,
             OrderPayCash = 0M,
             ServiceSum = 0,
             MansionId = 0
         };
         using (TransactionScope ts = new TransactionScope( ))
         {
             using (SubSonic.SharedDbConnectionScope ss = new SubSonic.SharedDbConnectionScope( ))
             {
                 //order.Save( );
                 if (!OrderBLL.SaveSaleRate(order, user, out message))
                     return false;
                 ts.Complete( );
                 return true;
             }
         }
     }
     catch (Exception ex)
     {
         Logging.Log("UcNoneMemberSettlement->SaveData", ex, true);
         message = "消费失败,请与管理员联系<br/>" + ex.Message;
         return false;
     }
 }
        private bool SaveOrder(out string message)
        {
            message = string.Empty;
            Order order = new Order
            {
                OrderCode = this.OrderCode,
                OrderCard = string.Empty,
                OrderDate = DateTime.Now,
                OrderDateDeliver = DateTime.Now,
                OrderDateUpload = DateTime.Now,
                OrderMemberID = user.Id,
                OrderMemo = txtOrderMemo.Text,
                OrderProduct = ddlOrderItem.Visible ? ddlOrderItem.SelectedValue : "普通消费",
                OrderQty = 0,
                OrderRateSale = dRateSale / 100M, // 折扣
                OrderRate = dCompanyRate / 100M,  //赠送比例
                OrderPoint = dOrderSumOk * dCompanyRate / 100M, //赠送积分
                OrderSellerID = CurContext.Company.Id,
                OrderStatus = 1,
                OrderSum = dOrderSum,
                OrderSumOk = dOrderSumOk,
                OrderPayCash = dPayCash, //储值支付
                OrderPayPoint = dPayPoint,//积分支付
                OrderType = 1,
                ServiceSum = 0,
                MansionId = 0
            };
            if (payment == "1")
            {
                order.OrderPay = order.OrderSumOk;
                order.OrderPayCash = 0M;
                order.OrderPayPoint = 0M;
            }
            else if (payment == "2")
            {
                order.OrderPayCash = 0M;
                if (order.OrderPayPoint > order.OrderSumOk)
                {
                    order.OrderPayPoint = order.OrderSumOk;
                    order.OrderPay = 0M;
                }
                else
                {
                    order.OrderPay = order.OrderSumOk - order.OrderPayPoint;
                }
            }
            else if (payment == "3")
            {
                order.OrderPayPoint = 0M;
                if (order.OrderPayCash > order.OrderSumOk)
                {
                    order.OrderPayCash = order.OrderSumOk;
                    order.OrderPay = 0M;
                }
                else
                {
                    order.OrderPay = order.OrderSumOk - order.OrderPayCash;
                }
            }
            else if (payment == "4")
            {
                if (order.OrderPayPoint > order.OrderSumOk)
                {
                    order.OrderPayPoint = order.OrderSumOk;
                    order.OrderPayCash = 0M;
                    order.OrderPay = 0M;
                }
                else if ((order.OrderPayPoint + order.OrderPayCash) > order.OrderSumOk)
                {
                    order.OrderPayCash = order.OrderSumOk - order.OrderPayPoint;
                    order.OrderPay = 0M;
                }
                else
                {
                    order.OrderPay = (order.OrderSumOk - order.OrderPayPoint) - order.OrderPayCash;
                }
            }
            if ((order.OrderPay == 0M) && (order.OrderPayCash == 0M))
            {
                order.OrderRate = 0M;
            }

            try
            {
                using (TransactionScope ts = new TransactionScope( ))
                {
                    using (SubSonic.SharedDbConnectionScope ss = new SubSonic.SharedDbConnectionScope( ))
                    {
                        //order.Save( );
                        if (!OrderBLL.SaveSaleRate(order, user, out message))
                            return false;
                        OrderBLL.UpdateBalance( );
                        ts.Complete( );
                        return true;
                    }
                }
            }
            catch (Exception ex)
            {
                Logging.Log("UcMemberSettlementCommunity->SaveOrder", ex, true);
                message = ex.Message;
                Response.Output.WriteLine(ex.StackTrace);
                return false;
            }
        }
 private bool SaveData(out string message)
 {
     message = string.Empty;
     if (!ValidateData( ))
     {
         message = "保存失败!";
         return false;
     }
     string payment;
     if (BasePage.Params.ContainsKey(rblPayment.UniqueID))
         payment = BasePage.Params[rblPayment.UniqueID];
     else
         payment = rblPayment.SelectedValue;
     try
     {
         Order data = new Order
         {
             OrderCode = OrderCode,
             OrderCard = string.Empty,
             OrderDate = DateTime.Now,
             OrderDateDeliver = DateTime.Now,
             OrderDateUpload = DateTime.Now,
             OrderMemberID = user.Id,
             OrderMemo = txtOrderMemo.Text,
             OrderProduct = "普通消费",
             OrderQty = 0,
             OrderRateSale = 0M,
             OrderRate = dCompanyRate,
             OrderPoint = 0M,
             OrderSellerID = AppContext.Context.Company.Id,
             OrderStatus = 1,
             OrderSum = dOrderSum,
             OrderSumOk = dOrderSum,
             OrderPayPoint = Utilities.ToDecimal(this.hdnMemberBalance.Value),
             OrderPayCash = Utilities.ToDecimal(this.hdnMemberBalanceCash.Value),
             OrderType = 1,
             OrderPay = 0,
             ServiceSum = 0,
             MansionId = 0
         };
         if (payment == "1")
         {
             data.OrderPay = data.OrderSumOk;
             data.OrderPayPoint = 0M;
             data.OrderPayCash = 0M;
         }
         else if (payment == "2")
         {
             data.OrderPayCash = 0M;
             if (data.OrderPayPoint > data.OrderSumOk)
             {
                 data.OrderPayPoint = data.OrderSumOk;
                 data.OrderPay = 0M;
             }
             else
             {
                 data.OrderPay = data.OrderSumOk - data.OrderPayPoint;
             }
         }
         else if (payment == "3")
         {
             data.OrderPayPoint = 0M;
             if (data.OrderPayCash > data.OrderSumOk)
             {
                 data.OrderPayCash = data.OrderSumOk;
                 data.OrderPay = 0M;
             }
             else
             {
                 data.OrderPay = data.OrderSumOk - data.OrderPayCash;
             }
         }
         else if (payment == "4")
         {
             if (data.OrderPayPoint > data.OrderSumOk)
             {
                 data.OrderPayPoint = data.OrderSumOk;
                 data.OrderPayCash = 0M;
                 data.OrderPay = 0M;
             }
             else if ((data.OrderPayPoint + data.OrderPayCash) > data.OrderSumOk)
             {
                 data.OrderPayCash = data.OrderSumOk - data.OrderPayPoint;
                 data.OrderPay = 0M;
             }
             else
             {
                 data.OrderPay = (data.OrderSumOk - data.OrderPayPoint) - data.OrderPayCash;
             }
         }
         if ((payment == "-1") && (data.OrderPayCash > 0M))
         {
             lblCompanyRateInfo.Text = "请选择赠送积分比例!";
             return false;
         }
         else
         {
             if (data.OrderPayCash == 0M)
             {
                 data.OrderRate = 0M;
             }
             using (TransactionScope ts = new TransactionScope( ))
             {
                 using (SubSonic.SharedDbConnectionScope ss = new SubSonic.SharedDbConnectionScope( ))
                 {
                     //data.Save( );
                     if (!OrderBLL.SaveSaleRate(data, user, out message))
                         return false;
                     OrderBLL.UpdateBalance( );
                     ts.Complete( );
                     return true;
                 }
             }
         }
     }
     catch (Exception ex)
     {
         Logging.Log("UcMemberSettlementHotCompany->SaveData", ex, true);
         message = "消费失败,请与管理员联系<br/>" + ex.Message;
         return false;
     }
 }