Пример #1
0
        public static void AddLobby(int games_id, int nr_of_players, DateTime start_date, string creator_name)
        {
            using (var db = new project_databaseEntities())
            {
                int id;
                try
                {
                    id = db.lobbies.Max(lobby => lobby.ID) + 1;
                }
                catch (Exception)
                {
                    id = 1;
                }

                lobby newlobby = new lobby(id, games_id, nr_of_players, start_date, creator_name, 1);

                int inlobbyid;
                try
                {
                    inlobbyid = db.in_lobby.Max(in_lobby => in_lobby.pk_id) + 1;
                }
                catch (Exception)
                {
                    inlobbyid = 1;
                }
                user usr = db.users.FirstOrDefault(user => user.name == creator_name);
                in_lobby newinlobby = new in_lobby(inlobbyid, usr.ID, id);
                ++usr.created_lobbies;
                db.lobbies.Add(newlobby);
                db.in_lobby.Add(newinlobby);
                db.users.Attach(usr);
                db.Entry(usr).State = System.Data.Entity.EntityState.Modified;
                db.SaveChanges();
            }
        }
Пример #2
0
 //--------------------------------------------------------------------------------
 //user--DELETE--------------------------------------------------------------------
 public static void DeleteUser(int id)
 {
     using (var db = new project_databaseEntities())
     {
         user usr = db.users.SingleOrDefault(user => user.ID == id);
         db.users.Remove(usr);
         db.SaveChanges();
     }
 }
Пример #3
0
 //user--GET-----------------------------------------------------------------------
 public static List<user> GetUserByName(string name)
 {
     using (var db = new project_databaseEntities())
     {
         List<user> usrl = new List<user>();
         user usr = db.users.SingleOrDefault(user => user.name == name);
         usrl.Add(new user(usr.ID, usr.name, usr.registration_date, usr.created_lobbies, usr.joined_lobbies, usr.canceled_lobbies));
         return usrl;
     }
 }
Пример #4
0
 //-------------------------------------------------------------------------------------
 /// <summary>
 /// Checks if a user identified by username param is in lobby idetified by lobbyid
 /// </summary>
 /// <param name="username"></param>
 /// <param name="lobbyid"></param>
 /// <returns></returns>
 public static bool CheckIfInLobby(string username, int lobbyid)
 {
     using (var db = new project_databaseEntities())
     {
         lobby lob = db.lobbies.SingleOrDefault(lobby => lobby.ID == lobbyid);
         user usr = db.users.SingleOrDefault(user => user.name == username);
         in_lobby newinlobby = db.in_lobby.SingleOrDefault(in_lobby => ((in_lobby.lobbyid == lob.ID) && (in_lobby.userid == usr.ID)));
         if(newinlobby != null)
         {
             return true;
         }
     }
     return false;
 }
 public List<LobbyDTO> GetAllLobbies()
 {
     using (var db = new project_databaseEntities())
     {
         List<lobby> listOfLobbies = db.lobbies.ToList();
         List<LobbyDTO> allLobbies = new List<LobbyDTO>();
         if (listOfLobbies.Capacity > 0)
         {
             foreach (var dbItem in listOfLobbies)
             {
                 allLobbies.Add(new LobbyDTO(dbItem.ID, dbItem.game_id, dbItem.nr_of_players, dbItem.start_date, dbItem.creator_name, dbItem.currently_in_lobby));
             }
         }
         return allLobbies;
     }
 }
Пример #6
0
 //Lobby--DELETE--------------------------------------------------------------------------
 public static void DeleteLobby(int id)
 {
     using (var db = new project_databaseEntities())
     {
         lobby lob = db.lobbies.SingleOrDefault(lobby => lobby.ID == id);
         db.lobbies.Remove(lob);
         foreach (var inlobbyObject in db.in_lobby)
         {
             if (inlobbyObject.lobbyid == id)
             {
                 db.in_lobby.Remove(inlobbyObject);
             }
         }
         db.SaveChanges();
     }
 }
 public IdentityUser FindUser(string UserName, string UserPassword)
 {
     using (var db = new project_databaseEntities())
     {
         CustomPassword pwd = new CustomPassword();
         string pwdHash = pwd.HashPassword(UserPassword);
         AspNetUser checkLoginData = db.AspNetUsers.SingleOrDefault(user => user.UserName == UserName && user.PasswordHash == pwdHash);
         if (checkLoginData != null)
         {
             IdentityUser usr = new IdentityUser(UserName);
             usr.PasswordHash = pwdHash;
             usr.SecurityStamp = checkLoginData.SecurityStamp;                   
             return usr;
         }
         return null;
     }
 }
