private async Task GetArticlesListAsync()
 {
     using (ArticleDbContext articleDbContext = new ArticleDbContext())
     {
         ArticleList = await articleDbContext.Articles.ToListAsync();
     }
 }
Beispiel #2
0
        public ActionResult UpsertLocale(Article item)
        {
            if (ModelState.IsValid)
            {
                String error = null;
                if (item.ArticleID == 0)
                {
                    // create
                    error = ArticleDbContext.getInstance().tryCreateNewLocaleArticle(item);
                }
                else
                {
                    // edit
                    error = ArticleDbContext.getInstance().tryEditArticle(item);
                }

                if (error != null)
                {
                    ModelState.AddModelError("", error);
                }
                else
                {
                    ViewBag.Message = "Edit '" + item.Name + "' successfully";
                    return(View(item));
                }
            }
            return(View(item));
        }
 public ArtikleDataAccess()
 {
     _provider  = InitServiceProviderDA.GetInstance().ServiceProvider;
     _dbContext = _provider.GetService <ArticleDbContext>();
     _logger    = _provider.GetService <ILogger>();
     //{ Name = "ILoggerFactory" Id = "Microsoft.Extensions.Logging.ILoggerFactory"}
 }
 public static List <T> GetList <T>(Expression <Func <T, bool> > expression) where T : BaseEntity, new()
 {
     using (var context = new ArticleDbContext())
     {
         return(context.Set <T>().Where(expression).ToList());
     }
 }
 public static T Get <T>(int id) where T : BaseEntity
 {
     using (var context = new ArticleDbContext())
     {
         return(context.Set <T>().Where(x => x.Id == id).FirstOrDefault());
     }
 }
 private async Task GetMainHeaderListAsync()
 {
     using (ArticleDbContext articleDbContext = new ArticleDbContext())
     {
         MainHeaderList = await articleDbContext.MainHeaders.ToListAsync();
     }
 }
Beispiel #7
0
        public ActionResult EditProperties(int baseArticleID = 0, int version = 0, String lang = null)
        {
            Article item = ArticleDbContext.getInstance().findArticleByVersionAndLang(baseArticleID, version, lang);

            if (item == null)
            {
                // if locale not exists, create blank form, while inheriting latest base article's version
                var baseArticle = ArticleDbContext.getInstance().findLatestArticleByBaseArticleID(baseArticleID, null);
                if (baseArticle == null)
                {
                    return(HttpNotFound());
                }

                var article = new Article();
                article.BaseArticleID = baseArticle.BaseArticleID;
                article.Lang          = lang;
                article.Version       = baseArticle.Version;
                item = article;
            }
            else
            {
                // if locale exists, treat as edit form
            }
            ViewBag.categoryID = getCategoriesForSelect(item.categoryID);
            return(View(item));
        }
Beispiel #8
0
        public ActionResult DetailsProperties(int baseArticleID = 0, int version = 0, String lang = null)
        {
            // find existing locale article for base article ID and version and lang
            Article item = ArticleDbContext.getInstance().findArticleByVersionAndLang(baseArticleID, version, lang);

            if (item == null)
            {
                // if locale not exists, create blank form, while inheriting latest base article's version
                var baseArticle = ArticleDbContext.getInstance().findLatestArticleByBaseArticleID(baseArticleID, null);
                if (baseArticle == null)
                {
                    return(HttpNotFound());
                }

                var article = new Article();
                article.BaseArticleID = baseArticle.BaseArticleID;
                article.Lang          = lang;
                article.Version       = baseArticle.Version;
                item = article;
            }
            else
            {
                // if locale exists, treat as edit form
            }
            return(View(item));
        }
Beispiel #9
0
 public ActionResult CreateNewVersion(Article article)
 {
     if (ModelState.IsValid)
     {
         article.Lang    = null;
         article.Version = 0;
         var error = ArticleDbContext.getInstance().tryCreateNewArticle(article);
         if (error == null)
         {
             ModelState.Clear();
             var a = ArticleDbContext.getInstance().findLatestArticleByBaseArticle(article);
             TempData["Message"] = "New Version of '" + a.Name + "' with version: " + a.Version + " successfully created.";
             return(RedirectToAction("DetailsLocale", new { baseArticleID = a.BaseArticleID, version = a.Version, lang = a.Lang }));
         }
         else
         {
             ModelState.AddModelError("", error);
             return(View());
         }
     }
     else
     {
         return(View());
     }
 }
Beispiel #10
0
        static void Main(string[] args)
        {
            var     url  = "https://interface.meiriyiwen.com/article/random";
            string  json = HttpHelper.SendPost(url, new Dictionary <string, string>(), "get");
            JObject obj  = JObject.Parse(json);

            using (ArticleDbContext db = new ArticleDbContext("Server=.;Database=Reading;User ID=sa;Password=123456"))
            {
                var title  = (string)obj["data"]["title"];
                var author = (string)obj["data"]["author"];

                //表中是否存在此条数据
                bool exist = db.Articles.Any(a => a.Title == title && a.Author == author);
                if (!exist)
                {
                    db.Articles.Add(new Articles()
                    {
                        Title      = title,
                        Author     = author,
                        Details    = (string)obj["data"]["content"],
                        Summary    = (string)obj["data"]["digest"],
                        Category   = "阅读",
                        IssueTime  = DateTime.Now,
                        UpdateTime = DateTime.Now
                    });
                    db.SaveChanges();
                }
            }
        }
