Esempio n. 1
0
        private void InitSelectListItem(EArticle eArticle)
        {
            var Categories = GetCategories();   // csv.GetRecords<LEArticleCategory>().ToList();

            Categories.ForEach(p =>
            {
                p.Name = _localizer[p.Name];
            });
            eArticle.ComplexityRankSelectListItems = new List <SelectListItem> {
                new SelectListItem {
                    Value = "0", Text = new string("\u269D")
                },
                new SelectListItem {
                    Value = "1", Text = new string('\u269D', 2)
                },
                new SelectListItem {
                    Value = "2", Text = new string('\u269D', 3)
                },
                new SelectListItem {
                    Value = "3", Text = new string('\u269D', 4)
                }
            };

            eArticle.FirstCategorySelectListItems = Categories.Where(p => p.Code.Length == 3).Select(p => new SelectListItem
            {
                Value = p.Id.ToString() + "_" + p.Code,
                Text  = p.Name
            }).ToList();
            eArticle.SecondCategorySelectListItems = Categories.Where(p => p.Code.Length == 5).Select(p => new SelectListItem
            {
                Value = p.Id.ToString() + "_" + p.Code,
                Text  = p.Name
            }).ToList();
        }
        public ActionResult Create()
        {
            LoadData();
            ViewBag.Title = "Add article";
            LoadData2();
            var tab = new EArticle();

            return(View(tab));
        }
Esempio n. 3
0
        /// <summary>
        /// Initialize EArticleFiles and SelectListItems
        /// </summary>
        /// <param name="eArticle">EArticle</param>
        /// <returns></returns>
        #endregion
        private async Task <IActionResult> EArticleEditViewAsync(EArticle eArticle)
        {
            ViewData["EArticleFiles"] = await _context.EArticleFiles.Where(p => p.EArticleId == eArticle.Id).ToListAsync();

            //  eArticle.VideoSharedCodeSelectListItems = await GetVideoSharedCodeSelectListItemsForUser();

            InitSelectListItem(eArticle);
            return(View(eArticle));
        }
Esempio n. 4
0
        public ActionResult Update(int id)
        {
            ViewBag.Title = "Update Article";
            using (var db = new MyDbDataContext())
            {
                Article detailArticle = db.Articles.FirstOrDefault(a => a.ID == id);

                if (detailArticle == null)
                {
                    TempData["Messages"] = "does not exist";
                    return(RedirectToAction("Index"));
                }

                List <SelectListItem> listmenu = new List <SelectListItem>();
                foreach (var b in db.TabArticles.ToList())
                {
                    listmenu.Add(new SelectListItem()
                    {
                        Value = b.Title, Text = b.ID.ToString()
                    });
                }
                ViewBag.ListMenu3 = new SelectList(listmenu, "Text", "Value");
                var artile = new EArticle
                {
                    ID              = detailArticle.ID,
                    MenuID          = detailArticle.MenuID,
                    Title           = detailArticle.Title,
                    Alias           = detailArticle.Alias,
                    Image           = detailArticle.Image,
                    Description     = detailArticle.Description,
                    Content         = detailArticle.Content,
                    MetaTitle       = detailArticle.MetaTitle,
                    MetaDescription = detailArticle.MetaDescription,
                    Status          = detailArticle.Status,
                    Home            = detailArticle.Home,
                    Hot             = detailArticle.Hot,
                    New             = detailArticle.New,
                    Value           = detailArticle.Value,
                    About           = detailArticle.About,
                };
                List <MenuTap> tabTheme = db.MenuTaps.Where(x => x.ArticleID == detailArticle.ID).ToList();
                if (!string.IsNullOrEmpty(tabTheme.ToString()))
                {
                    List <string> termList = new List <string>();
                    foreach (var item in tabTheme)
                    {
                        termList.Add(item.TapID.ToString());
                    }
                    string[] select = termList.ToArray();
                    artile.Theme = select;
                }
                LoadData();
                return(View(artile));
            }
        }
