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);
        }
Beispiel #2
0
        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.##");
     }
 }
Beispiel #5
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();
            }
        }
Beispiel #6
0
        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>");
        }