예제 #1
0
        public IActionResult Eserler()
        {
            // repository nesnesinden bir örnek alıyoruz
            // PostRepository repo = new PostRepository();
            // bir post nesnesi oluşturuyoruz
            var obj = new Post
            {
                title   = "İlk Blog Başlığı",
                content = "İlk blog içeriği"
            };

            // nesneyi kayıt ediyoruz
            repo.AddPost(obj);
            // ikinci bir post nesnesi oluşturuyoruz
            var obj2 = new Post
            {
                title   = "İkinci Blog Başlığı",
                content = "İkinci blog içeriği"
            };

            // obj2 nesnesini kayıt ediyoruz
            repo.AddPost(obj2);

            var obj3 = new Post
            {
                title   = "Üçüncü Blog Başlığı",
                content = "Üçüncü blog içeriği"
            };

            repo.AddPost(obj3);
            var obj4 = new Post
            {
                title   = "4. Blog Başlığı",
                content = "4. blog içeriği"
            };

            repo.AddPost(obj4);
            var obj6 = new Post
            {
                title   = "6. Blog Başlığı",
                content = "6. blog içeriği"
            };

            repo.AddPost(obj6);
            //ViewData["secilenNesne"] = obj6;
            //var obj5 = repo.GetPost(16);
            //ViewData["secilenNesne"] = obj5;
            // obj3 içerisine id'si 1 olan nesneyi atıyoruz
            //var obj3 = repo.GetPost(1);
            //// ViewData ile obj3 içindeki değeri html içerisinde çağırmak için kayıt ediyoruz
            //ViewData["secilenNesne"] = obj3;

            // View'e farklı veri tipleri geçerek cshtml içerisinde
            // ekrana basabiliriz
            return(View(repo.GetAllPosts()));
            // return View();
        }
예제 #2
0
        public ActionResult Add([Bind] UserPostAddViewModel post)
        {
            if (!(User.IsInRole("Admin") || User.IsInRole("Moderator")))
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }


            if (!ModelState.IsValid && !HttpPostedFileBaseExtensions.IsImage(post.ImageFile))
            {
                var categories = _categoryRepo.GetAll();
                var model      = new UserPostAddViewModel();
                model.Categories = categories;
                return(RedirectToAction("Add"));
            }

            var mapedPost = _mapper.Map <UserPostAddViewModel, Post>(post);

            try
            {
                mapedPost.UserId     = User.Identity.GetUserId();
                mapedPost.CategoryId = post.SelectedCategory;
                string imagePath = ResizerImage.UploadImage(post.ImageFile);
                mapedPost.ImagePath = imagePath;
                _postRepo.AddPost(mapedPost);
                _postRepo.SaveChanges();
            }
            catch (Exception e)
            {
                return(RedirectToAction("Add"));
            }
            TempData["addError"] = "false";
            return(RedirectToRoute("PostDetails", new { id = mapedPost.Id, name = post.GetTitleAsUrl() }));
        }
예제 #3
0
        public async Task <IActionResult> AddPost(PostCreateViewModel createPostViewModel)
        {
            if (ModelState.IsValid)
            {
                var slug = BlogUtils.CreateSlug(createPostViewModel.Slug);

                if (string.IsNullOrEmpty(slug))
                {
                    ModelState.AddModelError(ModelStateErrorMsgKey, MsgInvalidSlug);
                    return(View(createPostViewModel));
                }

                var slugIsUnique = await _postRepo.CheckIfSlugIsUnique(slug);

                if (!slugIsUnique)
                {
                    ModelState.AddModelError(ModelStateErrorMsgKey, MsgDuplicateSlug);
                    return(View(createPostViewModel));
                }

                createPostViewModel.Slug = slug;
                var user = await GetLoggedInUser();

                var result = await _postRepo.AddPost(createPostViewModel, user);

                if (result)
                {
                    return(Redirect(Url.Action("AnyPost", "Blog", new { slug })));
                }
            }

            ModelState.AddModelError(ModelStateErrorMsgKey, MsgSomethingIsWrong);
            return(View(createPostViewModel));
        }
        public ResponseSinglePost AddPost(RequestSinglePost post)
        {
            // map to Pots Model
            var postPass = new Posts
            {
                Title           = post.Title,
                AbstractContent = post.AbstractContent,
                Content         = post.Content,
                CoverPhoto      = post.CoverPhoto,
                UserId          = post.UserId,
            };

            var postResponse = _postRepo.AddPost(postPass);


            // map to ResponseSinglePost
            var singlePostResponse = new ResponseSinglePost
            {
                PostId          = postResponse.Id,
                Title           = postResponse.Title,
                AbstractContent = postResponse.AbstractContent,
                Content         = postResponse.Content,
                CoverPhoto      = postResponse.CoverPhoto
            };

            return(singlePostResponse);
        }
예제 #5
0
        public ActionResult AddPost(PostDto post)
        {
            Post p = new Post(post);

            if (_postRepo.AddPost(p))
            {
                return(Ok(p));
            }
            return(BadRequest("Some problem occured during adding the new post"));
        }
 public async Task<IActionResult> AddPost(Post post){
     try
     {
         if(post.title.Length < 0 || post.description.Length < 0 || post.slug.Length < 0 || post.content.Length < 0 || post.photo.Length < 0){
             return BadRequest("Preencha todos os campos");
         }
         await _repo.AddPost(post);
         if(await _repo.SaveChangesAsync()){
             return Ok("Postagem adicionada");
         }
         return BadRequest("Não foi possível adicionar a postagem");
     }
     catch (System.Exception)
     {
         return BadRequest("Não foi possível adicionar a postagem");
     }
 }
예제 #7
0
 public async Task <IActionResult> AddPostAsync(String postText, String postTopic)
 {
     if (ModelState.GetValidationState(nameof(postText)) == ModelValidationState.Valid)
     {
         Post p = new Post
         {
             PostTopic = postTopic,
             PostText  = postText,
             Op        = await userManager.GetUserAsync(User)
         };
         pRepo.AddPost(p);
         return(View());
     }
     else
     {
         return(View("error"));
     }
 }
예제 #8
0
        public async Task <IActionResult> AddPost(Post post)
        {
            // ModelState nesnesini temizliyoruz
            ModelState.Clear();
            // formda eksik olan kullanıcı alanını dolduruyoruz
            post.user = await _userManager.GetUserAsync(HttpContext.User);

            // formu tekrar doğruluyoruz
            TryValidateModel(post);
            if (ModelState.IsValid)
            {
                _postRepository.AddPost(post);
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                return(View());
            }
        }