Example #1
0
        public decimal CalculateReservationPrice(int totalPeople, string dateofEntry, string dateofOut)
        {
            PriceRateManagement       _pricerateManagement       = new PriceRateManagement();
            ReservationTypeManagement _reservationtypemanagement = new ReservationTypeManagement();
            ReservationTypes          reservationtypeprice;
            PriceRates priteRates1;
            PriceRates priteRates2;

            DateTime entryDate = Convert.ToDateTime(dateofEntry);

            DateTime outDate = Convert.ToDateTime(dateofOut);

            int     weekdays             = 0;
            int     weekend              = 0;
            decimal totalReservationCost = 0;

            do
            {
                if (entryDate.DayOfWeek != DayOfWeek.Friday && entryDate.DayOfWeek != DayOfWeek.Saturday)
                {
                    weekdays += 1;
                }
                else
                {
                    weekend += 1;
                }

                entryDate = entryDate.AddDays(1);
            } while (entryDate <= outDate);

            while (totalPeople > 0)
            {
                if (totalPeople % 3 == 1)
                {
                    if (totalPeople > 1)
                    {
                        priteRates1 = _pricerateManagement.GetById("ÜHİ");
                        priteRates2 = _pricerateManagement.GetById("ÜHS");

                        totalReservationCost += (priteRates1.Rate * weekdays) + (priteRates2.Rate * weekend);

                        priteRates1 = _pricerateManagement.GetById("THİ");
                        priteRates2 = _pricerateManagement.GetById("THS");

                        totalReservationCost += (priteRates1.Rate * weekdays) + (priteRates2.Rate * weekend);

                        totalPeople -= 4;
                    }
                    else if (totalPeople == 1)
                    {
                        priteRates1           = _pricerateManagement.GetById("THİ");
                        priteRates2           = _pricerateManagement.GetById("THS");
                        totalReservationCost += (priteRates1.Rate * weekdays) + (priteRates2.Rate * weekend);
                        totalPeople          -= 1;
                        break;
                    }
                }

                if (totalPeople % 3 == 2)
                {
                    if (totalPeople != 2)
                    {
                        priteRates1 = _pricerateManagement.GetById("ÜHİ");
                        priteRates2 = _pricerateManagement.GetById("ÜHS");


                        totalReservationCost += (priteRates1.Rate * weekdays) + (priteRates2.Rate * weekend);


                        priteRates1 = _pricerateManagement.GetById("SHİ");
                        priteRates2 = _pricerateManagement.GetById("SHS");

                        totalReservationCost += (priteRates1.Rate * weekdays) + (priteRates2.Rate * weekend);

                        if (totalPeople == 5)
                        {
                            break;
                        }
                        totalPeople -= 5;
                    }
                    else if (totalPeople == 2)
                    {
                        priteRates1           = _pricerateManagement.GetById("SHİ");
                        priteRates2           = _pricerateManagement.GetById("SHS");
                        totalReservationCost += (priteRates1.Rate * weekdays) + (priteRates2.Rate * weekend);
                        totalPeople          -= 2;
                        break;
                    }
                }

                if (totalPeople % 3 == 0)
                {
                    priteRates1 = _pricerateManagement.GetById("ÜHİ");
                    priteRates2 = _pricerateManagement.GetById("ÜHS");

                    totalReservationCost += (priteRates1.Rate * weekdays) + (priteRates2.Rate * weekend);

                    totalPeople -= 3;
                }
            }

            reservationtypeprice = _reservationtypemanagement.GetById(Convert.ToInt32(ddlreservationtype.SelectedValue));

            totalPeople = 0;

            Session["totalprice"] = (totalReservationCost + reservationtypeprice.ReservationTypePrice);

            return(totalReservationCost + reservationtypeprice.ReservationTypePrice);
        }
 public ReservationTypeManagementBLL()
 {
     _management = new ReservationTypeManagement();
 }