public JsonResult UploadFile()
        {
            var file     = Request.Files.Get("myfile");
            var uploader = new ImageUploader(file);

            var result = new
            {
                filename      = uploader.Name,
                contentType   = uploader.ContentType,
                contentLength = uploader.ContentLength,
                newFilename   = uploader.UniqueName
            };

            try
            {
                uploader.Convert(530, 350);
                uploader.Save("users");
                uploader.Convert(ProjectConfiguration.Get.AnnouncementImageWidth, ProjectConfiguration.Get.AnnouncementImageHeight);
                uploader.Save("announcement_thumb");
            }
            catch (Exception)
            {
                return(Json(new { status = "fail" }, "text/html"));
            }
            return(Json(result, "text/html"));
        }
        public JsonResult UploadAvatar(string id)
        {
            var file     = Request.Files.Get("myfile");
            var uploader = new ImageUploader(file);

            uploader.Quality       = CompositingQuality.HighQuality;
            uploader.Interpolation = InterpolationMode.HighQualityBilinear;
            int userId = (User.IsInRole("Administrator")) ? Convert.ToInt32(id) : WebSecurity.CurrentUserId;

            try
            {
                uploader.Convert(ProjectConfiguration.Get.UserAvatarWidth, ProjectConfiguration.Get.UserAvatarHeight);
                _profileRepository.UpdateAvatar(userId, uploader.UniqueName);
                uploader.Save("avatars");
            }
            catch (Exception)
            {
                return(Json(new { status = "fail" }, "text/html"));
            }

            var result = new
            {
                newFilename = uploader.UniqueName,
                status      = "success"
            };

            return(Json(result, "text/html"));
        }
        public JsonResult UploadShopLogo(string logo, string id)
        {
            var file     = Request.Files.Get("myfile");
            var uploader = new ImageUploader(file);

            uploader.Quality       = CompositingQuality.HighQuality;
            uploader.Interpolation = InterpolationMode.HighQualityBilinear;
            int shopId = Convert.ToInt32(id);

            var shop = _shopRepository.Read(shopId);

            try
            {
                if (shop == null || (!User.IsInRole("Administrator") && !User.IsInRole("Moderator") && shop.UserId != WebSecurity.CurrentUserId))
                {
                    throw new Exception();
                }
                shop.ImageLogo = uploader.UniqueName;
                _shopRepository.Save(shop);
                uploader.Convert(ProjectConfiguration.Get.ShopLogoWidth, ProjectConfiguration.Get.ShopLogoHeight);
                uploader.Save("shopLogo");
            }
            catch (Exception)
            {
                return(Json(new { status = "fail" }, "text/html"));
            }

            var result = new
            {
                newFilename = uploader.UniqueName,
                status      = "success"
            };

            if (logo != "/Images/System/no_logo.png")
            {
                RemoveRealtyOnlyImage(logo);
            }
            return(Json(result, "text/html"));
        }
        public JsonResult angularUploadFile(string cAction, string cController)
        {
            var file     = Request.Files.Get("file");
            var uploader = new ImageUploader(file);

            var result = new
            {
                filename      = uploader.Name,
                contentType   = uploader.ContentType,
                contentLength = uploader.ContentLength,
                newFilename   = uploader.UniqueName
            };

            try
            {
                switch (cController)
                {
                case "Announcement":
                    uploader.Convert(530, 350);
                    uploader.Save("users");
                    uploader.Convert(ProjectConfiguration.Get.AnnouncementImageWidth, ProjectConfiguration.Get.AnnouncementImageHeight);
                    uploader.Save("announcement_thumb");
                    break;

                case "Realty":
                    uploader.Convert(530, 350);
                    uploader.Save("realty");
                    uploader.Convert(ProjectConfiguration.Get.RealtyImageWidth, ProjectConfiguration.Get.RealtyImageHeight);
                    uploader.Save("realty_thumb");
                    break;

                case "Product":
                    uploader.Convert(530, 350);
                    uploader.Save("products");
                    uploader.Convert(ProjectConfiguration.Get.RealtyImageWidth, ProjectConfiguration.Get.RealtyImageHeight);
                    uploader.Save("product_thumb");
                    break;
                }
            }
            catch (Exception)
            {
                return(Json(new { status = "fail" }, "text/html"));
            }
            return(Json(result, "text/html"));
        }