Beispiel #11
0
        public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ArticleDbContext articleDbContext)
        {
            if (!articleDbContext.Database.CanConnect())
            {
                articleDbContext.Database.EnsureCreated();
            }

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
                app.UseHsts();
            }
            app.UseHttpsRedirection();
            app.UseStaticFiles();

            app.UseRouting();

            app.UseAuthorization();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllerRoute(
                    name: "default",
                    pattern: "{controller=Home}/{action=Index}/{id?}");
            });
        }
 public static T Get <T>(Expression <Func <T, bool> > expression) where T : BaseEntity
 {
     using (var context = new ArticleDbContext())
     {
         return(context.Set <T>().Where(expression).FirstOrDefault());
     }
 }
Beispiel #13
0
        public IndexModel(ILogger <IndexModel> logger, IHttpClientFactory clientFactory, ArticleDbContext articleDbContext)
        {
            _logger           = logger;
            _clientFactory    = clientFactory;
            _articleDbContext = articleDbContext;

            this.Articles = new List <Article>();
        }
 public static BaseEntity Update(BaseEntity entity)
 {
     using (var context = new ArticleDbContext())
     {
         context.Set <BaseEntity>().Update(entity);
         context.SaveChanges();
         return(entity);
     }
 }
Beispiel #15
0
 public ArticleTopWidgetService(IWidgetBasePartService widgetService,
                                IArticleService articleService,
                                IApplicationContext applicationContext,
                                IArticleTypeService articleTypeService,
                                ArticleDbContext dbContext) : base(widgetService, applicationContext, dbContext)
 {
     _articleService     = articleService;
     _articleTypeService = articleTypeService;
 }
Beispiel #16
0
        public ActionResult ListArticleVersions(int baseArticleID = 0)
        {
            var article = new Article();

            article.BaseArticleID = baseArticleID;
            var items = ArticleDbContext.getInstance().findAllArticlesByBaseArticle(article);

            return(View(items));
        }
Beispiel #17
0
        public ActionResult DeleteSingle(int id = 0)
        {
            var item = ArticleDbContext.getInstance().findArticleByID(id);

            if (item == null)
            {
                return(HttpNotFound());
            }
            return(View(item));
        }
Beispiel #18
0
        public ActionResult List()
        {
            var items = ArticleDbContext.getInstance().findArticlesGroupByBaseVersion();

            if (TempData["Message"] != null)
            {
                ViewBag.Message = TempData["Message"];
            }
            return(View(items));
        }
 public ManagerController(IConfiguration configuration,
                          ArticleDbContext articleDbContext,
                          NotifyService notifyService,
                          IMemoryCache memoryCache)
 {
     this.articleDbContext = articleDbContext;
     this.configuration    = configuration;
     this.notifyService    = notifyService;
     this.memoryCache      = memoryCache;
 }
Beispiel #20
0
 public ServiceController(VerificationCodeService verificationHelper,
                          OssService ossService,
                          ArticleDbContext articleDbContext,
                          IServiceProvider serviceProvider)
 {
     this.verificationHelper = verificationHelper;
     this.ossService         = ossService;
     this.articleDbContext   = articleDbContext;
     this.serviceProvider    = serviceProvider;
 }
Beispiel #21
0
 public BlogController(ArticleDbContext articleDbContext,
                       OssService ossService,
                       IMemoryCache memoryCache,
                       IConfiguration configuration)
 {
     this.articleDbContext = articleDbContext;
     this.ossService       = ossService;
     this.memoryCache      = memoryCache;
     pageSize = configuration.GetValue <int>("PageSize");
 }
Beispiel #22
0
        public ArticleTests()
        {
            var options = new DbContextOptionsBuilder <ArticleDbContext>()
                          .UseNpgsql("User ID=root;Password=root;Host=localhost;Port=54320;Database=myarticle;")
                          .Options;
            ArticleDbContext context = new ArticleDbContext(options);

            _unitofwork = new UnitOfWork(context);
            //_unitofwork = new Mock<IUnitOfWork>();
            _articleService = new ArticleService(_unitofwork);
        }
Beispiel #23
0
 public ArticleController(IConfiguration configuration,
                          ArticleDbContext articleDbContext,
                          OssService ossService,
                          NotifyService notifyService)
 {
     this.articleDbContext = articleDbContext;
     this.ossService       = ossService;
     this.notifyService    = notifyService;
     this.configuration    = configuration;
     pageSize = configuration.GetValue <int>("PageSize");
 }
