Example #1
0
        public ActionResult Create(ArticleItem model)
        {
            try
            {
                model.Id = 0;
                var article = _context.Articles.First(a => a.Id == model.ArticleId);
                model.Text = HttpUtility.HtmlDecode(model.Text);
                var cache = new ArticleItem
                {
                    Article = article,
                    ContentType = 0,
                    SortOrder = model.SortOrder,
                    Text = model.Text
                };

                article.ArticleItems.Add(cache);

                int maxSortOrder = article.ArticleItems.Max(c => (int?)c.SortOrder) ?? 0;
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    maxSortOrder++;
                    var file = Request.Files[i];

                    if (file == null) continue;
                    if (string.IsNullOrEmpty(file.FileName)) continue;

                    var ai = new ArticleItemImage { SortOrder = maxSortOrder };
                    string fileName = IOHelper.GetUniqueFileName("~/Content/Images", file.FileName);
                    string filePath = Server.MapPath("~/Content/Images");

                    filePath = Path.Combine(filePath, fileName);
                    GraphicsHelper.SaveOriginalImage(filePath, fileName, file);

                    ai.ImageSource = fileName;

                    cache.ArticleItemImages.Add(ai);
                }


                var lang = _context.Languages.FirstOrDefault(p => p.Id == model.CurrentLang);
                if (lang != null)
                {
                    CreateOrChangeContentLang(_context, model, cache, lang);
                }


                return RedirectToAction("Details", "Article", new { id = article.Id });
            }
            catch (Exception ex)
            {
                TempData["errorMessage"] = ex.Message;
                return View(model);
            }
        }
Example #2
0
        public ActionResult Edit(ArticleItem model)
        {
            try
            {
                model.Text = HttpUtility.HtmlDecode(model.Text);
                var cache = _context.ArticleItems.FirstOrDefault(p => p.Id == model.Id);
                if (cache != null)
                {
                    TryUpdateModel(cache, new[] { "SortOrder", "Title", "Text" });

                    for (int i = 0; i < Request.Files.Count; i++)
                    {
                        var file = Request.Files[i];
                        if (file == null) continue;
                        if (string.IsNullOrEmpty(file.FileName)) continue;
                        var ai = new ArticleItemImage ();
                        string fileName = IOHelper.GetUniqueFileName("~/Content/Images", file.FileName);
                        string filePath = Server.MapPath("~/Content/Images");

                        filePath = Path.Combine(filePath, fileName);
                        GraphicsHelper.SaveOriginalImage(filePath, fileName, file);
                        ai.ImageSource = fileName;
                        cache.ArticleItemImages.Add(ai);
                    }


                    var lang = _context.Languages.FirstOrDefault(p => p.Id == model.CurrentLang);
                    if (lang != null)
                    {
                        CreateOrChangeContentLang(_context, model, cache, lang);
                    }
                }
                return RedirectToAction("Details", "Article", new{id=cache.ArticleId});
            }
            catch(Exception ex)
            {
                TempData["errorMessage"] = ex.Message;
                return View(model);
            }
        }