Example #1
0
        public async Task <IResult> DeletePostAsync(long id)
        {
            var post = await _postRepository.FirstOrDefaultWhereIncludeAsync(p => p.Id == id, post => post.Point);

            await _postRepository.DeleteAsync(id);

            await _unitOfWork.SaveChangesAsync();

            var point = await _pointRepository.FirstOrDefaultWhereIncludeAsync(p => p.Id == post.Point.Id, p => p.Posts);

            if (!point.Posts.Any())
            {
                await _pointRepository.DeleteAsync(post.Point.Id);
            }

            await _unitOfWork.SaveChangesAsync();

            return(Result.Success());
        }