public IActionResult CreateFavoriteArticle(AddFavoriteDto addFavoriteDto)
        {
            var result = this._favoriteService.CreateFavoriteArticle(addFavoriteDto);


            if (result.ResultType == ResultType.UnAuthorized)
            {
                return(Unauthorized());
            }


            if (result.ResultType == ResultType.Success)
            {
                return(Ok(result.Message));
            }


            return(BadRequest(result.Message));
        }
Exemple #2
0
        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));
        }