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()); }