public static void Initializer(BaseContext context) { if (context.User.Any() && context.Article.Any()) { return; } else { var defaultUser = new User(); defaultUser.Name = "Admin"; defaultUser.Email = "*****@*****.**"; defaultUser.Hash = HashMD5.getMD5("*****@*****.**"); defaultUser.Password = HashMD5.getMD5("123456"); defaultUser.Role = (int)RoleType.Admin; context.Add(defaultUser); context.SaveChanges(); var defaultArticle = new Article(); defaultArticle.PublishedDate = DateTime.Now; defaultArticle.Text = "New Text"; defaultArticle.Title = "Same Title"; defaultArticle.User = context.User.FirstOrDefault(); context.Add(defaultArticle); context.SaveChanges(); var like = new ArticleLikes(); like.Article = context.Article.FirstOrDefault(); like.User = context.User.FirstOrDefault(); context.Add(like); context.SaveChanges(); } }
public async Task <ArticleViewModel> Like(ArticleLikeViewModel model) { var data = new ArticleLikes(model.IdUser, model.IdArticle); _articleLikes.AddLike(data); return(_mapper.Map <ArticleViewModel>(await _article.GetById(model.IdArticle))); }
public async Task <bool> LikeArticle(int articleId) { var userName = _httpContextAccessor.HttpContext.User?.FindFirst(ClaimTypes.NameIdentifier)?.Value; //Ordering is important if article is already liked then we don't want to perform another DB hit for IsValidArticle if (userName == null || AlreadyLiked(userName, articleId) || !IsValidArticle(articleId)) { return(false); } var articleLikes = new ArticleLikes() { ArticleId = articleId, UserName = userName }; await _articleLikesRepository.AddAsync(articleLikes); return(true); }
public string setLike(string userCode, string articleCode, bool like) { try { BLLRepository <User> rep_user = new BLLRepository <User>(); BLLRepository <Article> rep_article = new BLLRepository <Article>(); Entities.User user = rep_user.Find(x => x.userCodeID == userCode); Entities.Article article = rep_article.Find(x => x.articleCodeID == articleCode); if (like) //Like işlemi yapılacak { BLLRepository <ArticleLikes> rep_artLike = new BLLRepository <ArticleLikes>(); rep_artLike.Insert(new ArticleLikes { article = article, user = user }); return("liked"); } else // Unlike işlemi yapılacak { BLLRepository <ArticleLikes> rep_artLike = new BLLRepository <ArticleLikes>(); ArticleLikes articlelike = new ArticleLikes(); List <ArticleLikes> artLikeLİst = rep_artLike.List(); try { articlelike = rep_artLike.List(x => x.article.articleCodeID == article.articleCodeID & x.user.userCodeID == user.userCodeID).First(); } catch (Exception) { } if (articlelike.articleLikesID != null) // like kaydı bulunmuş ise { rep_artLike.Remove(articlelike); } return("unliked"); } } catch (Exception) { return("error"); } }