protected void inserting_cityperdiem(object sender, EventArgs e) { var city = tbxCity.Text; var rate = tbxCityPerDiemRate.Text; double rateDouble; if (!double.TryParse(rate, out rateDouble)) return; var billingController = new BillingDefaultCityRateController(); var billingCityRateController = new BillingCityRateController(); var billingPeriodAccountJoinController = new BillingPeriodAccountsJoinController(); var newDefaultCityRate = billingController.InsertObjReturn(Convert.ToInt32(BillingAccountDropDown.SelectedValue), rateDouble, city); var openPeriodAccountJoinCol = billingPeriodAccountJoinController.FetchOpenPeriodByAccountId( Convert.ToInt32(BillingAccountDropDown.SelectedValue)); //add new city to active billing periods foreach (var openPeriod in openPeriodAccountJoinCol) { billingCityRateController.Insert(newDefaultCityRate.Id, openPeriod.Id, rateDouble); } tbxCity.Text = string.Empty; tbxCityPerDiemRate.Text = string.Empty; CityPerDiemGridView.DataBind(); }
public void Insert(Int32 PeriodID, Int32 AccountID) { /* step 1 is to create our row in BillingPeriodAccounts table */ BillingAccount billingAccount = new BillingAccountController().FetchByID(AccountID)[0]; Insert(PeriodID, AccountID, billingAccount.Defaultperdiemrate, false, null, null, null, null, billingAccount.Defaultmileagerate); BillingPeriodAccount current = new BillingPeriodAccountCollection().Where(BillingPeriodAccount.Columns.Periodid, PeriodID).Where(BillingPeriodAccount.Columns.Accountid, AccountID).Load()[0]; int periodaccountid = current.Id; /* step 2 is for each rate group, pull out the default value from DefaultBillingRates and Insert into BillingRates for this BillingPeriodAccount*/ BillingRateController billingRateController = new BillingRateController(); foreach (RateGroup rategroup in new RateGroupController().FetchAll()) { double defaultrate = new DefaultBillingRateController().FetchRate(AccountID, rategroup.Id); billingRateController.Insert(periodaccountid, rategroup.Id, defaultrate, false, null, null, null, null); } /* step 3 is for each City Per Diem rate record, pull out the default value from BillingDefaultCityRates and Insert into BillingCityRates for this BillingPeriodAccount*/ var billingCityRateController = new BillingCityRateController(); foreach (var cityRateGroup in new BillingDefaultCityRateController().FetchAllActiveByAccountId(AccountID)) { billingCityRateController.Insert(cityRateGroup.Id, periodaccountid, cityRateGroup.DefaultPerDiemRate); } }
public BillingPeriodAccountsJoinCollection FetchByPeriodIDWithoutCityPerdiem(Int32 periodid) { var billingCityRateController = new BillingCityRateController(); var billingCityCol = billingCityRateController.FetchAllActive(); var billingPeriodsCol = new BillingPeriodAccountsJoinCollection().Where(BillingPeriodAccountsJoin.Columns.Periodid, periodid).OrderByAsc(BillingPeriodAccountsJoin.Columns.Accountname).Load(); var billingCityPeriodAccountIds = new List<int>(); var retBillingPeriodAccountCol = new BillingPeriodAccountsJoinCollection(); billingCityPeriodAccountIds.AddRange(billingCityCol.Select(billingCity => billingCity.Periodaccountid)); foreach (var billingPeriod in billingPeriodsCol) { if(!billingCityPeriodAccountIds.Contains(billingPeriod.Id)) retBillingPeriodAccountCol.Add(billingPeriod); } return retBillingPeriodAccountCol; }
public BillingPeriodAccountsJoinCollection FetchByPeriodIDWithoutCityPerdiem(Int32 periodid) { var billingCityRateController = new BillingCityRateController(); var billingCityCol = billingCityRateController.FetchAllActive(); var billingPeriodsCol = new BillingPeriodAccountsJoinCollection().Where(BillingPeriodAccountsJoin.Columns.Periodid, periodid).OrderByAsc(BillingPeriodAccountsJoin.Columns.Accountname).Load(); var billingCityPeriodAccountIds = new List <int>(); var retBillingPeriodAccountCol = new BillingPeriodAccountsJoinCollection(); billingCityPeriodAccountIds.AddRange(billingCityCol.Select(billingCity => billingCity.Periodaccountid)); foreach (var billingPeriod in billingPeriodsCol) { if (!billingCityPeriodAccountIds.Contains(billingPeriod.Id)) { retBillingPeriodAccountCol.Add(billingPeriod); } } return(retBillingPeriodAccountCol); }