Esempio n. 5
0
        private async Task SaveArticleFilesAsync(EArticle eArticle)
        {
            if (eArticle.LAttachments?.Count() < 1 || eArticle.LVideos?.Count() < 1)
            {
                return;
            }

            var _EArticleFiles = new List <EArticleFile>();
            var _LFiles_       = new List <LFile>();
            var UserId_        = _userManager.GetUserAsync(User).GetAwaiter().GetResult().Id;

            if (eArticle.LAttachments?.Count() > 0)
            {
                foreach (var i in eArticle.LAttachments)
                {
                    if (i?.Length < 1)
                    {
                        continue;
                    }
                    var MD5_ = await _xUserFileHelper.LWriteBufferToFileAsync(_hostingEnv, i);

                    _EArticleFiles.Add(new EArticleFile {
                        EArticleId = eArticle.Id, FileName = System.IO.Path.GetFileName(i.FileName), FileMD5 = MD5_, IsEArticleVideo = false
                    });
                    _LFiles_.Add(new LFile {
                        UserId = UserId_, MD5 = MD5_
                    });
                }
            }
            if (eArticle.LVideos?.Count() > 0)
            {
                foreach (var i in eArticle.LVideos)
                {
                    if (i?.Length < 1)
                    {
                        continue;
                    }
                    var MD5_ = await _xUserFileHelper.LWriteBufferToFileAsync(_hostingEnv, i);

                    _EArticleFiles.Add(new EArticleFile {
                        EArticleId = eArticle.Id, FileName = System.IO.Path.GetFileName(i.FileName), FileMD5 = MD5_, IsEArticleVideo = true
                    });
                    _LFiles_.Add(new LFile {
                        UserId = UserId_, MD5 = MD5_
                    });
                }
            }
            await _context.EArticleFiles.AddRangeAsync(_EArticleFiles);

            await _context.LFile.AddRangeAsync(_LFiles_);

            return;
        }
Esempio n. 6
0
        public ActionResult Create(EArticle model)
        {
            using (var db = new MyDbDataContext())
            {
                if (ModelState.IsValid)
                {
                    if (string.IsNullOrEmpty(model.Alias))
                    {
                        model.Alias = StringHelper.ConvertToAlias(model.Alias);
                    }
                    try
                    {
                        var article = new Article
                        {
                            MenuID          = model.MenuID,
                            Title           = model.Title,
                            Alias           = model.Alias,
                            Image           = model.Image,
                            Description     = model.Description,
                            Content         = model.Content,
                            Index           = 0,
                            MetaTitle       = string.IsNullOrEmpty(model.MetaTitle) ? model.Title : model.MetaTitle,
                            MetaDescription =
                                string.IsNullOrEmpty(model.MetaDescription) ? model.Title : model.Description,
                            Status       = model.Status,
                            Home         = model.Home,
                            Hot          = model.Hot,
                            New          = model.New,
                            TripLao      = model.TripLao,
                            TripCambodia = (bool)model.TripCambodia,
                            TripvietNam  = (bool)model.TripVietNam
                        };

                        db.Articles.InsertOnSubmit(article);
                        db.SubmitChanges();

                        TempData["Messages"] = "Successful";
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception exception)
                    {
                        LoadData();
                        ViewBag.Messages = "Error: " + exception.Message;
                        return(View());
                    }
                }
                LoadData();
                return(View());
            }
        }
Esempio n. 7
0
        public ActionResult Update(EArticle model)
        {
            using (var db = new MyDbDataContext())
            {
                if (string.IsNullOrEmpty(model.Alias))
                {
                    model.Alias = StringHelper.ConvertToAlias(model.Alias);
                }
                try
                {
                    Article article = db.Articles.FirstOrDefault(b => b.ID == model.ID);
                    if (article != null)
                    {
                        article.MenuID          = model.MenuID;
                        article.Title           = model.Title;
                        article.Alias           = model.Alias;
                        article.Image           = model.Image;
                        article.Description     = model.Description;
                        article.Content         = model.Content;
                        article.MetaTitle       = string.IsNullOrEmpty(model.MetaTitle) ? model.Title : model.MetaTitle;
                        article.MetaDescription = string.IsNullOrEmpty(model.MetaDescription)
                                ? model.Title
                                : model.MetaDescription;
                        article.Status       = model.Status;
                        article.Home         = model.Home;
                        article.Hot          = model.Hot;
                        article.New          = model.New;
                        article.TripLao      = model.TripLao;
                        article.TripvietNam  = model.TripVietNam;
                        article.TripCambodia = model.TripCambodia;

                        db.SubmitChanges();
                        //db.SubmitChanges();
                        TempData["Messages"] = "Successful";
                        return(RedirectToAction("Index"));
                    }
                }
                catch (Exception exception)
                {
                    LoadData();
                    ViewBag.Messages = "Error: " + exception.Message;
                    return(View());
                }
            }
            LoadData();
            return(View(model));
        }
