public async Task <string> DeleteGroup(keymodel groupkey) { string userId = User.Claims.First(c => c.Type == "UserID").Value; var user = await _userManager.FindByIdAsync(userId); GroupDB grouptoDelete = _groups.FirstOrDefault(o => o.Key.ToString() == groupkey.key && o.FK_User.ToString() == userId); try { if (grouptoDelete != null) { foreach (var item in grouptoDelete.Fk_Followers) { user.Accounts.FirstOrDefault(o => o.CurrentCharacter.Key == item).CurrentCharacter.Fk_Group = Guid.Empty; } user.Accounts.FirstOrDefault(o => o.CurrentCharacter.Key == grouptoDelete.Fk_Leader).CurrentCharacter.Fk_Group = Guid.Empty; await _userManager.UpdateAsync(user); await Database.Groups.DeleteOneAsync(o => o.Key == grouptoDelete.Key); } } catch (Exception ex) { throw; } return(JsonSerializer.Serialize(grouptoDelete.Name)); }
public async Task <string> DeletePath(keymodel pathkey) { string userId = User.Claims.First(c => c.Type == "UserID").Value; var user = await _userManager.FindByIdAsync(userId); TrajetDB trajettoDelete = Database.Paths.Find(o => o.Key == new Guid(pathkey.key) && o.Fk_User == new Guid(userId)).FirstOrDefault(); try { await Database.Paths.DeleteOneAsync(o => o.Key == trajettoDelete.Key); } catch (Exception ex) { throw; } return(JsonSerializer.Serialize(trajettoDelete.Name)); }
public async Task <string> DeleteAccount(keymodel accountkey) { string userId = User.Claims.First(c => c.Type == "UserID").Value; var user = await _userManager.FindByIdAsync(userId); Account accountToDelete = user.Accounts.FirstOrDefault(o => o.Key.ToString() == accountkey.key); user.Accounts.Remove(accountToDelete); try { await _userCollection.ReplaceOneAsync(x => x.Id == user.Id, user); } catch (Exception) { throw; } return(JsonSerializer.Serialize(accountToDelete.AccountName)); }