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(); }