Esempio n. 8
0
        public async Task <IActionResult> Create(
            [Bind("Id,Title,Content,LVideos,LAttachments,CategoryId,AdditionalCategory,ComplexityRank")][FromForm] EArticle eArticle)
        {
            if (ModelState.IsValid)
            {
                #region INTERVAL_THRESHOLD
                var _CurrentDOPublishing = await _context.EArticle.OrderByDescending(p => p.DOPublishing).Select(p => p.DOPublishing).FirstOrDefaultAsync();

                if ((DateTimeOffset.Now - _CurrentDOPublishing).Minutes < 5)
                {
                    ModelState.AddModelError(string.Empty, _localizer["The system detects that you may be a robot"]);
                    return(await EArticleEditViewAsync(eArticle));
                }
                #endregion

                if (eArticle.Title.Length < 2 || eArticle.Content.Length < 20)
                {
                    ViewData["EArticleFiles"] = await _context.EArticleFiles.Where(p => p.EArticleId == eArticle.Id).ToListAsync();

                    eArticle.LAttachments = null;
                    eArticle.LVideos      = null;
                    return(View(eArticle));
                }
                var Create_SetId   = Guid.Parse(TempData["Create_SetId"]?.ToString() ?? Guid.Empty.ToString());
                var UserId_        = _userManager.GetUserAsync(User).GetAwaiter().GetResult().Id;
                var _EArticleFiles = new List <EArticleFile>();
                //  eArticle.Id = Guid.NewGuid();
                eArticle.UserId  = UserId_;
                eArticle.Content = _htmlSanitizer.Sanitize(eArticle.Content);
                eArticle.SetId   = Create_SetId;

                await _context.AddAsync(eArticle);


                //  _context.Add(eArticle);
                #region     SAVE_FILES

                await SaveArticleFilesAsync(eArticle);

                #endregion
                await _context.SaveChangesAsync();

                return(Ok());    //  RedirectToAction(nameof(XIndex),new { SetId =Create_SetId});
            }
            return(await EArticleEditViewAsync(eArticle));
        }
Esempio n. 9
0
        // GET: EduHub/EArticles/Create
        #endregion
        public async Task <IActionResult> Create(Guid?SetId)
        {
            var UserId_ = _userManager.GetUserAsync(User).GetAwaiter().GetResult().Id;

            if (SetId == null ||
                !await _context.UserEArticleSet.AnyAsync(p => p.Id == SetId && p.UserId == UserId_))
            {
                SetId = LValue.DefaultEArticleSetId;
            }
            var _LUserFile = await _context.LUserFile.Where(p => p.UserId == UserId_).ToListAsync();  //<<<<<<<<

            var _EArticle = new EArticle();

            InitSelectListItem(_EArticle);
            TempData["Create_SetId"] = SetId;
            return(View(_EArticle));
        }
Esempio n. 10
0
        public async Task <IActionResult> Edit(Guid id,
                                               [Bind("Id,Title,Content,LVideos,LAttachments,CategoryId,AdditionalCategory,ComplexityRank")] EArticle eArticle)
        {
            if (id != eArticle.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    var UserId_   = _userManager.GetUserAsync(User).GetAwaiter().GetResult().Id;
                    var _EArticle = await _context.EArticle.Where(p => p.Id == eArticle.Id && p.UserId == UserId_).FirstOrDefaultAsync();

                    #region UPDATE
                    _EArticle.Content    = _htmlSanitizer.Sanitize(eArticle.Content);
                    _EArticle.DOUpdating = DateTimeOffset.Now;
                    //  _EArticle.VideoSharedCode = eArticle.VideoSharedCode;
                    _EArticle.Title              = eArticle.Title;
                    _EArticle.ComplexityRank     = eArticle.ComplexityRank;
                    _EArticle.CategoryId         = eArticle.CategoryId;
                    _EArticle.AdditionalCategory = eArticle.AdditionalCategory;
                    #endregion

                    await SaveArticleFilesAsync(eArticle);

                    await _context.SaveChangesAsync();

                    return(Ok());    //   RedirectToAction(nameof(XIndex), new { _EArticle.SetId });   //  _page = TempData["_page"], IsIndividual = TempData["IsIndividual"] });
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!EArticleExists(eArticle.Id))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
            }
            return(await EArticleEditViewAsync(eArticle));
        }
