public List <CLayer.Rates> GetCalcDailyRates(long accommodationId) { List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); List <CLayer.Rates> result = new List <CLayer.Rates>(); param.Add(Connection.GetParameter("pAccommodationId", DataPlug.DataType._BigInt, accommodationId)); DataTable dt = Connection.GetTable("ratesaccomodation_GetCalcDailyRates", param); CLayer.Rates rt1; foreach (DataRow dr in dt.Rows) { rt1 = new CLayer.Rates(); rt1.RateFor = Connection.ToInteger(dr["RateFor"]); rt1.RateId = Connection.ToLong(dr["RateId"]); rt1.AccommodationId = accommodationId; rt1.DailyRate = Connection.ToDecimal(dr["DailyRate"]); rt1.CalcDailyRate = Connection.ToDecimal(dr["CalcDailyRate"]); rt1.GuestRate = Connection.ToDecimal(dr["GuestRate"]); rt1.LongTermRate = Connection.ToDecimal(dr["LongTermRate"]); rt1.MonthlyRate = Connection.ToDecimal(dr["MonthlyRate"]); rt1.WeeklyRate = Connection.ToDecimal(dr["WeeklyRate"]); result.Add(rt1); } return(result); }
//**Added by rahul on 04/03/2020 //*This is for getting rates for property Accommodation for API public List <CLayer.Rates> GetAccommodationRatesForAPI(string AccIds, DateTime checkIn, DateTime checkOut, int noOfDays, CLayer.Role.Roles rateType, CLayer.Role.Roles defaultType) { List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pAccs", DataPlug.DataType._Varchar, AccIds)); param.Add(Connection.GetParameter("pCheckIn", DataPlug.DataType._Date, checkIn)); param.Add(Connection.GetParameter("pCheckOut", DataPlug.DataType._Date, checkOut)); param.Add(Connection.GetParameter("pRateType", DataPlug.DataType._Int, rateType)); param.Add(Connection.GetParameter("pDefaultRateType", DataPlug.DataType._Int, (int)defaultType)); param.Add(Connection.GetParameter("pBookingDayCount", DataPlug.DataType._Int, (int)noOfDays)); DataTable dt = Connection.GetTable("accommodation_GetAvailabilityAndRateForAPI", param); List <CLayer.Rates> result = new List <CLayer.Rates>(); CLayer.Rates rt; foreach (DataRow dr in dt.Rows) { rt = new CLayer.Rates(); rt.AccommodationId = Connection.ToLong(dr["AccommodationId"]); rt.Amount = Connection.ToDecimal(dr["Amount"]); rt.GuestRate = Connection.ToDecimal(dr["GuestRate"]); rt.StartDate = Connection.ToDate(dr["startdate"]); rt.EndDate = Connection.ToDate(dr["enddate"]); rt.RateType = Connection.ToInteger(dr["AType"]); rt.NoofAcc = Connection.ToInteger(dr["noofacc"]); rt.PurchaseRateAfterTax = Connection.ToDecimal(dr["DailyRate"]); result.Add(rt); } return(result); }
public string DynamicRateSave() { try { // update rates for all property List <CLayer.Property> pr = BLayer.Property.GetAllPropertiesForratesave(); if (pr.Count > 0) { foreach (CLayer.Property ProId in pr) { //get all accomodation by propertyid List <CLayer.Accommodation> acc = BLayer.Accommodation.GetAllAccByPropertyid(ProId.PropertyId); if (acc.Count > 0) { foreach (CLayer.Accommodation accid in acc) { //get all rates by accomodation List <CLayer.Rates> allrts = BLayer.Rate.GetAllRatesByAccId(accid.AccommodationId); if (allrts.Count > 0) { if (allrts != null) { foreach (CLayer.Rates ratedt in allrts) { CLayer.Rates dt = new CLayer.Rates(); dt.AccommodationId = accid.AccommodationId; dt.RateId = ratedt.RateId; dt.RateFor = ratedt.RateFor; dt.DailyRate = ratedt.DailyRate; dt.WeeklyRate = ratedt.WeeklyRate; dt.MonthlyRate = ratedt.MonthlyRate; dt.LongTermRate = ratedt.LongTermRate; dt.GuestRate = ratedt.GuestRate; dt.StartDate = ratedt.StartDate; dt.EndDate = ratedt.EndDate; dt.UpdatedBy = ratedt.UpdatedBy; BLayer.Rate.DynamicSave(dt); } } } } } } } return("true"); } catch (Exception ex) { Common.LogHandler.HandleError(ex); } return("false"); }
public static long Save(CLayer.Rates data) { DataLayer.Rate dr = new DataLayer.Rate(); if (data.WeeklyRate < 1) { data.WeeklyRate = data.DailyRate; } if (data.MonthlyRate < 1) { data.MonthlyRate = data.DailyRate; } if (data.LongTermRate < 1) { data.LongTermRate = data.DailyRate; } return(dr.Save(data)); }
public List <CLayer.Rates> GetAll(DateTime startDate, DateTime endDate, long accommodationId) { List <CLayer.Rates> result = new List <CLayer.Rates>(); StringBuilder sql = new StringBuilder(); sql.Append("Select RateId,RateFor,DailyRate,MonthlyRate,WeeklyRate,LongTermRate,GuestRate,StartDate,EndDate From rates Where StartDate='"); sql.Append(startDate.Year); sql.Append("-"); sql.Append(startDate.Month); sql.Append("-"); sql.Append(startDate.Day); sql.Append("' And EndDate='"); sql.Append(endDate.Year); sql.Append("-"); sql.Append(endDate.Month); sql.Append("-"); sql.Append(endDate.Day); sql.Append("' And AccommodationId="); sql.Append(accommodationId); DataTable dt = Connection.GetSQLTable(sql.ToString()); CLayer.Rates rt; foreach (DataRow dr in dt.Rows) { rt = new CLayer.Rates(); rt.RateFor = Connection.ToInteger(dr["RateFor"]); rt.RateId = Connection.ToLong(dr["RateId"]); rt.AccommodationId = accommodationId; rt.DailyRate = Connection.ToDecimal(dr["DailyRate"]); rt.MonthlyRate = Connection.ToDecimal(dr["MonthlyRate"]); rt.WeeklyRate = Connection.ToDecimal(dr["WeeklyRate"]); rt.LongTermRate = Connection.ToDecimal(dr["LongTermRate"]); rt.GuestRate = Connection.ToDecimal(dr["GuestRate"]); rt.StartDate = Connection.ToDate(dr["StartDate"]); rt.EndDate = Connection.ToDate(dr["EndDate"]); result.Add(rt); } return(result); }
public List <CLayer.Rates> GetAll(long accommodationId) { List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); param.Add(Connection.GetParameter("pAccommodationId", DataPlug.DataType._BigInt, accommodationId)); DataTable dt = Connection.GetTable("rates_GetAll", param); List <CLayer.Rates> result = new List <CLayer.Rates>(); CLayer.Rates temp; foreach (DataRow dr in dt.Rows) { temp = new CLayer.Rates(); temp.StartDate = Connection.ToDate(dr["StartDate"]); temp.EndDate = Connection.ToDate(dr["EndDate"]); temp.AccommodationId = Connection.ToLong(dr["AccommodationId"]); temp.UpdatedByUser = Connection.ToString(dr["Name"]); temp.UpdatedDate = Connection.ToDate(dr["UpdatedDate"]); result.Add(temp); } return(result); }
public long DynamicSave(CLayer.Rates data) { List <DataPlug.Parameter> param = new List <DataPlug.Parameter>(); Boolean isB2c = (data.RateFor == (int)CLayer.Role.Roles.Customer); param.Add(Connection.GetParameter("pAccommodationId", DataPlug.DataType._BigInt, data.AccommodationId)); param.Add(Connection.GetParameter("pRateId", DataPlug.DataType._BigInt, data.RateId)); param.Add(Connection.GetParameter("pRateFor", DataPlug.DataType._Int, data.RateFor)); param.Add(Connection.GetParameter("pDailyRate", DataPlug.DataType._Decimal, Math.Round(data.DailyRate))); param.Add(Connection.GetParameter("pWeeklyRate", DataPlug.DataType._Decimal, Math.Round(data.WeeklyRate))); param.Add(Connection.GetParameter("pMonthlyRate", DataPlug.DataType._Decimal, Math.Round(data.MonthlyRate))); param.Add(Connection.GetParameter("pLongTermRate", DataPlug.DataType._Decimal, Math.Round(data.LongTermRate))); param.Add(Connection.GetParameter("pGuestRate", DataPlug.DataType._Decimal, Math.Round(data.GuestRate))); param.Add(Connection.GetParameter("pStartDate", DataPlug.DataType._Date, data.StartDate)); param.Add(Connection.GetParameter("pEndDate", DataPlug.DataType._Date, data.EndDate)); param.Add(Connection.GetParameter("IsB2CMarkup", DataPlug.DataType._Bool, isB2c)); param.Add(Connection.GetParameter("pStatus", DataPlug.DataType._Int, data.Status)); param.Add(Connection.GetParameter("pUser", DataPlug.DataType._BigInt, data.UpdatedBy)); object obj = Connection.ExecuteQueryScalar("dynamicrates_Save", param); return(Connection.ToLong(obj)); }
public string SaveAccRate(Models.RateValueModel data) { CLayer.Rates rat = new CLayer.Rates(); rat.RateId = data.RRateId; rat.AccommodationId = data.AccommodationId; long uid = 0; long.TryParse(User.Identity.GetUserId(), out uid); //Get commission CLayer.RateCommission rc = BLayer.Property.GetCommission(BLayer.Accommodation.GetPropertyId(data.AccommodationId)); if (rc == null) { return("false"); } rat.UpdatedBy = uid; //find dates int days = DateTime.DaysInMonth(2014, data.StartMonth); if (days < data.StartDay) { data.StartDay = days; } rat.StartDate = new DateTime(DateTime.Today.Year, data.StartMonth, data.StartDay); days = DateTime.DaysInMonth(2014, data.EndMonth); if (days < data.EndDay) { data.EndDay = days; } rat.EndDate = new DateTime(DateTime.Today.Year, data.EndMonth, data.EndDay); //Save Regular rate rat.RateFor = (int)CLayer.Role.Roles.Customer; rat.RateId = data.RRateId; rat.DailyRate = data.RCDaily; rat.WeeklyRate = data.RCWeekly; rat.MonthlyRate = data.RCMonthly; rat.LongTermRate = data.RCLong; rat.GuestRate = data.RCGuest; BLayer.Rate.Save(rat); // Corporate rat.RateFor = (int)CLayer.Role.Roles.Corporate; rat.RateId = data.CRateId; rat.DailyRate = data.CCDaily; rat.WeeklyRate = data.CCWeekly; rat.MonthlyRate = data.CCMonthly; rat.LongTermRate = data.CCLong; rat.GuestRate = data.CCGuest; BLayer.Rate.Save(rat); ////Supplier //rat.RateFor = (int)CLayer.Role.Roles.Supplier; //rat.RateId = data.SRateId; //rat.DailyRate = data.SCDaily; //rat.WeeklyRate = data.SCWeekly; //rat.MonthlyRate = data.SCMonthly; //rat.GuestRate = data.SCGuest; //BLayer.Rate.Save(rat, rc.Supplier); ////Travel Agent //rat.RateFor = (int)CLayer.Role.Roles.Agent; //rat.RateId = data.TRateId; //rat.DailyRate = data.TCDaily; //rat.WeeklyRate = data.TCWeekly; //rat.MonthlyRate = data.TCMonthly; //rat.GuestRate = data.TCGuest; //BLayer.Rate.Save(rat, rc.TravelA); return("true"); }