public ForActionReportModel(ServicesProxy servicesProxy, string id = null)
        {
            Header              = new ForActionReportTableItem();
            PostReportParams    = new ForActionReportParams();
            groupContactsResult = servicesProxy.TicketService.GetGroupContacts();
            groupContactsResult.GroupContacts = groupContactsResult.GroupContacts
                                                .Where(c => !c.IsUnassigned || (c.IsUnassigned && servicesProxy.RequestState.UserDetails.CanViewUnassigned))
                                                .OrderBy(c => c.Description).ToList();

            if (servicesProxy.RequestState != null && servicesProxy.RequestState.UserDetails != null)
            {
                servicesProxy.RequestState.UserDetails.GroupContact = groupContactsResult.GetGroupContact(servicesProxy.RequestState.UserDetails.GroupContact.Code);
                SelectedGroupContact = !string.IsNullOrEmpty(id)
                    ? groupContactsResult.GetGroupContact(id)
                    : servicesProxy.RequestState.UserDetails.GroupContact;
            }

            if (SelectedGroupContact == null)
            {
                SelectedGroupContact = groupContactsResult.GetGroupContact("0");
            }

            ReportParams = new ForActionReportParams
            {
                GroupContact = SelectedGroupContactValue
            };

            Result = servicesProxy.ReportService.ForActionReport(ReportParams);
        }
        public ForActionReportResult ForActionReport(ForActionReportParams Params)
        {
            var searchCriteria = new TicketSearchParams
            {
                Assignment = new Assignment
                {
                    GroupContact = new GroupContact(Params.GroupContact)
                },
                ExcludeTicketStatusList = new List <string>
                {
                    TicketStatus.Closed.ToString().PascalCaseToDescription(),
                TicketStatus.ClosedDuplicate.ToString().PascalCaseToDescription(),
                TicketStatus.ClosedTooLate.ToString().PascalCaseToDescription(),
                },
                IsForwardOrder = true
            };
            var items = searchCriteria.Search(requestState).ToForActionReport();

            foreach (var item in items)
            {
                item.Reasons      = CleanReasons(item.Reasons);
                item.GroupContact = CleanGroupContact(item.GroupContact);
            }
            return(new ForActionReportResult
            {
                OpenTicketCount = items.Count(),
                Report = new ForActionReport
                {
                    Items = items
                }
            });
        }
 public JsonResult ForAction(ForActionReportParams ReportParams)
 {
     return(Json(ServicesProxy.ReportService.ForActionReport(ReportParams), JsonRequestBehavior.AllowGet));
 }
Example #4
0
 public ForActionReportResult ForActionReport(ForActionReportParams Params)
 {
     return(reportRepository.ForActionReport(Params));
 }