Пример #8
0
 //--------------------------------------------------------------------------------
 //user--ADD-----------------------------------------------------------------------
 public static void AddUser(string username)
 {
     using (var db = new project_databaseEntities())
     {
         try
         {
             int userid = db.users.Max(user => user.ID) + 1;
             user felhasznalo = new user(userid, username, DateTime.Now, 0, 0, 0);
             db.users.Add(felhasznalo);
             db.SaveChanges();
         }
         catch (System.InvalidOperationException)
         {
             user felhasznalo = new user(1, username, DateTime.Now, 0, 0, 0);
             db.users.Add(felhasznalo);
             db.SaveChanges();
         }
     }
 }
Пример #9
0
        //-------------------------------------------------------------------------------------
        //exceptiont lekezelni - mi tortenik, ha a keresett id nem letezik
        //Lobby--GET----------------------------------------------------------------------------
        public static List<lobby> GetLobbyById(int id)
        {
            List<lobby> Lobbies = new List<lobby>();
            using (var db = new project_databaseEntities())
            {
                try
                {
                    lobby lob = db.lobbies.SingleOrDefault(lobby => lobby.ID == id);
                    Lobbies.Add(new lobby(lob.ID, lob.game_id, lob.nr_of_players, lob.start_date, lob.creator_name, lob.currently_in_lobby));
                }
                catch(Exception ex)
                {
                    Console.WriteLine(ex);
                }

            }
            return Lobbies;
        }
Пример #10
0
 //-------------------------------------------------------------------------------------
 //Lobby--LEAVE--------------------------------------------------------------------------
 public static void LeaveLobby(string username, int lobbyid)
 {
     using (var db = new project_databaseEntities())
     {
         lobby lob = db.lobbies.SingleOrDefault(lobby => lobby.ID == lobbyid);
         user usr = db.users.SingleOrDefault(user => user.name == username);
         in_lobby newinlobby = db.in_lobby.SingleOrDefault(in_lobby => ((in_lobby.lobbyid == lob.ID) && (in_lobby.userid == usr.ID)));
         if (lob.currently_in_lobby < 2)
         {
             db.lobbies.Remove(lob);
             foreach (var inlobbyObject in db.in_lobby)
             {
                 if (inlobbyObject.lobbyid == lob.ID)
                 {
                     db.in_lobby.Remove(inlobbyObject);
                 }
             }
             db.SaveChanges();
         }
         else
         {
             --lob.currently_in_lobby;
             db.lobbies.Attach(lob);
             db.Entry(lob).State = System.Data.Entity.EntityState.Modified;
             db.in_lobby.Remove(newinlobby);
             db.SaveChanges();
         }
     }
 }
Пример #11
0
 //Lobby--JOIN--------------------------------------------------------------------------
 public static void JoinLobby(string username, int lobbyid)
 {
     using (var db = new project_databaseEntities())
     {
         lobby lobbyToJoin = db.lobbies.SingleOrDefault(lobby => lobby.ID == lobbyid);
         game gameOfLobby = db.games.SingleOrDefault(game => game.ID == lobbyToJoin.game_id);
         user usr = db.users.SingleOrDefault(user => user.name == username);
         if (gameOfLobby.max_players > lobbyToJoin.currently_in_lobby)
         {
             int pk_id = db.in_lobby.Max(in_lobby => in_lobby.pk_id) + 1;
             in_lobby newinlobby = new in_lobby(pk_id, usr.ID, lobbyid);
             db.in_lobby.Add(newinlobby);
             lobby lob = db.lobbies.SingleOrDefault(lobby => lobby.ID == lobbyid);
             ++lob.currently_in_lobby;
             db.lobbies.Attach(lob);
             db.Entry(lob).State = System.Data.Entity.EntityState.Modified;
             ++usr.joined_lobbies;
             db.users.Attach(usr);
             db.Entry(usr).State = System.Data.Entity.EntityState.Modified;
             db.SaveChanges();
         }
     }
 }