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));
            }
        }
Пример #2
0
        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);
        }