public void ConfirmActivity(ServerInfo serverInfo, List<Cert> certList) { string connString = String.Format(settingsHelper.connectionString, serverInfo.address); SqlConnection connection = new SqlConnection(connString); DataClassesDataContext database = new DataClassesDataContext(); try { connection.Open(); foreach (var cert in certList) { var queryRequest = from r in database.Requests join l in database.Logs on r.LogId equals l.ID join u in database.Users on l.ID_user equals u.ID join c in database.Computers on l.ID_pc equals c.ID where u.Username == cert.user && c.PC_name == SystemInformation.ComputerName select r; if (queryRequest.Any()) { queryRequest.First().Confirmed = 1; database.SubmitChanges(); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } }
public bool GetPcLockStatus(ServerInfo serverInfo) { string connString = String.Format(settingsHelper.connectionString, serverInfo.address); SqlConnection connection = new SqlConnection(connString); DataClassesDataContext database = new DataClassesDataContext(); try { connection.Open(); var queryPc = from c in database.Computers where c.PC_name == Environment.MachineName select c.Lock_status; if (queryPc.Count() > 0) { if (queryPc.First() == 1) return true; else return false; } else { return false; } } catch (Exception ex) { MessageBox.Show(ex.Message); return false; } finally { connection.Close(); } }
public void EndSession(ServerInfo serverInfo, int sessionId) { string connString = String.Format(settingsHelper.connectionString, serverInfo.address); SqlConnection connection = new SqlConnection(connString); DataClassesDataContext database = new DataClassesDataContext(); try { connection.Open(); var queryLogs = from l in database.Logs where l.ID == sessionId select l; if (queryLogs.Any()) { queryLogs.First().Time_logout = DateTime.Now; database.SubmitChanges(); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } }
public void SetPcLockStatus(ServerInfo serverInfo, Cert cert, int lockPc) { string connString = String.Format(settingsHelper.connectionString, serverInfo.address); SqlConnection connection = new SqlConnection(connString); DataClassesDataContext database = new DataClassesDataContext(); try { connection.Open(); var queryUser = from u in database.Users where u.Username == cert.user select u; if (queryUser.Count() == 0) { User newUser = new User { Username = cert.user, Type = "user" }; database.Users.InsertOnSubmit(newUser); database.SubmitChanges(); } var queryPC = from u in database.Computers where u.PC_name == Environment.MachineName select u; if (queryPC.Count() == 0) { Computer newPC = new Computer { PC_name = cert.pcName, Lock_status = lockPc }; database.Computers.InsertOnSubmit(newPC); database.SubmitChanges(); MessageBox.Show("This PC is now LOCKED.\n\nUser authorized on this PC:\n" + cert.user); } else { queryPC.First().Lock_status = lockPc; database.SubmitChanges(); if (lockPc == 1) { MessageBox.Show("This PC is now LOCKED.\n\nUser authorized on this PC:\n" + cert.user); } else { MessageBox.Show("This PC is now UNLOCKED."); } } queryUser = from u in database.Users where u.Username == cert.user select u; queryPC = from u in database.Computers where u.PC_name == Environment.MachineName select u; var queryAuth = from a in database.Auths where a.ID_user == queryUser.First().ID&& a.ID_pc == queryPC.First().ID select a; if (queryAuth.Count() == 0) { Auth newAuth = new Auth { ID_pc = queryPC.First().ID, ID_user = queryUser.First().ID, Auth_key = cert.HashedAuthKey, Device = cert.deviceId }; database.Auths.InsertOnSubmit(newAuth); database.SubmitChanges(); } else if (lockPc == 0) { database.Auths.DeleteOnSubmit(queryAuth.First()); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } }
public bool TryToAuthorize(ServerInfo serverInfo, Cert cert) { string connString = String.Format(settingsHelper.connectionString, serverInfo.address); SqlConnection connection = new SqlConnection(connString); DataClassesDataContext database = new DataClassesDataContext(); try { connection.Open(); if (cert.userType == "admin") { var queryAuth = from a in database.Auths join u in database.Users on a.ID_user equals u.ID join c in database.Computers on a.ID_pc equals c.ID where u.Username == cert.user && a.Device == cert.deviceId select new { u.Type, a.Auth_key }; if (!queryAuth.Any()) { return(false); } else if (queryAuth.First().Auth_key == cert.HashedAuthKey) { return(true); } else { return(false); } } else { var queryAuth = from a in database.Auths join u in database.Users on a.ID_user equals u.ID join c in database.Computers on a.ID_pc equals c.ID where u.Username == cert.user && c.PC_name == cert.pcName select new { u.Type, a.Auth_key }; if (queryAuth.Count() == 0) { return(false); } else if (queryAuth.First().Auth_key == cert.HashedAuthKey) { return(true); } else { return(false); } } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } return(false); }
public bool TryToAuthorize(ServerInfo serverInfo, Cert cert) { string connString = String.Format(settingsHelper.connectionString, serverInfo.address); SqlConnection connection = new SqlConnection(connString); DataClassesDataContext database = new DataClassesDataContext(); try { connection.Open(); if (cert.userType == "admin") { var queryAuth = from a in database.Auths join u in database.Users on a.ID_user equals u.ID join c in database.Computers on a.ID_pc equals c.ID where u.Username == cert.user && a.Device == cert.deviceId select new { u.Type, a.Auth_key }; if (!queryAuth.Any()) return false; else if (queryAuth.First().Auth_key == cert.HashedAuthKey) return true; else return false; } else { var queryAuth = from a in database.Auths join u in database.Users on a.ID_user equals u.ID join c in database.Computers on a.ID_pc equals c.ID where u.Username == cert.user && c.PC_name == cert.pcName select new { u.Type, a.Auth_key }; if (queryAuth.Count() == 0) return false; else if (queryAuth.First().Auth_key == cert.HashedAuthKey) return true; else return false; } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } return false; }
public int StartSession(ServerInfo serverInfo, Cert cert) { string connString = String.Format(settingsHelper.connectionString, serverInfo.address); SqlConnection connection = new SqlConnection(connString); DataClassesDataContext database = new DataClassesDataContext(); try { connection.Open(); var queryAuth = from a in database.Auths join u in database.Users on a.ID_user equals u.ID where a.Auth_key == cert.HashedAuthKey && u.Username == cert.user select new { a.ID_pc, a.ID_user }; var queryPC = from c in database.Computers where c.PC_name == SystemInformation.ComputerName select c; Log newLog = new Log() { ID_pc = queryPC.First().ID, ID_user = queryAuth.First().ID_user, Time_login = DateTime.Now }; database.Logs.InsertOnSubmit(newLog); database.SubmitChanges(); return newLog.ID; } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } return 0; }
public void SetPcLockStatus(ServerInfo serverInfo, Cert cert, int lockPc) { string connString = String.Format(settingsHelper.connectionString, serverInfo.address); SqlConnection connection = new SqlConnection(connString); DataClassesDataContext database = new DataClassesDataContext(); try { connection.Open(); var queryUser = from u in database.Users where u.Username == cert.user select u; if (queryUser.Count() == 0) { User newUser = new User { Username = cert.user, Type = "user" }; database.Users.InsertOnSubmit(newUser); database.SubmitChanges(); } var queryPC = from u in database.Computers where u.PC_name == Environment.MachineName select u; if (queryPC.Count() == 0) { Computer newPC = new Computer { PC_name = cert.pcName, Lock_status = lockPc }; database.Computers.InsertOnSubmit(newPC); database.SubmitChanges(); MessageBox.Show("This PC is now LOCKED.\n\nUser authorized on this PC:\n" + cert.user); } else { queryPC.First().Lock_status = lockPc; database.SubmitChanges(); if (lockPc == 1) MessageBox.Show("This PC is now LOCKED.\n\nUser authorized on this PC:\n" + cert.user); else MessageBox.Show("This PC is now UNLOCKED."); } queryUser = from u in database.Users where u.Username == cert.user select u; queryPC = from u in database.Computers where u.PC_name == Environment.MachineName select u; var queryAuth = from a in database.Auths where a.ID_user == queryUser.First().ID && a.ID_pc == queryPC.First().ID select a; if (queryAuth.Count() == 0) { Auth newAuth = new Auth { ID_pc = queryPC.First().ID, ID_user = queryUser.First().ID, Auth_key = cert.HashedAuthKey, Device = cert.deviceId }; database.Auths.InsertOnSubmit(newAuth); database.SubmitChanges(); } else if (lockPc == 0) { database.Auths.DeleteOnSubmit(queryAuth.First()); } } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { connection.Close(); } }