public ActionResult ManageCallCenterTeam(CallCenterTeamListModelFilter filter = null, int pageNumber = 1) { try { int totalRecords; var model = _callCenterTeamService.GetCallCenterTeams(pageNumber, _pageSize, filter, out totalRecords) ?? new CallCenterTeamListModel(); model.Filter = filter; var currentAction = ControllerContext.RouteData.Values["action"].ToString(); Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.Name }); model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc); IoC.Resolve <ILogManager>().GetLogger <Global>().Info("Call Upload going to return view @" + DateTime.Now); return(View(model)); } catch (Exception ex) { IoC.Resolve <ILogManager>().GetLogger <Global>().Error(ex.Message); IoC.Resolve <ILogManager>().GetLogger <Global>().Error("Call Center Team Detail Stack Trace :" + ex.StackTrace); var model = new CallCenterTeamListModel(); model.Filter = filter; return(View(model)); } }
public CallCenterTeamListModel Create(IEnumerable <CallCenterTeam> teams, IEnumerable <OrderedPair <long, long> > teamIdAgentIdPairs, IEnumerable <OrderedPair <long, string> > idNamePairs) { var model = new CallCenterTeamListModel(); var teamModels = new List <CallCenterTeamViewModel>(); foreach (var callCenterTeam in teams) { var createdBy = idNamePairs.First(x => x.FirstValue == callCenterTeam.DataRecorderMetaData.DataRecorderCreator.Id).SecondValue; var modifiedBy = ""; if (callCenterTeam.DataRecorderMetaData.DataRecorderModifier != null && callCenterTeam.DataRecorderMetaData.DataRecorderModifier.Id > 0) { modifiedBy = idNamePairs.First(x => x.FirstValue == callCenterTeam.DataRecorderMetaData.DataRecorderModifier.Id).SecondValue; } var agentIds = teamIdAgentIdPairs.Where(x => x.FirstValue == callCenterTeam.Id).Select(x => x.SecondValue).ToArray(); var agents = idNamePairs.Where(x => agentIds.Contains(x.FirstValue)).Select(x => x.SecondValue).ToArray(); var teamModel = new CallCenterTeamViewModel { Id = callCenterTeam.Id, Name = callCenterTeam.Name, Description = callCenterTeam.Description, Type = ((AgentTeamType)callCenterTeam.TypeId).GetDescription(), DateCreated = callCenterTeam.DataRecorderMetaData.DateCreated, DateModified = callCenterTeam.DataRecorderMetaData.DateModified, CreatedBy = createdBy, ModifiedBy = modifiedBy, Agents = agents }; teamModels.Add(teamModel); } model.Collection = teamModels; return(model); }