Пример #1
0
        /// <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();
            }
        }
Пример #2
0
        /// <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;
        }
Пример #3
0
 /// <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;
 }
Пример #4
0
 /// <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;
 }
Пример #5
0
        /// <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;
        }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SopraProject.Site"/> class.
 /// </summary>
 /// <param name="id">Identifier.</param>
 private Site(SiteIdentifier id)
 {
     Identifier = id;
 }
Пример #7
0
 /// <summary>
 /// Gets the booking from the database with the given identifier.
 /// </summary>
 public static Site Get(SiteIdentifier id)
 {
     return s_cache.Get(id);
 }