示例#1
0
        protected void Application_Start()
        {
            Database.SetInitializer(new BlogDbInitializer());
            AreaRegistration.RegisterAllAreas();
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            NinjectModule blogModule    = new BlogModule();
            NinjectModule serviceModule = new ServiceModule("DefaultConnection");
            var           kernel        = new StandardKernel(blogModule, serviceModule);

            DependencyResolver.SetResolver(new NinjectDependencyResolver(kernel));
        }
 private void ConfigureIOC(IServiceCollection services)
 {
     var module = new BlogModule(services, Configuration);
 }
示例#3
0
        public async Task <ActionResult> Archive(int?blogCategory)
        {
            int category = (int)(blogCategory ?? 0);

            BlogModule   blogMod = new BlogModule();
            DisplayModel model   = new DisplayModel()
            {
            };

            using (BlogEntryDataProvider entryDP = new BlogEntryDataProvider()) {
                List <DataProviderSortInfo> sort = new List <DataProviderSortInfo> {
                    new DataProviderSortInfo {
                        Field = nameof(BlogEntry.DatePublished), Order = DataProviderSortInfo.SortDirection.Descending
                    },
                };
                List <DataProviderFilterInfo> filters = new List <DataProviderFilterInfo> {
                    new DataProviderFilterInfo {
                        Field = nameof(BlogEntry.Published), Operator = "==", Value = true
                    },
                };
                if (category != 0)
                {
                    filters = DataProviderFilterInfo.Join(filters, new DataProviderFilterInfo {
                        Field = nameof(BlogEntry.CategoryIdentity), Operator = "==", Value = category
                    });
                }

                int year = 0, month = 0, count = 0;

                int totalRecs = 0, start = 0, incr = 100;
                for ( ; ;)
                {
                    DataProviderGetRecords <BlogEntry> data = await entryDP.GetItemsAsync(start, incr, sort, filters);

                    if (data.Data.Count == 0)
                    {
                        return(new EmptyResult());
                    }

                    foreach (BlogEntry entry in data.Data)
                    {
                        if (entry.DatePublished.Month != month || entry.DatePublished.Year != year)
                        {
                            if (count > 0)
                            {
                                DateTime d = new DateTime(year, month, 1).AddMonths(1).AddSeconds(-1);
                                model.Actions.New(await blogMod.GetAction_BlogAsync(null, category, StartDate: d, Count: count));
                                count = 0;
                            }
                            month = entry.DatePublished.Month;
                            year  = entry.DatePublished.Year;
                        }
                        ++count;
                    }
                    start += incr;
                    if (start >= totalRecs)
                    {
                        if (count > 0)
                        {
                            DateTime d = new DateTime(year, month, 1).AddMonths(1).AddSeconds(-1);
                            model.Actions.New(await blogMod.GetAction_BlogAsync(null, category, StartDate: d, Count: count));
                        }
                        break;
                    }
                }
                return(View(model));
            }
        }