예제 #1
0
        public Tweet AddTweet(AddTweetDTO newTweet)
        {
            using (var context = new TwitterContext())
            {
                try
                {
                    var user = context.Users.Include(x => x.MyTweets).Include(x => x.FollowingUsers).Include(x => x.FollowedBy).FirstOrDefault(u => u.Id == newTweet.UserId);
                    if (user == null)
                    {
                        throw new NullReferenceException("Error when getting user!");
                    }

                    Tweet tweet = new Tweet();
                    tweet.Id = GetNumberOfTweets() + 1;
                    tweet.TimeWhenTweeted = DateTime.Now;
                    tweet.Text            = newTweet.Text;
                    tweet.User            = user;
                    tweet.Hashtags        = newTweet.Hashtags;

                    context.Tweets.Add(tweet);
                    context.SaveChanges();
                    return(tweet);
                }
                catch (Exception e)
                {
                    throw new Exception("Could not add new user. Exception: " + e.Message);
                }
            }
        }
예제 #2
0
        public IViewComponentResult Invoke()
        {
            var claimsIdentity = (ClaimsIdentity)User.Identity;
            var claim          = claimsIdentity.FindFirst(ClaimTypes.NameIdentifier);
            int userId         = Convert.ToInt32(claim.Value);
            var tweet          = new AddTweetDTO();

            tweet.AppUserId = userId;
            return(View(tweet));
        }
예제 #3
0
 public IHttpActionResult AddTweet(AddTweetDTO newTweet)
 {
     try
     {
         var tweet = _tweetRepository.AddTweet(newTweet);
         return(Ok(tweet));
     }
     catch (Exception e)
     {
         return(BadRequest("Error has occured. Exception: " + e.Message));
     }
 }
예제 #4
0
        public ActionResult Update(Guid id)
        {
            AddTweetDTO model = new AddTweetDTO();
            Tweet       tweet = _tweetService.GetByID(id);

            model.ID = tweet.ID;

            model.TweetContent = tweet.TweetContent;
            model.PublishDate  = DateTime.Now;
            model.ImagePath    = tweet.ImagePath;


            return(View(model));
        }
        public async Task AddTweet(AddTweetDTO addTweetDTO)
        {
            if (addTweetDTO.Image != null)
            {
                using var image = Image.Load(addTweetDTO.Image.OpenReadStream());//garbagecollector çalışmadan arka planda siliyor
                if (image.Width > 600)
                {
                    image.Mutate(x => x.Resize(256, 256));
                }
                image.Save("wwwroot/images/tweets/" + Guid.NewGuid().ToString() + ".jpg");//Guid her fotoğraf için rastgele rakam üretiyor
                addTweetDTO.ImagePath = ("/images/tweets/" + Guid.NewGuid().ToString() + ".jpg");
            }

            var tweet = _mapper.Map <AddTweetDTO, Tweet>(addTweetDTO);
            await _unitOfWork.TweetRepository.Add(tweet);

            await _unitOfWork.Commit();
        }
        public async Task AddTweet(AddTweetDTO addTweetDTO)
        {
            if (addTweetDTO.Image != null)
            {
                using var image = Image.Load(addTweetDTO.Image.OpenReadStream());
                if (image.Width > 600)
                {
                    image.Mutate(x => x.Resize(256, 256));
                }
                image.Save("wwwroot/images/tweets/" + Guid.NewGuid().ToString() + ".jpg");
                addTweetDTO.ImagePath = ("/images/tweets/" + Guid.NewGuid().ToString() + ".jpg");;
            }

            var tweet = _mapper.Map <AddTweetDTO, Tweet>(addTweetDTO);
            await _unitOfWork.TweetRepository.Add(tweet);

            await _unitOfWork.Commit();
        }
예제 #7
0
        public async Task <IActionResult> AddTweet(AddTweetDTO model)
        {
            if (ModelState.IsValid)
            {
                if (model.AppUserId == User.GetUserId())
                {
                    await _tweetServices.AddTweet(model);

                    return(Json("Success"));
                }
                else
                {
                    return(Json("Failed"));
                }
            }
            else
            {
                return(BadRequest(String.Join(Environment.NewLine, ModelState.Values.SelectMany(x => x.Errors).Select(x => x.ErrorMessage + "" + x.Exception))));
            }
        }
예제 #8
0
        public ActionResult Update(AddTweetDTO data, HttpPostedFileBase Image)
        {
            List <string> UploadedImagePaths = new List <string>();

            UploadedImagePaths = ImageUploader.UploadSingleImage(ImageUploader.OriginalProfileImagePath, Image, 1);

            data.ImagePath = UploadedImagePaths[0];

            Tweet update = _tweetService.GetByID(data.ID);

            if (data.ImagePath == "0" || data.ImagePath == "1" || data.ImagePath == "2")
            {
                if (update.ImagePath == null || update.ImagePath == ImageUploader.DefaultProfileImagePath)
                {
                    update.ImagePath = ImageUploader.DefaultProfileImagePath;
                    update.ImagePath = ImageUploader.DefaultXSmallProfileImage;
                    update.ImagePath = ImageUploader.DefaulCruptedProfileImage;
                }
                else
                {
                    update.ImagePath = update.ImagePath;
                }
            }
            else
            {
                update.ImagePath = UploadedImagePaths[0];
                update.ImagePath = UploadedImagePaths[1];
                update.ImagePath = UploadedImagePaths[2];
            }
            Tweet tweet = _tweetService.GetByID(data.ID);

            tweet.TweetContent = data.TweetContent;
            tweet.PublishDate  = data.PublishDate;
            tweet.Status       = Core.Enum.Status.Updated;
            _tweetService.Update(tweet);
            return(Redirect("/Member/Tweet/List"));
        }
예제 #9
0
 public UpdateTweetVM()
 {
     Tweet = new AddTweetDTO();
 }