Ejemplo n.º 1
0
        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();
            }
        }
Ejemplo n.º 2
0
        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();
            }
        }
Ejemplo n.º 3
0
        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();
            }
        }
Ejemplo n.º 4
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();
            }
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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;
        }
Ejemplo n.º 7
0
        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;
        }
Ejemplo n.º 8
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();
            }
        }