Beispiel #24
0
        static void Main(string[] args)
        {
            IConfigurationRoot configuration = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json", optional: true, reloadOnChange: true).Build();
            string             connection    = configuration.GetConnectionString("ArticleConnection");
            var articleContext = ArticleDbContext.Create(connection);

            if (articleContext.AllMigrationsApplied())
            {
                articleContext.Database.Migrate();
            }
        }
Beispiel #25
0
        public ActionResult PublishArticle(Article article)
        {
            if (ModelState.IsValid)
            {
                var datePublishStart = article.datePublishStart;
                var datePublishEnd   = article.datePublishEnd;

                var item = ArticleDbContext.getInstance().findArticleByVersionAndLang(article.BaseArticleID, article.Version, "en");
                if (item == null)
                {
                    return(HttpNotFound());
                }

                if (datePublishStart != null &&
                    datePublishEnd != null)
                {
                    var start = datePublishStart.GetValueOrDefault();
                    var end   = datePublishEnd.GetValueOrDefault();

                    if (start.CompareTo(end) > 0)
                    {
                        TempData["ErrorMessage"] = "Publish end date must be greater than publish start date";
                        return(RedirectToAction("DetailsLocale", new { baseArticleID = item.BaseArticleID, version = item.Version, lang = "en" }));
                    }
                }

                item.datePublishStart = datePublishStart;
                item.datePublishEnd   = datePublishEnd;
                var error = ArticlePublishedDbContext.getInstance().tryPublishArticle(item, true);
                if (error != null)
                {
                    TempData["ErrorMessage"] = error;
                    return(RedirectToAction("DetailsLocale", new { baseArticleID = item.BaseArticleID, version = item.Version, lang = "en" }));
                }
                else
                {
                    TempData["Message"] = "'" + item.Name + "' Published";
                    return(RedirectToAction("DetailsLocale", new { baseArticleID = item.BaseArticleID, version = item.Version, lang = "en" }));
                }
            }
            else
            {
                foreach (ModelState modelState in ViewData.ModelState.Values)
                {
                    foreach (ModelError error in modelState.Errors)
                    {
                        TempData["ErrorMessage"] = error.ErrorMessage;
                    }
                }
                var item = ArticleDbContext.getInstance().findArticleByVersionAndLang(article.BaseArticleID, article.Version, "en");
                return(RedirectToAction("DetailsLocale", new { baseArticleID = item.BaseArticleID, version = item.Version, lang = "en" }));
            }
        }
Beispiel #26
0
        public ActionResult ListArticleVersions(int baseArticleID = 0)
        {
            var article = new Article();

            article.BaseArticleID = baseArticleID;
            var items = ArticleDbContext.getInstance().findAllArticlesByBaseArticle(article);

            if (TempData["Message"] != null)
            {
                ViewBag.Message = TempData["Message"];
            }
            return(View(items));
        }
Beispiel #27
0
        public ActionResult ApproveArticle(int baseArticleID = 0, int version = 0, String lang = null)
        {
            // find existing locale article for base article ID and version and lang
            Article item = ArticleDbContext.getInstance().findArticleByVersionAndLang(baseArticleID, version, lang);

            if (item == null)
            {
                return(HttpNotFound());
            }
            else
            {
                // if locale exists, treat as edit form
            }
            return(View(item));
        }
Beispiel #28
0
 public static async Task SeedTopics(ArticleDbContext context)
 {
     if (!context.Topics.Any())
     {
         context.Topics.Add(new Topic {
             TopicName = "Basketball"
         });
         context.Topics.Add(new Topic {
             TopicName = "IT"
         });
         context.Topics.Add(new Topic {
             TopicName = "Business"
         });
         await context.SaveChangesAsync();
     }
 }
Beispiel #29
0
        public static async Task SeedRoles(ArticleDbContext context, RoleManager <Role> roleManager, UserManager <User> userManager)
        {
            if (!context.Roles.Any())
            {
                await roleManager.CreateAsync(new Role { Name = "User" });

                await roleManager.CreateAsync(new Role { Name = "Admin" });

                await userManager.AddToRoleAsync(await userManager.FindByNameAsync("incorcadit"), "User");

                await userManager.AddToRoleAsync(await userManager.FindByNameAsync("admin"), "User");

                await userManager.AddToRoleAsync(await userManager.FindByNameAsync("admin"), "Admin");

                await context.SaveChangesAsync();
            }
        }
Beispiel #30
0
 public ActionResult ApproveArticle(Article item)
 {
     if (ModelState.IsValid)
     {
         var error = ArticleDbContext.getInstance().tryRequestApproval(item, true);
         if (error != null)
         {
             ModelState.AddModelError("", error);
         }
         else
         {
             TempData["Message"] = "'" + item.Name + "' Approved";
             return(RedirectToAction("DetailsLocale", new { baseArticleID = item.BaseArticleID, version = item.Version, lang = item.Lang }));
         }
     }
     return(View(item));
 }
 public SitemapRepository(ArticleDbContext articleDbContext, ISettingsProvider settingsProvider)
 {
     _articleDbContext = articleDbContext;
     _settingsProvider = settingsProvider;
 }