private async Task <IClientArticle> InsertArticle(IClientArticle article, Guid Id) { // Turn the basic article into a Json blob var articleData = new ArticleFileData(article, Id); // Then store the info in table var articleDetails = new ArticleDetails(article, Id); var articleBlobString = JsonConvert.SerializeObject(articleData); var articleDetailsTable = await articleDetailsStorage.Value; var articleBlobStore = await articleBlobStorage.Value; await articleDetailsTable.Insert(articleDetails); await articleDetailsTable.Insert(new ArticleDetailsUrlId(articleDetails.Url, articleDetails.Id)); await articleBlobStore.AddNewStringFile(articleBlobString, $"{Id}.json"); return(new CompleteArticle(article, Id)); }
public ActionResult Index(int?page, int Category = 0, String keyword = "") { if (Session["userid"] == null) { return(RedirectToAction("Login", "Account")); } if (WebConfigure.GetLoginPortal() == "true" && Common.GetUserXupj().ToLower() != Session["username"].ToString().ToLower()) { return(RedirectToAction("Login", "Account")); } ViewBag.Download = WebConfigure.GetDomain() + "/Upload/Document/" + WebConfigure.GetUserGuideNameFileWithExtention(); ViewBag.Domain = domain(isLocal); ViewBag.CategoryName = Category == 0 ? null : _articleCategoryBs.GetDetail(Category).Name; ViewBag.IconCategory = Category == 0 ? null : _articleCategoryBs.GetDetail(Category).Icon; if (WebConfigure.GetLoginPortal() == "true" && Common.GetUserXupj() != "" && Session["userid"] == null) { return(RedirectToAction("Login", "Account")); } if (Session["username"] != null) { if (WebConfigure.GetLoginPortal() == "true" && Common.GetUserXupj().ToLower() != Session["username"].ToString().ToLower()) { return(RedirectToAction("Login", "Account")); } } ViewBag.UseFullLink = _articleBs.getUseFullLink().Count > 0 ? _articleBs.getUseFullLink() : null; List <Article> listArtikel = null; //var start = 6 * (Convert.ToInt32(1) - 1); if (Category == 0) { listArtikel = _literatureService.GetListkeyword(keyword); } else { listArtikel = _literatureService.GetListbyCategory(Category, keyword); } #region Category ViewBag.Domain = WebConfigure.GetDomain(); ViewBag.ListCategory1 = _articleCategoryBs.GetListCategoryMostUsedLiterature(0); ViewBag.key = keyword; #endregion List <ArticleFileData> ArticleData = new List <ArticleFileData>(); List <CustomArticleTags> ArticleTagsData = new List <CustomArticleTags>(); if (listArtikel != null) { foreach (var item in listArtikel) { List <String> FileData = _articleFileBs.GetNamefileByRoleColor(item.ArticleId, item.LevelUser); if (FileData.Count > 0) { ArticleFileData filedata = new ArticleFileData() { idFile = item.ArticleId, Name = FileData, Level = _articleFileBs.GetLevelFileByRoleColor(item.ArticleId, item.LevelUser) }; ArticleData.Add(filedata); } var TagsData = _articleTagsBs.GetTagsByArticle(item.ArticleId); CustomArticleTags tags = new CustomArticleTags() { ArticleId = item.ArticleId, Object = TagsData.Count == 0 ? null : TagsData }; ArticleTagsData.Add(tags); } } ViewBag.LiteratureTags = ArticleTagsData; ViewBag.keyword = keyword; ViewBag.LiteratureItem = ArticleData; int pageSize = 50; int pageNumber = (page ?? 1); return(View(listArtikel.ToPagedList(pageNumber, pageSize))); }