public async System.Threading.Tasks.Task AddSharee(ClaimsPrincipal claimsPrincipal, int listId, string idOfShareeToAdd) { try { var user = await GetUser(claimsPrincipal); var currentUser = await Context.Users.Include(s => s.Lists).ThenInclude(l => l.Tasks).SingleAsync(u => u.Id == user.Id); var list = currentUser.Lists.Single(l => l.Id == listId); var shareeToAdd = await Context.Users.SingleAsync(u => u.Id == idOfShareeToAdd); var listShareeMappingToAdd = new ListShareeMappingEntity(shareeToAdd, list); list.Sharees.Add(listShareeMappingToAdd); await Context.SaveChangesAsync(); } catch (Exception e) { Console.WriteLine(e); UiMessagingPipeline.AddUiMessageForUser(claimsPrincipal.FindFirstValue(ClaimTypes.NameIdentifier), new UiMessage("An error occured")); } }
public ShareeModel(ListShareeMappingEntity entity) : this(entity?.User) { }