Esempio n. 1
0
        public ActionResult CallSkippedReport(CallSkippedReportFilter filter = null, int pageNumber = 1)
        {
            int totalRecords = 0;

            if (filter == null)
            {
                filter = new CallSkippedReportFilter {
                    DateFrom = DateTime.Now, DateTo = DateTime.Now.Date
                }
            }
            ;

            var model = _callSkippedReportService.GetCallSkippedReport(pageNumber, _pageSize, filter, out totalRecords);

            var currentAction        = ControllerContext.RouteData.Values["action"].ToString();
            var routeValueDictionary = new RouteValueDictionary
            {
                { "CallQueueId", filter.CallQueueId },
                { "DateFrom", filter.DateFrom },
                { "DateTo", filter.DateTo },
                { "CustomerId", filter.CustomerId },
                { "HealthPlanId", filter.HealthPlanId },
                { "AgentId", filter.AgentId },
                { "AgentName", filter.AgentName }
            };
            Func <int, string> urlFunc = pn => Url.Action(currentAction, AddRouteValueDictionary(routeValueDictionary, pn));

            model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc);

            return(View(model));
        }
Esempio n. 2
0
        public string CallSkippedReportExport(CallSkippedReportFilter filter, long userId)
        {
            var dataGen  = new ExportableDataGenerator <CallSkippedReportViewModel, CallSkippedReportFilter>(_callSkippedReportService.GetCallSkippedReport, Logger);
            var model    = dataGen.GetData(filter);
            var exporter = ExportableDataGeneratorProcessManager <ViewModelBase, ModelFilterBase> .GetCsvExporter <CallSkippedReportViewModel>();

            return(WriteCsv(GetExportableFileName("CallSkippedReport"), exporter, model.Collection, userId));
        }
Esempio n. 3
0
        public void CallSkippedReportAsync(string id = null, CallSkippedReportFilter filter = null)
        {
            if (id == null)
            {
                return;
            }

            AsyncManager.OutstandingOperations.Increment();
            var dataGen = new ExportableDataGenerator <CallSkippedReportViewModel, CallSkippedReportFilter>(_callSkippedReportService.GetCallSkippedReport);

            var processmanager = new ExportableDataGeneratorProcessManager <CallSkippedReportViewModel, CallSkippedReportFilter>();

            processmanager.Add(id, dataGen);

            GetNewProcessStarted(filter, dataGen, id);
        }
        public IEnumerable <CallSkippedReportEditModel> GetForCallSkippedReport(int pageNumber, int pageSize, CallSkippedReportFilter filter, out int totalRecords)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData = new LinqMetaData(adapter);

                var query = from gdfscr in linqMetaData.VwGetDataForSkippedCallReport select gdfscr;

                //moved this to View with No Lock
                //var query = (from ccqc in linqMetaData.CustomerCallQueueCallAttempt
                //             join cqc in linqMetaData.CallQueueCustomer on ccqc.CallQueueCustomerId equals cqc.CallQueueCustomerId
                //             where ccqc.IsCallSkipped == true
                //             select new { ccqc, cqc });

                if (filter != null)
                {
                    if (filter.DateTo == null && filter.DateFrom == null && filter.CallQueueId <= 0 && filter.HealthPlanId <= 0 && filter.CustomerId <= 0)  //user hit CLEAR button
                    {
                        filter.DateTo   = DateTime.Today;
                        filter.DateFrom = DateTime.Today;
                    }

                    if (filter.CallQueueId > 0)
                    {
                        query = query.Where(x => x.CallQueueId == filter.CallQueueId);
                    }

                    if (filter.HealthPlanId > 0)
                    {
                        query = query.Where(x => x.HealthPlanId == filter.HealthPlanId);
                    }
                    if (filter.CustomerId > 0)
                    {
                        query = query.Where(x => x.CustomerId == filter.CustomerId);
                    }

                    //name filter
                    if (filter.AgentId == 0 && string.Compare(filter.AgentName, "No records found", StringComparison.InvariantCultureIgnoreCase) == 0)
                    {
                        query = query.Where(x => x.AgentId == 0);
                    }
                    else if (filter.AgentId > 0)
                    {
                        query = query.Where(x => x.AgentId == filter.AgentId);
                    }

                    //date filters
                    if (filter.DateFrom.HasValue && filter.DateTo.HasValue)
                    {
                        query = query.Where(x => x.SkipCallDate.Date >= filter.DateFrom.Value.Date && x.SkipCallDate.Date <= filter.DateTo.Value.Date);
                    }
                    else if (!filter.DateFrom.HasValue && filter.DateTo.HasValue)
                    {
                        query = query.Where(x => x.SkipCallDate.Date <= filter.DateTo.Value.Date);
                    }
                    else if (filter.DateFrom.HasValue && !filter.DateTo.HasValue)
                    {
                        query = query.Where(x => x.SkipCallDate.Date >= filter.DateFrom.Value.Date);
                    }
                }

                totalRecords = query.Count();
                var entities = query.TakePage(pageNumber, pageSize).OrderByDescending(x => x.SkipCallDate).ToList();
                return(Mapper.Map <IEnumerable <VwGetDataForSkippedCallReportEntity>, IEnumerable <CallSkippedReportEditModel> >(entities));
            }
        }
Esempio n. 5
0
 public ActionResult CallSkippedReport(CallSkippedReportFilter filter = null)
 {
     return(CreateExportQueue(filter, ExportableReportType.CallSkippedReport, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId));
 }