Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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));
        }
Пример #3
0
 /// <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);
 }