public async Task <bool> RunDailyTask(bool noEmail = false) { bool result = true; // Check client tool auths ResourceClientUtility.CheckExpiringClients(ResourceClientUtility.SelectExpiringClients(), ResourceClientUtility.SelectExpiringEveryone(), noEmail); ResourceClientUtility.CheckExpiredClients(ResourceClientUtility.SelectExpiredClients(), ResourceClientUtility.SelectExpiredEveryone(), noEmail); using (var bc = new BillingClient()) { BillingProcessResult bpr; // Update Data and DataClean tables bpr = await bc.BillingProcessDataUpdate(BillingCategory.Tool, true); result = result && bpr.Success; bpr = await bc.BillingProcessDataUpdate(BillingCategory.Room, true); result = result && bpr.Success; bpr = await bc.BillingProcessDataUpdate(BillingCategory.Store, true); result = result && bpr.Success; //2009-08-01 Populate the Billing temp tables DateTime ed = DateTime.Now.Date.AddDays(-1); //must be yesterday DateTime period = ed.FirstOfMonth(); bpr = await bc.BillingProcessStep1(BillingCategory.Tool, period, period.AddMonths(1), 0, 0, true, true); result = result && bpr.Success; bpr = await bc.BillingProcessStep1(BillingCategory.Room, period, period.AddMonths(1), 0, 0, true, true); result = result && bpr.Success; bpr = await bc.BillingProcessStep1(BillingCategory.Store, period, period.AddMonths(1), 0, 0, true, true); result = result && bpr.Success; } return(result); }