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); } } }
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)); }
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)); } }
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(); }
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)))); } }
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")); }
public UpdateTweetVM() { Tweet = new AddTweetDTO(); }