HI,
I am getting this error when trying to run multiple failed billing.Can any one help me to fix this.
Controller
- [HttpPost]
- [ValidateAntiForgeryToken]
- public async Task<ActionResult> ReRunFailedSelectedBilling(List<BillingFailedViewModel> FailedGroups)
- {
- if (_logger.IsInfoEnabled)
- _logger.LogInfo(string.Format("Entering ReRunFailedSelectedBilling"));
- List<BillingFailedViewModel> CGs = FailedGroups.Where(x => x.ReRunFlag).ToList();
-
- using (var dbContextScope = _dbContextScopeFactory.Create())
- {
- foreach (BillingFailedViewModel group in CGs)
- {
- ReRunModel run = new ReRunModel((int)group.Id, DbConnection, ServerURL);
- var login = HttpContext.User.Identity.Name;
- run.Reject(login);
- if (run._Status.Success == false)
- {
- TempData["Failure"] = "Error in rejection. Failed to reject.";
- }
- else
- {
-
- var wfr = run.SetWorkflowRequest();
- dbContextScope.SaveChanges();
- run.WorkflowRequestId = wfr.Id;
- await run.RunAsync(login);
- }
- }
- }
- using (var dbContextScope = _dbContextScopeFactory.Create())
- {
- if (_logger.IsInfoEnabled)
- _logger.LogInfo("Exiting ReRunFailedSelectedBilling");
- var query = FailedGroups.First().Query;
- return RedirectToAction("Billing", "Manage", new { Area = "Billing", CalendarPeriodId = query.CalendarPeriodId, WorkflowGroupId = query.WorkflowGroupId, CompanyId = query.CompanyId, GroupSearch = query.GroupSearch, DisplayBucket = query.DisplayBucket, ShowWorkflowRequests = true });
- }
- }
Model.cs
- public async Task RunAsync(string login)
- {
- logger.LogInfo(string.Format("PERF RunAsync starting"));
-
- string customer = _WfRepo.GetCurrentUserCustomer(_User.WindowsUserName).Customer.Code;
- ServiceStatus status = new ServiceStatus { Success = false, Message = "Run failed." };
- if (WorkflowRequestId!=null)
- {
- BusinessActionService.WorkflowRequest request = new BusinessActionService.WorkflowRequest()
- {
- WorkflowRequestId = WorkflowRequestId.ToString(),
- CustomerCode = customer,
- UserName = _User.WindowsUserName,
- LoginName = login
- };
- try
- {
- logger.LogInfo(string.Format("PERF RequestBillingAsync {0} called", WorkflowRequestId.ToString()));
- await _Service.RequestBillingAsync(request).ConfigureAwait(false);
- }
- catch (Exception e)
- {
- logger.LogError("RequestBilling failed ", e);
- }
- logger.LogInfo(string.Format("PERF RequestBillingAsync {0} returned", WorkflowRequestId.ToString()));
- }
- logger.LogInfo(string.Format("PERF RunAsync ending "));
- }