Пример #1
0
        public void Read()
        {
            string sql = "SELECT * FROM Servers";

            //using (SQLiteConnection conn = new SQLiteConnection())
            //{

            //}

            string result = base.ExecuteQuery(sql, null);

            this.ArrayListServers.Clear();

            if (result == string.Empty)
            {
                if (base.Database.Reader.HasRows)
                {
                    while (base.Database.Reader.Read())
                    {
                        Model_ServerDetails sd = new Model_ServerDetails()
                        {
                            UID        = base.Database.Reader["uid"].ToString(),
                            GroupID    = int.Parse(base.Database.Reader["groupid"].ToString()),
                            ServerName = base.Database.Reader["servername"].ToString(),
                            Server     = base.Database.Reader["server"].ToString(),
                            Domain     = base.Database.Reader["domain"].ToString(),
                            Port       = int.Parse(base.Database.Reader["port"].ToString()),
                            Username   = base.Database.Reader["username"].ToString(),

                            Password = (new Func <string>(() =>
                            {
                                string pword = base.Database.Reader["password"].ToString();
                                if (pword != string.Empty)
                                {
                                    pword = RijndaelSettings.Decrypt(pword);
                                }

                                return(pword);
                            }).Invoke()),

                            Description   = base.Database.Reader["description"].ToString(),
                            ColorDepth    = int.Parse(base.Database.Reader["colordepth"].ToString()),
                            DesktopWidth  = int.Parse(base.Database.Reader["desktopwidth"].ToString()),
                            DesktopHeight = int.Parse(base.Database.Reader["desktopheight"].ToString()),
                            Fullscreen    = int.Parse(base.Database.Reader["fullscreen"].ToString()) == 1 ? true : false
                        };

                        this.ArrayListServers.Add(sd);
                    }
                }
            }
            else
            {
                base.Database.CloseConnection();
                System.Diagnostics.Debug.WriteLine(result);
                throw new Exception(result);
            }

            base.Database.CloseConnection();
        }
Пример #2
0
 public Password(string value, bool isEncrypted)
 {
     IsEmpty   = true;
     Encrypted = null;
     if (!string.IsNullOrEmpty(value))
     {
         IsEmpty   = false;
         Encrypted = isEncrypted ? value : RijndaelSettings.Encrypt(value);
     }
 }
Пример #3
0
        public void Read()
        {
            string sql = "SELECT * FROM Servers";

            //using (SQLiteConnection conn = new SQLiteConnection())
            //{

            //}

            SQLiteDataReader reader;
            string           result = ExecuteQuery(sql, null, out reader);

            this._alServes.Clear();

            if (result == string.Empty)
            {
                while (reader.Read())
                {
                    ServerDetails sd = new ServerDetails();
                    sd.UID        = reader["uid"].ToString();
                    sd.GroupID    = int.Parse(reader["groupid"].ToString());
                    sd.ServerName = reader["servername"].ToString();
                    sd.Server     = reader["server"].ToString();
                    sd.Domain     = reader["domain"].ToString();
                    sd.Port       = int.Parse(reader["port"].ToString());
                    sd.Username   = reader["username"].ToString();

                    string pword = reader["password"].ToString();
                    if (pword != string.Empty)
                    {
                        pword = RijndaelSettings.Decrypt(pword);
                    }

                    sd.Password = pword;

                    sd.Description   = reader["description"].ToString();
                    sd.ColorDepth    = int.Parse(reader["colordepth"].ToString());
                    sd.DesktopWidth  = int.Parse(reader["desktopwidth"].ToString());
                    sd.DesktopHeight = int.Parse(reader["desktopheight"].ToString());
                    sd.Fullscreen    = int.Parse(reader["fullscreen"].ToString()) == 1 ? true : false;

                    this._alServes.Add(sd);
                }
                reader.Close();
            }
            else
            {
                CloseConnection();
                System.Diagnostics.Debug.WriteLine(result);
                throw new Exception(result);
            }

            CloseConnection();
        }
