public ActionResult Create(SpecialContent model, HttpPostedFileBase pageImage, HttpPostedFileBase contentImage)
        {
            try
            {
                model.Text = HttpUtility.HtmlDecode(model.Text);
                model.Id = 0;
                var cache = new SpecialContent
                {
                    ContentImageSource = "",
                    PageImageSource = "",
                    Title = model.Title ?? "",
                    Text = model.Text ?? "",
                    IsFirstCategory = model.IsFirstCategory,
                    IsSecondCategory = model.IsSecondCategory
                };

                if (pageImage != null)
                {
                    string fileName = IOHelper.GetUniqueFileName("~/Content/Images", pageImage.FileName);
                    string filePath = Server.MapPath("~/Content/Images");
                    filePath = Path.Combine(filePath, fileName);
                    GraphicsHelper.SaveOriginalImage(filePath, fileName, pageImage);
                    //pageImage.SaveAs(filePath);
                    cache.PageImageSource = fileName;
                }

                if (contentImage != null)
                {
                    string fileName = IOHelper.GetUniqueFileName("~/Content/Images", contentImage.FileName);
                    string filePath = Server.MapPath("~/Content/Images");
                    filePath = Path.Combine(filePath, fileName);
                    //GraphicsHelper.SaveOriginalImage(filePath, fileName, contentImage);
                    contentImage.SaveAs(filePath);
                    cache.ContentImageSource = fileName;
                }

                _context.SpecialContents.Add(cache);

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

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
        private void CreateOrChangeContentLang(SiteContext context, SpecialContent instance, SpecialContent cache, Language lang)
        {

            SpecialContentLang specialContentLang = null;
            if (cache != null)
            {
                specialContentLang = context.SpecialContentLangs.FirstOrDefault(p => p.SpecialContentId == cache.Id && p.LanguageId == lang.Id);
            }
            if (specialContentLang == null)
            {
                var newPostLang = new SpecialContentLang
                {
                    SpecialContentId = instance.Id,
                    LanguageId = lang.Id,
                    Title = instance.Title,
                    Text = instance.Text
                };
                context.SpecialContentLangs.Add(newPostLang);
            }
            else
            {
                specialContentLang.Title = instance.Title;
                specialContentLang.Text = instance.Text;
            }
            context.SaveChanges();

        }
        public ActionResult Edit(SpecialContent model, HttpPostedFileBase pageImage, HttpPostedFileBase contentImage)
        {
            try
            {
                model.Text = HttpUtility.HtmlDecode(model.Text);
                var cache = _context.SpecialContents.First(c => c.Id == model.Id);
                cache.CurrentLang = CurrentLang.Id;
                cache.IsFirstCategory = model.IsFirstCategory;
                cache.IsSecondCategory = model.IsSecondCategory;


                if (pageImage != null)
                {
                    ImageHelper.DeleteImage(cache.PageImageSource);

                    string fileName = IOHelper.GetUniqueFileName("~/Content/Images", pageImage.FileName);
                    string filePath = Server.MapPath("~/Content/Images");
                    filePath = Path.Combine(filePath, fileName);
                    GraphicsHelper.SaveOriginalImage(filePath, fileName, pageImage);
                    //pageImage.SaveAs(filePath);
                    cache.PageImageSource = fileName;
                }

                if (contentImage != null)
                {
                    ImageHelper.DeleteImage(cache.ContentImageSource);

                    string fileName = IOHelper.GetUniqueFileName("~/Content/Images", contentImage.FileName);
                    string filePath = Server.MapPath("~/Content/Images");
                    filePath = Path.Combine(filePath, fileName);
                    //GraphicsHelper.SaveOriginalImage(filePath, fileName, contentImage);
                    contentImage.SaveAs(filePath);
                    cache.ContentImageSource = fileName;
                }


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


                return RedirectToAction("Index");
            }
            catch (DbEntityValidationException ex)
            {
                return View(model);
            }
            catch
            {
                return View();
            }
        }