Exemple #5
0
        public ActionResult Edit(int id, Article article)
        {
            var oldArticle = _articleRepository.Read(id);

            article.Id = id;

            if (oldArticle == null)
            {
                return(HttpNotFound());
            }

            if (article.SubsectionId == 0)
            {
                TempData["error"] = "Обязательно укажи подраздел!";
                ModelState.AddModelError("SubsectionId", "Необходимо указать подраздел");
            }

            var file = Request.Files["ArticleLogo"];

            if (file == null)
            {
                article.Logo = oldArticle.Logo;
            }
            else
            {
                if (file == null || file.ContentLength == 0)
                {
                    TempData["error"] = "Необходимо загрузить изображение";
                    ModelState.AddModelError("Logo", "Вы не загрузили изображение");
                }
                else
                {
                    var uploader = new ImageUploader(file);
                    uploader.Interpolation = InterpolationMode.HighQualityBilinear;
                    uploader.Quality       = CompositingQuality.HighQuality;
                    article.Logo           = uploader.UniqueName;

                    try
                    {
                        uploader.Convert(ProjectConfiguration.Get.ArticleImageWidth, ProjectConfiguration.Get.ArticleImageHeight);
                        uploader.Save("articles");
                    }
                    catch
                    {
                        TempData["error"] = "Не удалось загрузить изображение. Пожалуйста, попробуйте снова";
                        return(View(article));
                    }
                }
            }

            if (ModelState.IsValid)
            {
                try
                {
                    int articleId = _articleRepository.Save(article);
                    return(RedirectToAction("Details", "Article", new { id = articleId }));
                }
                catch
                {
                    TempData["error"] = "Возникла ошибка при сохранении. Пожалуйста, попробуйте снова";
                    return(View(article));
                }
            }

            int sid = PopulateSectionDropDownList(oldArticle.Subsection.Section);

            PopulateSubsectionDropDownList(oldArticle.Subsection.SectionId, oldArticle.Subsection);
            return(View(article));
        }
Exemple #6
0
        public ActionResult Create(Article article)
        {
            var file = Request.Files["ArticleLogo"];
            ArticleSubsection subsection;
            int firstSectionId;

            try
            {
                if (article.SubsectionId == 0)
                {
                    ModelState.AddModelError("SubsectionId", "Необходимо указать подраздел");
                    TempData["error"] = "Укажи подраздел!";
                }

                if (file == null || file.ContentLength == 0)
                {
                    ModelState.AddModelError("Logo", "Вы не загрузили изображение");
                }

                int id;
                var uploader = new ImageUploader(file);
                uploader.Interpolation = InterpolationMode.HighQualityBilinear;
                uploader.Quality       = CompositingQuality.HighQuality;
                article.Logo           = uploader.UniqueName;
                article.CreatedAt      = DateTime.Now;
                article.ViewsCount     = 0;

                // TODO: Add a slug logic!

                if (ModelState.IsValid)
                {
                    try
                    {
                        uploader.Convert(ProjectConfiguration.Get.ArticleImageWidth, ProjectConfiguration.Get.ArticleImageHeight);
                        uploader.Save("articles");
                    }
                    catch (Exception)
                    {
                        TempData["error"] = "Возникли проблемы при загрузке изображения. Попробуйте снова";
                    }

                    try
                    {
                        id = _articleRepository.Save(article);
                    }
                    catch (Exception)
                    {
                        TempData["error"] = "Возникли проблемы при загрузке изображения. Попробуйте снова";
                        return(View(article));
                    }

                    return(RedirectToAction("Details", new { id = id }));
                }
            }
            catch
            {
                subsection = _subsectionRepository.Read(article.SubsectionId);

                if (subsection != null)
                {
                    firstSectionId = PopulateSectionDropDownList(subsection.Section);
                    PopulateSubsectionDropDownList((subsection.Section != null) ? subsection.Section.Id : firstSectionId, article.Subsection);
                }
                else
                {
                    PopulateSectionDropDownList(allowEmpty: true);
                }
                return(View(article));
            }

            subsection = _subsectionRepository.Read(article.SubsectionId);

            if (subsection != null)
            {
                firstSectionId = PopulateSectionDropDownList(subsection.Section);
                PopulateSubsectionDropDownList((subsection.Section != null) ? subsection.Section.Id : firstSectionId, article.Subsection);
            }
            else
            {
                PopulateSectionDropDownList(allowEmpty: true);
            }
            return(View(article));
        }