/// <summary> /// Sets the given user location. /// When setting, if the user does not yet exist in the underlaying storage system, it is created. /// </summary> /// <param name="username">Username.</param> /// <param name="siteId">Site identifier.</param> public void SetLocation(UserIdentifier username, SiteIdentifier siteId) { ValidateProfile(username); using (var ctx = new DatabaseContexts.MainContext()) { var query = from profile in ctx.UsersProfile where profile.Username.Equals(username.Value) select profile; DatabaseContexts.MCUserProfile prof = query.First(); prof.SiteID = Int32.Parse(siteId.Value); ctx.SaveChanges(); } }
/// <summary> /// Gets the SiteIdentifier corresponding to this user location. /// </summary> /// <value>The location.</value> public SiteIdentifier GetLocation(UserIdentifier username) { ValidateProfile(username); SiteIdentifier val; using (var ctx = new DatabaseContexts.MainContext()) { var query = from profile in ctx.UsersProfile where profile.Username.Equals(username.Value) select profile.SiteID; val = new SiteIdentifier(query.First().ToString()); } return val; }
/// <summary> /// Checks if the given site exists. /// </summary> /// <param name="siteId">Site identifier.</param> public bool SiteExists(SiteIdentifier siteId) { bool val; using (var ctx = new DatabaseContexts.MainContext()) { var query = from site in ctx.Sites where site.SiteID.ToString().Equals(siteId.Value.ToString()) select site; val = query.Count() > 0; } return val; }
/// <summary> /// Gets the name of the given site. /// </summary> /// <returns>The site name.</returns> /// <param name="siteId">Site identifier.</param> public string GetSiteName(SiteIdentifier siteId) { string val; using (var ctx = new DatabaseContexts.MainContext()) { var query = from site in ctx.Sites where site.SiteID.ToString().Equals(siteId.Value) select site.Name; val = query.First(); } return val; }
/// <summary> /// Gets a list of RoomIdentifier corresponding to the rooms in the given site. /// </summary> /// <returns>The rooms.</returns> public List<RoomIdentifier> GetRooms(SiteIdentifier siteID) { List<RoomIdentifier> val; using (var ctx = new DatabaseContexts.MainContext()) { var query = from site in ctx.Sites where site.SiteID.ToString().Equals(siteID.Value.ToString()) select site.Rooms; val = query.First().ToList().ConvertAll(room => new RoomIdentifier(room.RoomID.ToString())); } return val; }
/// <summary> /// Initializes a new instance of the <see cref="SopraProject.Site"/> class. /// </summary> /// <param name="id">Identifier.</param> private Site(SiteIdentifier id) { Identifier = id; }
/// <summary> /// Gets the booking from the database with the given identifier. /// </summary> public static Site Get(SiteIdentifier id) { return s_cache.Get(id); }