//Agent Team CreateManage public ActionResult CreateTeam() { var model = new CallCenterTeamEditModel { AgentsMasterList = _organizationRoleUserRepository.GetIdNamePairofUsersByRole(Roles.CallCenterRep).Sort(OrderByDirection.Ascending, x => x.SecondValue) }; return(View(model)); }
public CallCenterTeamEditModel GetCallCenterTeamEditModel(long teamId) { var team = _callCenterTeamRepository.GetById(teamId); if (team == null) { return(null); } var currentAgentIds = _callCenterTeamRepository.GetTeamAgents(teamId); var agentMasterList = _organizationRoleUserRepository.GetIdNamePairofUsersByRole(Roles.CallCenterRep); var agentPairs = agentMasterList.Where(x => currentAgentIds.Contains(x.FirstValue)).Select(x => x).ToArray(); var masterListExceptAssignedAgents = agentMasterList.Select(x => x.FirstValue).Except(currentAgentIds); if (masterListExceptAssignedAgents.Any()) { agentMasterList = agentMasterList.Where(x => masterListExceptAssignedAgents.Contains(x.FirstValue)).Select(x => x).ToArray(); } else { agentMasterList = new List <OrderedPair <long, string> >(); } return(new CallCenterTeamEditModel { Id = team.Id, Assignments = agentPairs.Sort(OrderByDirection.Ascending, x => x.SecondValue), Description = team.Description, Name = team.Name, TypeId = team.TypeId, AgentsMasterList = agentMasterList.Sort(OrderByDirection.Ascending, x => x.SecondValue) }); }
public void PollForEvaluationReminderNotification() { _logger.Info("Starting the Polling Agent for Evaluation Reminder Notification."); var value = _configurationSettingRepository.GetConfigurationValue(ConfigurationSettingName.SendEmptyQueueEvaluationReminder); var physicians = _organizationRoleUserRepository.GetIdNamePairofUsersByRole(Roles.MedicalVendorUser); foreach (var orderedPair in physicians) { var overReadEvaluationPair = _physicianRepository.GetEventCustomerIdForOverReadPhysicianEvaluation(orderedPair.FirstValue); var evaluationPair = _physicianRepository.GetEventCustomerIdForPhysicianEvaluation(orderedPair.FirstValue); if ((value.ToLower() == bool.TrueString.ToLower()) || (evaluationPair.ItemsAvailable > 0 || overReadEvaluationPair.ItemsAvailable > 0)) { try { var createdByOrgRoleUserId = _organizationRoleUserRepository.GetOrganizationRoleUserIdsForRole((long)Roles.FranchisorAdmin).First(); var orgRoleUser = _organizationRoleUserRepository.GetOrganizationRoleUser(orderedPair.FirstValue); var evaluationReminderNotificationModel = _emailNotificationModelsFactory.GetEvaluationReminderNotificationModel(orderedPair.FirstValue); _notifier.NotifySubscribersViaEmail(NotificationTypeAlias.EvaluationReminder, EmailTemplateAlias.EvaluationReminder, evaluationReminderNotificationModel, orgRoleUser.UserId, createdByOrgRoleUserId, "Evaluation Reminder Notification"); } catch (Exception ex) { _logger.Info( String.Format("\n System failure: For Physician:{0} \n Message{1}", orderedPair.SecondValue, ex.Message)); } } else { _logger.Info(String.Format("\n No Evaluation Pending For Physician:{0}", orderedPair.SecondValue)); } } }