From 98e17766b203734a1817eed94338e2d25f4395f7 Mon Sep 17 00:00:00 2001 From: transtrike Date: Sat, 13 Feb 2021 16:20:18 +0200 Subject: Project Restructure P.1 --- src/DevHive.Data/Repositories/PostRepository.cs | 105 ------------------------ 1 file changed, 105 deletions(-) delete mode 100644 src/DevHive.Data/Repositories/PostRepository.cs (limited to 'src/DevHive.Data/Repositories/PostRepository.cs') diff --git a/src/DevHive.Data/Repositories/PostRepository.cs b/src/DevHive.Data/Repositories/PostRepository.cs deleted file mode 100644 index 52c5b4e..0000000 --- a/src/DevHive.Data/Repositories/PostRepository.cs +++ /dev/null @@ -1,105 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; -using DevHive.Data.Interfaces.Repositories; -using DevHive.Data.Models; -using DevHive.Data.RelationModels; -using Microsoft.EntityFrameworkCore; - -namespace DevHive.Data.Repositories -{ - public class PostRepository : BaseRepository, IPostRepository - { - private readonly DevHiveContext _context; - private readonly IUserRepository _userRepository; - - public PostRepository(DevHiveContext context, IUserRepository userRepository) - : base(context) - { - this._context = context; - this._userRepository = userRepository; - } - - public async Task AddNewPostToCreator(Guid userId, Post post) - { - User user = await this._userRepository.GetByIdAsync(userId); - user.Posts.Add(post); - - return await this.SaveChangesAsync(); - } - - #region Read - public override async Task GetByIdAsync(Guid id) - { - return await this._context.Posts - .Include(x => x.Comments) - .Include(x => x.Creator) - .Include(x => x.Attachments) - // .Include(x => x.Rating) - .FirstOrDefaultAsync(x => x.Id == id); - } - - /// - /// This method returns the post that is made at exactly the given time and by the given creator - /// - public async Task GetPostByCreatorAndTimeCreatedAsync(Guid creatorId, DateTime timeCreated) - { - return await this._context.Posts - .FirstOrDefaultAsync(p => p.Creator.Id == creatorId && - p.TimeCreated == timeCreated); - } - - public async Task> GetFileUrls(Guid postId) - { - return (await this.GetByIdAsync(postId)).Attachments.Select(x => x.FileUrl).ToList(); - } - #endregion - - #region Update - public override async Task EditAsync(Guid id, Post newEntity) - { - Post post = await this.GetByIdAsync(id); - // var ratingId = post.Rating.Id; - - this._context - .Entry(post) - .CurrentValues - .SetValues(newEntity); - - List postAttachments = new(); - foreach(var attachment in newEntity.Attachments) - postAttachments.Add(attachment); - post.Attachments = postAttachments; - - post.Comments.Clear(); - foreach(var comment in newEntity.Comments) - post.Comments.Add(comment); - - // post.Rating.Id = ratingId; - - this._context.Entry(post).State = EntityState.Modified; - - return await this.SaveChangesAsync(); - } - #endregion - - #region Validations - public async Task DoesPostExist(Guid postId) - { - return await this._context.Posts - .AsNoTracking() - .AnyAsync(r => r.Id == postId); - } - - public async Task DoesPostHaveFiles(Guid postId) - { - return await this._context.Posts - .AsNoTracking() - .Where(x => x.Id == postId) - .Select(x => x.Attachments) - .AnyAsync(); - } - #endregion - } -} -- cgit v1.2.3