private void LB_Order_SelectedIndexChanged(object sender, EventArgs e) { if (LB_Order.SelectedIndex < 0) { return; } Order_ViewModel Select_Order = List_Order.Where(P => P.Order_ID == Convert.ToInt32(LB_Order.SelectedItem.ToString())).Single(); Label_Version.Text = Select_Order.Version_Name; Label_TMstart.Text = Select_Order.Order_Start_Time.ToShortDateString(); Label_TMend.Text = Select_Order.Order_End_Time.ToShortDateString(); Label_OrderCount.Text = Select_Order.Order_Count.ToString(); if (Select_Order.Checkout_Mark) { Label_IsPay.Text = "已付款"; } else { Label_IsPay.Text = "未付款"; } if (Select_Order.Order_DepositPay) { Label_Deposit.Text = "已付款"; } else { Label_Deposit.Text = "未付款"; } }
/// <summary> /// 订单付款 /// </summary> /// <param name="StaffName">工作人员登陆名</param> /// <param name="OrderID">订单ID</param> /// <param name="KM">实际行驶里程</param> /// <returns></returns> public bool LastCheakOrder(String StaffName, int OrderID, int KM) { Order_ViewModel Summery = DB_ViewModel.Select(P => P.Order_ID == OrderID).Single(); Summery.Checkout_Time = DateTime.Now; Summery.Checkout_KM = KM; //管理类声明并共享数据库操作实体 Checkout Checkout_Manager = new Checkout(); //实体类声明并获得实体 Car_Checkout old_checkout = Checkout_Manager.SelectCheckout_ID(Summery.Checkout_ID); Car_Checkout new_Checkout = old_checkout; new_Checkout.Checkout_KM = KM; new_Checkout.Checkout_User = (Guid)Membership.GetUser(StaffName).ProviderUserKey; new_Checkout.Checkout_Time = DateTime.Now; //将信息保存到数据库以完整信息 if (!Checkout_Manager.UpdateCheckout(new_Checkout)) { return(false); } return(true); }
/// <summary> /// 查询单笔账单的总金额(单号 /// </summary> /// <param name="OrderID">订单号</param> /// <returns></returns> public decimal GetPrice_OrderID(int OrderID) { Order_ViewModel Summery = DB_ViewModel.Select(P => P.Order_ID == OrderID).Single(); decimal Total_Money = 0; Total_Money = GetPrice_Order(Summery); return(Total_Money); }
/// <summary> /// 查询单笔账单的总金额(账单实体 /// </summary> /// <param name="Summery">定单实体</param> /// <returns></returns> public decimal GetPrice_Order(Order_ViewModel Summery) { decimal Total_Money = 0; decimal RentalPrice; decimal CatchPrice; #region 普通会员 if (Summery.Client_RoleName == "普通会员") { RentalPrice = Summery.Version_Price_Normal_Rental; CatchPrice = Summery.Version_Price_Normal_Catch; } else { RentalPrice = Summery.Version_Price_Member_Rental; CatchPrice = Summery.Version_Price_Member_Catch; } //基本租金:每天租费*时间*租借数量 TimeSpan TS_Start = new TimeSpan(Summery.Order_Start_Time.Ticks); TimeSpan TS_End = new TimeSpan(Summery.Checkout_Time.Ticks); TimeSpan TS = TS_Start.Subtract(TS_End); Total_Money += RentalPrice * TS.Duration().Days *Summery.Order_Count; //参加活动:活动优惠*租借数量 Total_Money += Summery.Action_Price * Summery.Order_Count; //是否接送: if (Summery.Order_IsCatch == true) { Total_Money += CatchPrice * Summery.Order_Count; } //是否代驾: if (Summery.RentalType_Name == "代驾") { Total_Money += Summery.Version_Price_Riding * Summery.Order_Count; } //超里程: if (Summery.RentalType_Name == "代驾") { Total_Money += Summery.Checkout_KM * Summery.Version_Price_Over_Riding; } else { Total_Money += Summery.Checkout_KM * Summery.Version_Price_Over; } #endregion return(Total_Money); }
private void BT_GetInfo_Click(object sender, EventArgs e) { if (LB_Order.SelectedIndex < 0) { return; } Order_ViewModel Select_Order = List_Order.Where(P => P.Order_ID == Convert.ToInt32(LB_Order.SelectedItem.ToString())).Single(); if (GetCar_Client.SelectAllCarGets().Where(P => P.GetCar_Order == Select_Order.Order_ID).Count() == 0) { MessageBox.Show("您还没有进行提车操作!", "错误!"); return; } Form_CatchCar form = new Form_CatchCar(Select_Order.Order_Count, Select_Order.Order_ID, 2); form.Owner = this; form.ShowDialog(); }
private void BT_Cancel_Click(object sender, EventArgs e) { DialogResult res = MessageBox.Show("您是否确定要取消该订单?!", "警告!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2); if (res == DialogResult.Cancel) { return; } else { Order_ViewModel Select_Order = List_Order.Where(P => P.Order_ID == Convert.ToInt32(LB_Order.SelectedItem.ToString())).Single(); if (DateTime.Now > Select_Order.Order_Start_Time) { MessageBox.Show("您的订车服务正在进行中,您已经超过取消订单的时间"); } Form_CancelOrder form = new Form_CancelOrder(Convert.ToInt32(LB_Order.SelectedItem.ToString())); form.Owner = this; form.ShowDialog(); } }
public bool Pay_Order(int OrderID) { Account Account_Manager = new Account(); Checkout Checkout_Manager = new Checkout(); Checkout_Manager.DB_Checkout.dt = Account_Manager.DB_Account.dt; Order_ViewModel Summery = DB_ViewModel.Select(P => P.Order_ID == OrderID).Single(); Car_Checkout old_checkout = Checkout_Manager.SelectCheckout_ID(Summery.Checkout_ID); Car_Checkout new_Checkout = old_checkout; new_Checkout.Checkout_Mark = true; //定义付款操作所需要的实体成员 Car_Account account = new Car_Account() { Account_Price = GetPrice_OrderID(Summery.Order_ID), Account_Shop = Summery.Shop_ID, Account_Time = DateTime.Now, Account_User = (Guid)new_Checkout.Checkout_User, Account_Info = String.Format("第{0}号的订单进行了买单操作!", Summery.Order_ID) }; using (TransactionScope tc = new TransactionScope()) { try { Account_Manager.AddAccount_Trans(account); Checkout_Manager.UpdateCheckout_Trans(new_Checkout); Account_Manager.DB_Account.SubmitChanges(); tc.Complete(); } catch { return(false); } } return(true); }
public Form_CancelOrder(int OrderID) { InitializeComponent(); this.OrderID = OrderID; OrderSummery_Client = (OrderSummeryClient)ClientFactory.GetClient(ClientType.Type.OrderSummery); SelectOrder = OrderSummery_Client.SelectOrderSummery_OrderID(OrderID); Label_Count1.Text = SelectOrder.Order_Count.ToString(); Label_PriceDeposit.Text = SelectOrder.Version_Price_Deposit.ToString(); decimal TotalDeposit = SelectOrder.Version_Price_Deposit * SelectOrder.Order_Count; Label_TotalDeposit.Text = TotalDeposit.ToString(); Label_Count2.Text = SelectOrder.Order_Count.ToString(); Label_CastPrice.Text = "1000"; decimal TotalCast = 1000 * SelectOrder.Order_Count; Label_TotalCast.Text = TotalCast.ToString(); Label_Total.Text = (TotalDeposit - TotalCast).ToString(); }
private void BT_CatchCar_Click(object sender, EventArgs e) { if (LB_Order.SelectedIndex < 0) { return; } Order_ViewModel Select_Order = List_Order.Where(P => P.Order_ID == Convert.ToInt32(LB_Order.SelectedItem.ToString())).Single(); if (GetCar_Client.SelectAllCarGets().Where(P => P.GetCar_Order == Select_Order.Order_ID).Count() > 0) { MessageBox.Show("您的订单已经提车,请勿重复操作!", "错误!"); return; } if (Select_Order.Order_End_Time < DateTime.Now) { MessageBox.Show("您的订单已经过期!", "错误!"); return; } Form_CatchCar form = new Form_CatchCar(Select_Order.Order_Count, Select_Order.Order_ID, 1); form.Owner = this; form.ShowDialog(); }
public bool Order_Cancel(int OrderID, Guid UID) { Checkout Checkout_Manager = new Checkout(); Account Account_Manager = new Account(); Account_Manager.DB_Account.dt = Checkout_Manager.DB_Checkout.dt; Order_ViewModel CancelOrder = DB_ViewModel.Select(P => P.Order_ID == OrderID).Single(); int OrderCount = CancelOrder.Order_Count; decimal CastPrice = OrderCount * 1000; Car_Account acc = new Car_Account() { Account_Info = String.Format("这笔款项来源自用户:{0},身份证:{1}的取消订单违约金", CancelOrder.Client_RealName, CancelOrder.Client_Validaton), Account_Price = CastPrice, Account_Shop = CancelOrder.Shop_ID, Account_Time = DateTime.Now, Account_User = UID }; using (TransactionScope TS = new TransactionScope()) { try { Checkout_Manager.DeleteCheckout_Trans(OrderID); Account_Manager.AddAccount_Trans(acc); Checkout_Manager.DB_Checkout.SubmitChanges(); TS.Complete(); } catch { return(false); } return(true); } }
public Form_CarBack(int OrderID) { InitializeComponent(); OrderSummery_Client = (OrderSummeryClient)ClientFactory.GetClient(ClientType.Type.OrderSummery); Order_Temp = OrderSummery_Client.SelectOrderSummery_OrderID(OrderID); TimeSpan TS_Start = new TimeSpan(Order_Temp.Order_Start_Time.Ticks); TimeSpan TS_End = new TimeSpan(Order_Temp.Checkout_Time.Ticks); TimeSpan TS = TS_Start.Subtract(TS_End); decimal RentalPrice; decimal CatchPrice; decimal OverPrice; decimal RentalType; #region 设定4差别项 if (Order_Temp.RentalType_Name == "自驾") { RentalType = 0; OverPrice = Order_Temp.Version_Price_Over; } else { RentalType = Order_Temp.Version_Price_Riding; OverPrice = Order_Temp.Version_Price_Over_Riding; } if (Order_Temp.Client_RoleName == "普通会员") { RentalPrice = Order_Temp.Version_Price_Normal_Rental; if (Order_Temp.Order_IsCatch) { CatchPrice = Order_Temp.Version_Price_Normal_Catch; } else { CatchPrice = 0; } } else { RentalPrice = Order_Temp.Version_Price_Member_Rental; if (Order_Temp.Order_IsCatch) { CatchPrice = Order_Temp.Version_Price_Member_Catch; } else { CatchPrice = 0; } } #endregion //租借车型 Label_Version.Text = Order_Temp.Version_Name; Label_Type.Text = Order_Temp.Type_Name; Label_Brand.Text = Order_Temp.Brand_Name; this.OrderID = OrderID; //基本租金 Label_Count1.Text = Order_Temp.Order_Count.ToString(); Label_Day1.Text = TS.Duration().Days.ToString(); Label_PriceRental.Text = RentalPrice.ToString(); decimal Total_Rental = RentalPrice * TS.Duration().Days *Order_Temp.Order_Count; Label_TotalRental.Text = Total_Rental.ToString(); //接送费用 Label_Count2.Text = Order_Temp.Order_Count.ToString(); Label_PriceCatch.Text = CatchPrice.ToString(); decimal Total_Catch = Order_Temp.Order_Count * CatchPrice; Label_TotalCatch.Text = Total_Catch.ToString(); //行驶费用 Label_BaseKM.Text = Order_Temp.Version_BaseKM.ToString(); Label_OverKM.Text = Order_Temp.Checkout_KM.ToString(); Label_PriceOver.Text = OverPrice.ToString(); decimal Total_Over = Order_Temp.Checkout_KM * OverPrice; Label_TotalOver.Text = Total_Over.ToString(); //代驾费用 Label_Count3.Text = Order_Temp.Order_Count.ToString(); Label_Day2.Text = TS.Duration().Days.ToString(); Label_PriceRiding.Text = RentalType.ToString(); decimal Total_RentalType = Order_Temp.Order_Count * TS.Duration().Days *RentalType; Label_TotalRentalType.Text = Total_RentalType.ToString(); //活动优惠 Label_Count5.Text = Order_Temp.Order_Count.ToString(); Label_ActionPrice.Text = Order_Temp.Action_Price.ToString(); decimal Total_Action = Order_Temp.Order_Count * Order_Temp.Action_Price; Label_TotalAction.Text = Total_Action.ToString(); //押金退还 Label_Count4.Text = Order_Temp.Order_Count.ToString(); Label_PriceDeposit.Text = Order_Temp.Version_Price_Deposit.ToString(); decimal Total_Deposit = Order_Temp.Order_Count * Order_Temp.Version_Price_Deposit; Label_TotalDeposit.Text = Total_Deposit.ToString(); Label_Total.Text = (Total_Rental + Total_Catch + Total_Over + Total_RentalType + Total_Action - Total_Deposit).ToString(); }