Esempio n. 11
0
        public ActionResult Update(int id)
        {
            ViewBag.Title = "Update Article";
            using (var db = new MyDbDataContext())
            {
                Article detailArticle = db.Articles.FirstOrDefault(a => a.ID == id);

                if (detailArticle == null)
                {
                    TempData["Messages"] = "does not exist";
                    return(RedirectToAction("Index"));
                }

                var artile = new EArticle
                {
                    ID              = detailArticle.ID,
                    MenuID          = detailArticle.MenuID,
                    Title           = detailArticle.Title,
                    Alias           = detailArticle.Alias,
                    Image           = detailArticle.Image,
                    Description     = detailArticle.Description,
                    Content         = detailArticle.Content,
                    MetaTitle       = detailArticle.MetaTitle,
                    MetaDescription = detailArticle.MetaDescription,
                    Status          = detailArticle.Status,
                    Home            = detailArticle.Home,
                    Hot             = detailArticle.Hot,
                    New             = detailArticle.New,
                    TripVietNam     = (bool)detailArticle.TripvietNam,
                    TripCambodia    = (bool)detailArticle.TripCambodia,
                    TripLao         = (bool)detailArticle.TripLao
                };
                LoadData();
                return(View(artile));
            }
        }
        public ActionResult Update(EArticle model)
        {
            using (var db = new MyDbDataContext())
            {
                if (ModelState.IsValid)
                {
                    if (string.IsNullOrEmpty(model.Alias))
                    {
                        model.Alias = StringHelper.ConvertToAlias(model.Alias);
                    }
                    try
                    {
                        Article article = db.Articles.FirstOrDefault(b => b.ID == model.ID);
                        if (article != null)
                        {
                            article.MenuID          = model.MenuID;
                            article.Title           = model.Title;
                            article.Alias           = model.Alias;
                            article.Image           = model.Image;
                            article.Description     = model.Description;
                            article.Content         = model.Content;
                            article.MetaTitle       = string.IsNullOrEmpty(model.MetaTitle) ? model.Title : model.MetaTitle;
                            article.MetaDescription = string.IsNullOrEmpty(model.MetaDescription)
                                ? model.Title
                                : model.MetaDescription;
                            article.Status = model.Status;
                            article.Home   = model.Home;
                            article.Hot    = model.Hot;
                            article.New    = model.New;
                            article.Value  = model.Value;
                            article.About  = model.About;

                            db.SubmitChanges();
                            db.MenuTaps.DeleteAllOnSubmit(db.MenuTaps.Where(a => a.ArticleID == article.ID).ToList());
                            if (model.Theme != null)
                            {
                                for (int i = 0; i < model.Theme.Length; i++)
                                {
                                    var tabTheme = new MenuTap
                                    {
                                        ArticleID = article.ID,
                                        TapID     = int.Parse(model.Theme[i]),
                                    };
                                    db.MenuTaps.InsertOnSubmit(tabTheme);
                                    db.SubmitChanges();
                                }
                            }
                            TempData["Messages"] = "Successful";
                            return(RedirectToAction("Index"));
                        }
                    }
                    catch (Exception exception)
                    {
                        LoadData();
                        ViewBag.Messages = "Error: " + exception.Message;
                        return(View());
                    }
                }
                LoadData();
                return(View(model));
            }
        }
        public ActionResult Create(EArticle model)
        {
            using (var db = new MyDbDataContext())
            {
                if (ModelState.IsValid)
                {
                    if (string.IsNullOrEmpty(model.Alias))
                    {
                        model.Alias = StringHelper.ConvertToAlias(model.Alias);
                    }
                    try
                    {
                        var article = new Article
                        {
                            MenuID          = model.MenuID,
                            Title           = model.Title,
                            Alias           = model.Alias,
                            Image           = model.Image,
                            Description     = model.Description,
                            Content         = model.Content,
                            Index           = 0,
                            MetaTitle       = string.IsNullOrEmpty(model.MetaTitle) ? model.Title : model.MetaTitle,
                            MetaDescription =
                                string.IsNullOrEmpty(model.MetaDescription) ? model.Title : model.Description,
                            Status     = model.Status,
                            Home       = model.Home,
                            Hot        = model.Hot,
                            New        = model.New,
                            Value      = model.Value,
                            About      = model.About,
                            CreateDate = DateTime.Now,
                        };

                        db.Articles.InsertOnSubmit(article);
                        db.SubmitChanges();
                        if (model.Theme != null)
                        {
                            for (int i = 0; i < model.Theme.Length; i++)
                            {
                                var tabTheme = new MenuTap
                                {
                                    ArticleID = article.ID,
                                    TapID     = int.Parse(model.Theme[i]),
                                };
                                db.MenuTaps.InsertOnSubmit(tabTheme);
                                db.SubmitChanges();
                            }
                        }

                        TempData["Messages"] = "Successful";
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception exception)
                    {
                        LoadData();
                        ViewBag.Messages = "Error: " + exception.Message;
                        return(View());
                    }
                }
                LoadData();
                return(View());
            }
        }