Exemple #1
0
 /// <summary>
 /// Добавление изображения в Priveiw
 /// </summary>
 /// <param name="upload">Изображение</param>
 /// <param name="mapPath">Путь</param>
 /// <param name="model">Модель поста</param>
 public void Image(HttpPostedFileBase upload, string mapPath, ModelNewPost model)
 {
     if (upload != null)
     {
         using (var db = new DataContext())
         {
             var post = db.Posts.FirstOrDefault(x => x.PostID == model.PostID);
             if (post == null)
             {
                 var postID = db.Posts.Max(x => x.PostID);
                 postID++;
                 string dir = mapPath + postID;
                 if (!Directory.Exists(dir + "/" + "Preview"))
                 {
                     Directory.CreateDirectory(dir + "/" + "Preview");
                 }
                 string newFileName = Path.GetFileName(upload.FileName);
                 var    newPatch    = Path.Combine(mapPath + "/" + postID + "/" + "Preview", newFileName);
                 upload.SaveAs(newPatch);
             }
             else
             {
                 string dir = mapPath + model.PostID;
                 if (!Directory.Exists(dir + "/" + "Preview"))
                 {
                     Directory.CreateDirectory(dir + "/" + "Preview");
                 }
                 string fileName = Path.GetFileName(upload.FileName);
                 var    path     = Path.Combine(mapPath + "/" + model.PostID + "/" + "Preview", fileName);
                 upload.SaveAs(path);
             }
         }
     }
 }
Exemple #2
0
        public ActionResult NewPost(ModelNewPost model, int IdCategory, HttpPostedFileBase Upload, int User)
        {
            string map = Server.MapPath("~/img/");

            AdminServices.ControlPosts.Image(Upload, map, model);
            AdminServices.ControlPosts.AddPost(model, IdCategory, User);
            return(RedirectToAction("Index"));
        }
Exemple #3
0
 /// <summary>
 /// Конвертирует модель ModelPost  в Post
 /// </summary>
 /// <param name="posts"></param>
 /// <returns></returns>
 private static Post ConverModelPost(ModelNewPost posts)
 {
     return(new Post
     {
         PostID = posts.PostID,
         AuthorID = posts.AuthorID,
         dateAddPost = posts.dateAddPost,
         contentPost = posts.contentPost,
         NamePost = posts.NamePost,
         Tags = posts.Tags,
         upload = posts.upload,
         Description = posts.Description,
     });
 }
Exemple #4
0
 /// <summary>
 /// Редактирование поста
 /// </summary>
 /// <param name="model">Моедль поста</param>
 /// <param name="IdCategory">ID категории</param>
 public void EditPost(ModelNewPost model, int IdCategory)
 {
     using (var db = new DataContext())
     {
         var category = db.Categories.FirstOrDefault(x => x.Id == IdCategory);
         var post     = db.Posts.FirstOrDefault(x => x.PostID == model.PostID);
         post.NamePost         = model.NamePost;
         post.SelectCategories = category;
         post.Description      = model.Description;
         post.Tags             = model.Tags;
         post.dateAddPost      = model.dateAddPost;
         post.contentPost      = model.contentPost;
         post.upload           = model.upload;
         db.SaveChanges();
     }
 }
Exemple #5
0
        /// <summary>
        /// Добавление  нового поста
        /// </summary>
        /// <param name="model">Модель поста</param>
        /// <param name="IdCategory">Ид категории</param>
        /// <param name="UserID">Ид автора</param>
        public void AddPost(ModelNewPost model, int IdCategory, int UserID)
        {
            using (var db = new DataContext())
            {
                var category = db.Categories.FirstOrDefault(x => x.Id == IdCategory);
                var posts    = ConverModelPost(model);
                posts.Users = db.Users.Where(x => x.Id == UserID).ToList();

                posts.AuthorID = UserID;
                var CollTags = posts.Tags.Split(new string[] { ",", " " }, StringSplitOptions.RemoveEmptyEntries).ToList();
                foreach (var item in CollTags)
                {
                    db.Tags.Add(new Tag()
                    {
                        NameTag = item
                    });
                    db.SaveChanges();
                }
                posts.SelectCategories = category;
                db.Posts.Add(posts);
                db.SaveChanges();
            }
        }
Exemple #6
0
        /// <summary>
        /// Создает перемнную в которой находится путь для сохранения файла и далее выполняет метод сохраняющий изображения
        /// </summary>
        /// <param name="Upload">Файл</param>
        /// <param name="CKEditorFuncNum">Идентификационный номер анонимного функции обратного вызова после загрузки</param>
        /// <returns></returns>
        public ActionResult AddImage(HttpPostedFileBase Upload, string CKEditorFuncNum, ModelNewPost model)
        {
            string map    = Server.MapPath("~/img/");
            string output = AdminServices.ControlPosts.ProcessRequest(Upload, CKEditorFuncNum, map, model);

            return(Content(output));
        }
Exemple #7
0
 /// <summary>
 /// Загржает изображение на сервер и получает путь к файлу изображения
 /// </summary>
 /// <param name="upload">Изображения</param>
 /// <param name="CKEditorFuncNum">Идентификационный номер анонимного функции обратного вызова после загрузки</param>
 /// <param name="mapPath">Путь для сохранения файла</param>
 /// <returns>Возвращает строку с Ajax запросом</returns>
 public string ProcessRequest(HttpPostedFileBase upload, string CKEditorFuncNum, string mapPath, ModelNewPost model)
 {
     if (upload.ContentLength <= 0)
     {
         return(null);
     }
     using (var db = new DataContext())
     {
         var NewPost = db.Posts.Max(x => x.PostID);
         NewPost++;
         const string uploadFolder = "img";
         // сохраняем файл в папку img в проекте
         Directory.CreateDirectory(mapPath + NewPost);
         var fileName = Path.GetFileName(upload.FileName);
         var path     = Path.Combine(mapPath + "/" + NewPost, fileName);
         upload.SaveAs(path);
         var          url     = string.Format("{0}/{1}/{2}/{3}", "http://localhost:62712/", uploadFolder, NewPost, fileName);
         const string message = "Ваше изображение успешно сохраненно";
         // Ajax запрос для передачи изображение
         var output = string.Format(
             "<html><body><script>window.parent.CKEDITOR.tools.callFunction({0}, \"{1}\", \"{2}\");</script></body></html>",
             CKEditorFuncNum, url, message);
         return(output);
     }
 }