public IDataResult <ChatComment> CreateChatComment(AddChatCommentDto addChatDto) { var errorResult = BusinessRules.Run(CheckAuthenticatedUserExist(), CheckReceiverIsExist(addChatDto.ReceiverId)); if (errorResult != null) { return(ResultConverter.ResultToDataResult <ChatComment>(errorResult)); } var user = _authService.GetAuthenticatedUser().Result.Data; var chat = GetChatById(user.Id, addChatDto.ReceiverId).Data; if (chat == null) { var result = CreateChatwithComment(user, addChatDto); return(new SuccessDataResult <ChatComment>(GetChatCommentById(result.Data).Data, Message.ChatCommentCreated)); } var chatComment = new ChatComment() { UserId = user.Id, ChatId = chat.Id, Comment = addChatDto.Content }; _uow.ChatComments.Add(chatComment); _uow.Commit(); return(new SuccessDataResult <ChatComment>(GetChatCommentById(chatComment.Id).Data, Message.ChatCommentCreated)); }
public IResult CreateArticle(AddArticleDto addArticleDto) { var errorResult = BusinessRules.Run(CheckAuthenticatedUserExist(), CheckArticleCategoryExist(addArticleDto.ArticleCategoryId)); if (errorResult != null) { return(errorResult); } var user = _authService.GetAuthenticatedUser().Result.Data; var article = new Article() { Title = addArticleDto.Title, Content = addArticleDto.Content, UserId = user.Id, ArticleCategoryId = addArticleDto.ArticleCategoryId }; user.UserHistories.Add(new UserHistory() { ArticleCategoryId = addArticleDto.ArticleCategoryId }); _uow.Articles.Add(article); // _uow.Commit(); // return(new SuccessResult(Message.ArticleCreated)); }
public IDataResult <AccessToken> UpdateUser(UpdateUserDto updateUserDto) { var errorResult = BusinessRules.Run(CheckAuthenticatedUserExist()); if (errorResult != null) { return(ResultConverter.ResultToDataResult <AccessToken>(errorResult)); } var user = _authService.GetAuthenticatedUser().Result.Data; user.About = updateUserDto.About; _uow.Users.Update(user); _uow.Commit(); return(new SuccessDataResult <AccessToken>(_authService.GetAuthenticatedToken(user).Result.Data)); }
public IResult CreateFavoriteArticle(AddFavoriteDto addFavoriteDto) { var errorResult = BusinessRules.Run(CheckAuthenticatedUserExist(), CheckArticleIsExist(addFavoriteDto.ArticleId)); if (errorResult != null) { return(errorResult); } var user = _authService.GetAuthenticatedUser().Result.Data; //BU MAKALE ZATEN FAVORİLERİNDE Mİ? if (IsArticleAlreadyUsersFavorite(user.Id, addFavoriteDto.ArticleId).ResultType == ResultType.Success) { //EVET İSE, SİL. var favorite = _uow.Favorites.Get(x => x.ArticleId == addFavoriteDto.ArticleId && x.UserId == user.Id); var result = DeleteFavorite(favorite); return(result); } //DEĞİL İSE, EKLE var newFavorite = new Favorite() { ArticleId = addFavoriteDto.ArticleId }; if (!string.IsNullOrEmpty(addFavoriteDto.Description)) { newFavorite.Description = addFavoriteDto.Description; } user.Favorites.Add(newFavorite); _uow.Commit(); return(new SuccessResult(Message.FavoriteCreated)); }
public IResult AddLike(long articleId) { //LOGIN KULLANICI VAR MI, MAKALE MEVCUT MU var errorResult = BusinessRules.Run(CheckAuthenticatedUserExist(), IsArticleExist(articleId)); if (errorResult != null) { return(errorResult); } var user = _authService.GetAuthenticatedUser().Result.Data; //KULLANICI BU MAKALEYE LIKE ATMIŞ MI? if (IsThereUserLikeOnArticle(articleId, user.Id).ResultType == ResultType.Success) { //ATMIŞ İSE, KALDIR. var userLike = GetUserLikeOnArticle(articleId, user.Id).Data; DeleteLike(userLike); } //LIKE ATMAMIŞ İSE else { //KULLANICI BU MAKALEYE DISSLIKE ATMIŞ MI? if (IsThereUserDisslikeOnArticle(articleId, user.Id).ResultType == ResultType.Success) { //ATMIŞ İSE KALDIR. var userDisslike = GetUserDisslikeOnArticle(articleId, user.Id).Data; DeleteDisslike(userDisslike); } _uow.ArticleLikeDisslikes.Add(new ArticleLikeDisslike() { UserId = user.Id, ArticleId = articleId, LikeDisslikeType = LikeDisslikeType.Like }); } _uow.Commit(); return(new SuccessResult()); }
public IResult CreateAuthorizationAppeal(AddAuthorizationAppealDto addAuthorizationAppealDto) { var user = _authService.GetAuthenticatedUser().Result.Data; var errorResult = BusinessRules.Run(CheckAuthenticatedUserExist(), IsThereAnyAppealOnWait(user.Id), IsThereAnyConfirmedAppeal(user.Id)); if (errorResult != null) { return(errorResult); } user.AuthorizationAppeals.Add(new AuthorizationAppeal() { AppealDescription = addAuthorizationAppealDto.AppealDescription }); _uow.Commit(); return(new SuccessResult(Message.AppealCreated)); }
public IResult CreateTopic(AddTopicDto addTopicDto) { var errorResult = BusinessRules.Run(CheckAuthenticatedUserExist()); if (errorResult != null) { return(errorResult); } var user = _authService.GetAuthenticatedUser().Result.Data; var topic = new Topic() { Title = addTopicDto.Title, Content = addTopicDto.Content, UserId = user.Id }; _uow.Topics.Add(topic); _uow.Commit(); return(new SuccessResult(Message.TopicCreated)); }