private BillingPreviewRunResult SubmitBillingPreviewRequest(BillingPreviewRunInputs inputs) { BillingPreviewRunResult result = new BillingPreviewRunResult("Start", "", 0, DateTime.Now, "", ""); BillingPreviewRunService billingService = new BillingPreviewRunService(); bool loginSuccess = billingService.Login(inputs.UserId, inputs.Password); if (loginSuccess) { string requestId = ""; if (inputs.RequestId != "") { requestId = inputs.RequestId; } else { requestId = billingService.SubmitBillingPreviewRequest(inputs.TargetDate); } if (!string.IsNullOrWhiteSpace(requestId)) { // try 5 times to wait for the result. for (int i = 0; i < 10; i++) { // check for result result = billingService.GetBillingRequestById(requestId); // break if the request is complete if (result.Status == "Completed") { break; } // sleep 5 seconds Thread.Sleep(5000); } } else { return(new BillingPreviewRunResult("Error", "", 0, DateTime.Now, "Submit BillingPreviewRun request failed!", requestId)); } return(result); } else { return(new BillingPreviewRunResult("Error", "", 0, DateTime.Now, "Login failed! Check your credentials.", "")); } }
public void Init() { BillingService = new BillingPreviewRunService(); BillingService.Login(AppSettings.Username, AppSettings.Password); }