public void AddByViewModel(LeadAssignmentSelectedPartnerViewModel viewModel, string userName) { foreach (var branchId in viewModel.PartnerBranchIds) { var assignment = new LeadAssignment() { LeadId = viewModel.LeadId, PartnerBranchId = branchId }; _context.LeadAssignments.Add(assignment); //this.SetState(assignment.Id, EnumState.SLA1, EnumStateActionTaken.Assigned, userName); this.SetState(assignment.Id, EnumState.SLA2, EnumStateActionTaken.Assigned, userName); } //_context.SaveChanges(); // will be commit at Controller }
public async Task <JsonResult> AjaxPostToAssignPartners([FromBody] LeadAssignmentSelectedPartnerViewModel data) { _leadAssRepo.AddByViewModel(data, User.Identity.Name); _leadRepo.SetLeadAssignedState(data.LeadId, User.Identity.Name); if (_uow.Commit()) { var lead = _leadRepo.GetByUid(data.LeadId); var leadVM = _leadsController.GetLeadViewModel(lead); var details = MessageHelper.GetLeadDetails(leadVM); // Passing customer's and lead's details to an email await _messageController.SendPartnerLeadAssigned(data.PartnerBranchIds, this.Url, this.Request, details, leadVM.LeadTypeName); return(Json(Ok())); } else { return(Json(StatusCode(Microsoft.AspNetCore.Http.StatusCodes.Status500InternalServerError))); } }