Esempio n. 1
0
        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
        }
Esempio n. 2
0
        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)));
            }
        }