Пример #4
0
        private void Save(ServerDetails server_details)
        {
            #region sql
            string sql = "INSERT INTO Servers(uid, groupid, servername, server, domain, port, username, password, description, colordepth, desktopwidth, desktopheight, fullscreen) ";
            sql += "VALUES(@uid, @gid, @sname, @server, @domain, @port, @uname, @pword, @desc, @cdepth, @dwidth, @dheight, @fscreen)";
            #endregion

            #region params
            if (server_details.Password != string.Empty)
            {
                server_details.Password = RijndaelSettings.Encrypt(server_details.Password);
            }

            SQLiteParameter[] parameters =
            {
                new SQLiteParameter("@uid",     server_details.UID),
                new SQLiteParameter("@gid",     server_details.GroupID),
                new SQLiteParameter("@sname",   server_details.ServerName),
                new SQLiteParameter("@server",  server_details.Server),
                new SQLiteParameter("@domain",  server_details.Domain),
                new SQLiteParameter("@port",    server_details.Port),
                new SQLiteParameter("@uname",   server_details.Username),
                new SQLiteParameter("@pword",   server_details.Password),
                new SQLiteParameter("@desc",    server_details.Description),
                new SQLiteParameter("@cdepth",  server_details.ColorDepth),
                new SQLiteParameter("@dwidth",  server_details.DesktopWidth),
                new SQLiteParameter("@dheight", server_details.DesktopHeight),
                new SQLiteParameter("@fscreen", server_details.Fullscreen)
            };
            #endregion

            string result = ExecuteNonQuery(sql, parameters);

            if (result == string.Empty)
            {
            }
            else
            {
                CloseConnection();
                System.Diagnostics.Debug.WriteLine(result);

                if (result.Contains("Abort due to constraint violation"))
                {
                    throw new DatabaseException(DatabaseException.ExceptionTypes.DUPLICATE_ENTRY);
                }
                else
                {
                    throw new Exception(result);
                }
            }

            CloseConnection();
        }
Пример #5
0
        private void Update(Model_ServerDetails server_details)
        {
            #region sql
            string sql = @"
UPDATE 
    Servers 
SET 
    uid=@uid, 
    groupid=@gid,
    servername=@sname, 
    server=@server,
    domain=@domain,
    port=@port,
    username=@uname,
    password=@pword,
    description=@desc,
    colordepth=@cdepth, 
    desktopwidth=@dwidth,
    desktopheight=@dheight,
    fullscreen=@fscreen
WHERE
    uid=@uid";
            #endregion

            #region params
            if (server_details.Password != string.Empty)
            {
                server_details.Password = RijndaelSettings.Encrypt(server_details.Password);
            }

            SQLiteParameter[] parameters =
            {
                new SQLiteParameter("@uid",     server_details.UID),
                new SQLiteParameter("@gid",     server_details.GroupID),
                new SQLiteParameter("@sname",   server_details.ServerName),
                new SQLiteParameter("@server",  server_details.Server),
                new SQLiteParameter("@domain",  server_details.Domain),
                new SQLiteParameter("@port",    server_details.Port),
                new SQLiteParameter("@uname",   server_details.Username),
                new SQLiteParameter("@pword",   server_details.Password),
                new SQLiteParameter("@desc",    server_details.Description),
                new SQLiteParameter("@cdepth",  server_details.ColorDepth),
                new SQLiteParameter("@dwidth",  server_details.DesktopWidth),
                new SQLiteParameter("@dheight", server_details.DesktopHeight),
                new SQLiteParameter("@fscreen", server_details.Fullscreen)
            };
            #endregion

            string result = base.ExecuteNonQuery(sql, parameters);

            if (result == string.Empty)
            {
            }
            else
            {
                base.Database.CloseConnection();
                System.Diagnostics.Debug.WriteLine(result);

                if (result.Contains("Abort due to constraint violation"))
                {
                    throw new DatabaseException(DatabaseException.ExceptionTypes.DUPLICATE_ENTRY);
                }
                else
                {
                    throw new Exception(result);
                }
            }

            base.Database.CloseConnection();
        }