/// <summary> /// Add a home user /// </summary> /// <param name="homeMembership">The home membership definition</param> /// <param name="caller">The person doing the adding</param> /// <returns>The home membership objecdt</returns> async Task <HomeMembership> IHomeLayer.AddHomeUser(HomeMembership homeMembership, Guid home, Guid caller) { await this.connectionManager.ExecuteSql( "hub.addhomeuser", collection => { collection.AddWithValue("home", home); collection.AddWithValue("caller", caller); collection.AddWithValue("user", homeMembership.User); collection.AddWithValue("role", (short)homeMembership.Access); }, this.tokenSource.Token); return(homeMembership); }
/// <summary> /// Get all of the users attached to a house /// </summary> /// <param name="home">The home to check</param> /// <param name="user">The user calling the method</param> /// <returns>The list of home memberships</returns> async Task <IEnumerable <HomeMembership> > IHomeLayer.GetHomeUsers(Guid home, Guid user) { return(await this.connectionManager.ExecuteSql( "hub.gethomeusers", collection => { collection.AddWithValue("home", home); collection.AddWithValue("user", user); }, reader => { var members = new List <HomeMembership>(); while (reader.Read()) { var member = new HomeMembership( (Guid)reader["user"], (HomeMembershipAccess)(byte)reader["role"]); members.Add(member); } return members; }, this.tokenSource.Token)); }
/// <summary> /// Intializes a new instance of the <see cref="HomeMembershipModel"/> class. /// </summary> /// <param name="membership">The membership object</param> public HomeMembershipModel(HomeMembership membership) { this.User = membership.User; this.Roles = HomeMembershipModel.GetRoles(membership.Access); }