Esempio n. 1
0
        public ActionResult CustomerCdContentTracking(CustomerCdConentTrackingModelFilter filter = null, int pageNumber = 1, long eventId = 0)
        {
            int totalRecords = 0;

            if (eventId > 0)
            {
                filter = new CustomerCdConentTrackingModelFilter {
                    EventId = eventId
                }
            }
            ;
            var model = _operationsReportingService.GetCustomerCdContentTrackingModel(pageNumber, _pageSize, filter, out totalRecords);

            if (model == null)
            {
                model = new CustomerCdContentTrackingListModel();
            }
            model.Filter = filter;

            var currentAction = ControllerContext.RouteData.Values["action"].ToString();

            Func <int, string> urlFunc =
                pn => Url.Action(currentAction, new
            {
                pageNumber = pn,
                filter.EventId,
                filter.CustomerId,
                filter.CustomerName,
            });

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

            return(View(model));
        }
Esempio n. 2
0
        public CustomerCdContentTrackingListModel Create(IEnumerable <EventCustomer> eventCustomers, IEnumerable <Customer> customers, IEnumerable <OrderedPair <long, long> > orderIds,
                                                         IEnumerable <CdContentGeneratorTracking> cdContentGeneratorTrackings, IEnumerable <OrderedPair <long, string> > idNamePairs)
        {
            var model = new CustomerCdContentTrackingListModel();

            var customerCdContentTrackingModels = new List <CustomerCdContentTrackingModel>();

            eventCustomers.ToList().ForEach(ec =>
            {
                var customer =
                    customers.Where(c => c.CustomerId == ec.CustomerId).
                    FirstOrDefault();

                var orderId =
                    orderIds.Where(o => o.SecondValue == ec.Id).Select(
                        o => o.FirstValue).FirstOrDefault();

                var cdContentGeneratorTracking =
                    cdContentGeneratorTrackings.Where(
                        ccgt => ccgt.EventCustomerResultId == ec.Id).Select(
                        ccgt => ccgt).FirstOrDefault();

                var downloadedBy = string.Empty;
                if (cdContentGeneratorTracking != null && cdContentGeneratorTracking.DownloadedByOrgRoleUserId.HasValue)
                {
                    downloadedBy =
                        idNamePairs.Where(
                            inp =>
                            inp.FirstValue ==
                            cdContentGeneratorTracking.DownloadedByOrgRoleUserId.Value).Select(inp => inp.SecondValue).FirstOrDefault();
                }

                customerCdContentTrackingModels.Add(
                    new CustomerCdContentTrackingModel
                {
                    EventId            = ec.EventId,
                    CustomerId         = customer.CustomerId,
                    Name               = customer.Name.FullName,
                    OrderId            = orderId,
                    CdContentGenerated =
                        cdContentGeneratorTracking != null
                                                                        ? cdContentGeneratorTracking.IsContentGenerated
                                                                        : false,

                    CdContentDownloaded =
                        cdContentGeneratorTracking != null
                                                                        ? cdContentGeneratorTracking.IsContentDownloaded
                                                                        : false,
                    DownloadedBy   = downloadedBy,
                    DownloadedTime =
                        cdContentGeneratorTracking != null
                                                                        ? cdContentGeneratorTracking.DownloadedDate
                                                                        : null,
                    CdContentTrackingId =
                        cdContentGeneratorTracking != null
                                                                        ? cdContentGeneratorTracking.Id
                                                                        : 0
                }
                    );
            });
            model.Collection = customerCdContentTrackingModels;
            return(model);
        }