Beispiel #1
0
        public ActionResult Index(MarketingSourceListModelFilter filter = null, int pageNumber = 1)
        {
            int totalRecords;

            var model = _marketingSourceService.GetPagedRecords(pageNumber, _pageSize, filter, out totalRecords);


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

            var currentAction          = ControllerContext.RouteData.Values["action"].ToString();
            Func <int, string> urlFunc = pn => Url.Action(currentAction, new { pageNumber = pn, filter.MarketingSourceName });

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

            return(View(model));
        }
Beispiel #2
0
        public MarketingSourceListModel GetPagedRecords(int pageNumber, int pageSize, MarketingSourceListModelFilter filter, out int totalRecords)
        {
            var marketingSources = _marketingSourceRepository.GetPagedRecords(pageNumber, pageSize, filter, out totalRecords);
            var models           = Mapper.Map <IEnumerable <MarketingSource>, IEnumerable <MarketingSourceBasicModel> >(marketingSources);

            var marketingSourceTerritories = _marketingSourceRepository.GetMarketingSourceTerritories(marketingSources.Select(m => m.Id));

            if (!marketingSourceTerritories.IsNullOrEmpty())
            {
                var territories = _territoryRepository.GetTerritories(marketingSourceTerritories.Select(m => m.SecondValue).Distinct().ToList());
                foreach (var model in models)
                {
                    var modelTerritories = marketingSourceTerritories.Where(mst => mst.FirstValue == model.Id).Select(mst => mst.SecondValue).ToArray();
                    if (!modelTerritories.IsNullOrEmpty())
                    {
                        model.Territories = territories.Where(t => modelTerritories.Contains(t.Id)).Select(t => t.Name);
                    }
                }
            }

            return(new MarketingSourceListModel()
            {
                MarketingSourceBasicModels = models
            });
        }