diff options
| author | transtrike <transtrike@gmail.com> | 2021-01-30 19:28:06 +0200 |
|---|---|---|
| committer | transtrike <transtrike@gmail.com> | 2021-01-30 19:28:06 +0200 |
| commit | 9d5f4628a3a75871b47ac6a9f9c0419748d9dfb8 (patch) | |
| tree | c738e02bb41de7c4318b7a3e273e2425a6b1635b /src/DevHive.Data/Repositories | |
| parent | 866a5a15b8b722bc78d065f73adc0c465f264f55 (diff) | |
| download | DevHive-9d5f4628a3a75871b47ac6a9f9c0419748d9dfb8.tar DevHive-9d5f4628a3a75871b47ac6a9f9c0419748d9dfb8.tar.gz DevHive-9d5f4628a3a75871b47ac6a9f9c0419748d9dfb8.zip | |
User - Friend relation inital fix
Diffstat (limited to 'src/DevHive.Data/Repositories')
| -rw-r--r-- | src/DevHive.Data/Repositories/UserRepository.cs | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/src/DevHive.Data/Repositories/UserRepository.cs b/src/DevHive.Data/Repositories/UserRepository.cs index 6512c42..6c63244 100644 --- a/src/DevHive.Data/Repositories/UserRepository.cs +++ b/src/DevHive.Data/Repositories/UserRepository.cs @@ -3,8 +3,10 @@ using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Threading.Tasks; +using AutoMapper.Mappers; using DevHive.Data.Interfaces.Repositories; using DevHive.Data.Models; +using DevHive.Data.RelationModels; using Microsoft.AspNetCore.Identity; using Microsoft.EntityFrameworkCore; @@ -68,17 +70,21 @@ namespace DevHive.Data.Repositories foreach (var role in newEntity.Roles) user.Roles.Add(role); - foreach (var friend in user.Friends) - { - friend.Friends.Remove(user); - this._context.Entry(friend).State = EntityState.Modified; - } - user.Friends.Clear(); - foreach (var friend in newEntity.Friends) - { - friend.Friends.Add(user); - user.Friends.Add(friend); - } + // foreach (var friend in user.Friends) + // { + // friend.Friends.Remove(user); + // this._context.Entry(friend).State = EntityState.Modified; + // } + // user.Friends.Clear(); + // foreach (var friend in newEntity.Friends) + // { + // friend.Friends.Add(user); + // user.Friends.Add(friend); + // } + this._context.UserFriends.RemoveRange( + this._context.UserFriends + .Where(x => x.FriendId == user.Id && + x.UserId == user.Id)); user.Technologies.Clear(); foreach (var tech in newEntity.Technologies) @@ -118,7 +124,7 @@ namespace DevHive.Data.Repositories User friend = await this.GetByIdAsync(friendId); - return user.Friends.Contains(friend); + return user.Friends.Any(x => x.Friend.Id == friendId); } public bool DoesUserHaveThisUsername(Guid id, string username) |
