public void PaymentBooking(TransactionGroup transactionGroup, Booking bookingPay, double usd, double vnd, double rate) { double totalPaidUSD = 0; double totalPaidVND = 0; foreach (var t in bookingPay.Transactions) { if (t.TransactionType == Transaction.BOOKING) { totalPaidUSD += t.USDAmount; totalPaidVND += t.VNDAmount; } } var transaction = new Transaction() { Agency = bookingPay.Agency, Booking = bookingPay, CreatedBy = CurrentUser, CreatedDate = DateTime.Now, IsExpense = false, TransactionType = Transaction.BOOKING, USDAmount = usd, VNDAmount = vnd, TransactionGroup = transactionGroup }; if (bookingPay.IsTotalUsd || usd > 0) { transaction.AppliedRate = rate; } BookingPaymentBLL.TransactionSaveOrUpdate(transaction); totalPaidUSD += transaction.USDAmount; totalPaidVND += transaction.VNDAmount; bookingPay.Paid = totalPaidUSD; bookingPay.PaidBase = totalPaidVND; if (bookingPay.IsTotalUsd || usd > 0) { bookingPay.CurrencyRate = rate; } if (bookingPay.MoneyLeft <= 0) { bookingPay.IsPaid = true; } bookingPay.PaidDate = DateTime.Now; bookingPay.AgencyConfirmed = false; BookingPaymentBLL.BookingSaveOrUpdate(bookingPay); }
protected void Page_Unload(object sender, EventArgs e) { if (bookingPaymentBLL != null) { bookingPaymentBLL.Dispose(); bookingPaymentBLL = null; } if (userBLL != null) { userBLL.Dispose(); userBLL = null; } }
private IList <Booking> GetBooking20(int pageIndex) { var to = DateTimeUtil.DateGetDefaultToDate(); if (!string.IsNullOrEmpty(Request.QueryString["t"])) { to = DateTime.ParseExact(Request.QueryString["t"], "dd/MM/yyyy", CultureInfo.InvariantCulture); } var agencyId = -1; if (!string.IsNullOrEmpty(Request.QueryString["ai"])) { agencyId = Int32.Parse(Request.QueryString["ai"]); } return(BookingPaymentBLL.GetBookingDebtReceivables(to, agencyId, 200, pageIndex).Where(b => b.MoneyLeft > 0).OrderBy(b => b.CreatedDate).ToList()); }
protected void Page_Load(object sender, EventArgs e) { ClientScript.GetPostBackEventReference(btnPayment, string.Empty); if (!string.IsNullOrWhiteSpace(Request["day"])) { btnPayment20.Visible = true; btnPayment.Visible = false; phList.Visible = false; } else { btnPayment20.Visible = false; btnPayment.Visible = true; LoadData(); } if (!IsPostBack) { txtRate.Text = BookingPaymentBLL.USDRateGetByDate(DateTime.Now).Rate.ToString("#,##0.##"); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { ltrBookingCode.Text = string.Format("OS{0:00000}", Booking.Id); if (Booking.Agency != null) { ltrAgency.Text = Booking.Agency.Name; } ltrStartDate.Text = Booking.StartDate.ToString("dd/MM/yyyy"); ltrService.Text = Booking.Trip.Name; if (Booking.Trip.NumberOfOptions > 1) { ltrService.Text += Booking.TripOption.ToString(); } if (Booking.IsTotalUsd) { ltrRevenueUSD.Text = Booking.Value.ToString("#,0.#") + " USD"; } else { ltrRevenueUSD.Text = Booking.Value.ToString("#,0.#") + " VND"; } if (Booking.CurrencyRate == 0) { if (Booking.IsTotalUsd) { txtAppliedRate.Text = BookingPaymentBLL.USDRateGetByDate(DateTime.Now).Rate.ToString("#,0.#"); } } else { txtAppliedRate.Text = Booking.CurrencyRate.ToString("#,0.#"); } if (Booking.IsTotalUsd == false) { txtAppliedRate.Text = "1"; } txtPaid.Text = 0.ToString("#,0.#"); txtPaidBase.Text = 0.ToString("#,0.#"); total = Booking.Total; paid = Booking.Paid; paidBase = Booking.PaidBase; chkPaid.Checked = Booking.IsPaid; if (Booking.CurrencyRate == 0) { if (Booking.IsTotalUsd) { Booking.CurrencyRate = BookingPaymentBLL.USDRateGetByDate(DateTime.Now).Rate; } } if (Booking.IsTotalUsd == false && Booking.CurrencyRate <= 0) { Booking.CurrencyRate = 1; } if (Booking.IsTotalUsd) { ltrRemainVND.Text = "(" + Booking.AgencyReceivable.ToString("#,0.#") + " VND)"; ltrRemainUSD.Text = (Booking.AgencyReceivable / Booking.CurrencyRate).ToString("#,0.##") + " USD"; } else { ltrRemainVND.Text = Booking.AgencyReceivable.ToString("#,0.#") + " VND"; txtPaid.Visible = false; trUsdPaid.Visible = false; txtAppliedRate.Attributes.Add("readonly", "true"); } rptPaymentHistory.DataSource = Booking.Transactions; rptPaymentHistory.DataBind(); } }
protected void btnSave_Click(object sender, EventArgs e) { double appliedRate; double currentRate = BookingPaymentBLL.USDRateGetByDate(DateTime.Now).Rate; if (txtAppliedRate.Text != string.Empty) { appliedRate = Convert.ToDouble(txtAppliedRate.Text); } else { appliedRate = 0; } double usdPaid = Convert.ToDouble(txtPaid.Text); double vndPaid = Convert.ToDouble(txtPaidBase.Text); usdPaid += Booking.Paid; vndPaid += Booking.PaidBase; try { if (Booking.IsTotalUsd && Convert.ToDouble(txtAppliedRate.Text) > 1) { Booking.CurrencyRate = Convert.ToDouble(txtAppliedRate.Text); } } catch (Exception) { } double paidUSD = 0.0; try { paidUSD = Convert.ToDouble(txtPaid.Text); } catch (Exception) { } double paidVND = 0.0; try { paidVND = Convert.ToDouble(txtPaidBase.Text); } catch (Exception) { } double totalPaidUSD = 0; double totalPaidVND = 0; foreach (var t in Booking.Transactions) { if (t.TransactionType == Transaction.BOOKING) { totalPaidUSD += t.USDAmount; totalPaidVND += t.VNDAmount; } } var transaction = new Transaction() { Agency = Booking.Agency, Booking = Booking, CreatedBy = CurrentUser, CreatedDate = DateTime.Now, IsExpense = false, TransactionType = Transaction.BOOKING, USDAmount = paidUSD, VNDAmount = paidVND, Note = txtNote.Text, }; if (Convert.ToDouble(txtAppliedRate.Text) > 1) { transaction.AppliedRate = Convert.ToDouble(txtAppliedRate.Text); } BookingPaymentBLL.TransactionSaveOrUpdate(transaction); totalPaidUSD += transaction.USDAmount; totalPaidVND += transaction.VNDAmount; Booking.Paid = totalPaidUSD; Booking.PaidBase = totalPaidVND; bool temp; temp = Booking.IsPaid; Booking.IsPaid = false; if (Booking.AgencyReceivable == 0) { chkPaid.Checked = true; } Booking.IsPaid = temp; if (Booking.IsPaid != chkPaid.Checked) { Booking.IsPaid = chkPaid.Checked; if (Booking.IsPaid) { Booking.PaidDate = DateTime.Now; } } Booking.AgencyConfirmed = false; BookingPaymentBLL.BookingSaveOrUpdate(Booking); ClientScript.RegisterStartupScript(this.GetType(), "RefreshParentPage", "<script>window.parent.location.href = window.parent.location.href;</script>"); }