Пример #1
0
        public DataTable GetTableInfoForEditing()
        {
            String sql =
                String.Format(
                    "SELECT ID, ModName, ModID, ModVersion, MinecraftVersion, FileName FROM {0};", TableName);
            DataTable table = new DataTable();

            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        using (SqliteDataReader reader = cmd.ExecuteReader())
                            table.Load(reader);
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                            table.Load(reader);
                    }
                }
            }
            return(table);
        }
Пример #2
0
        private void DeleteRow(String id)
        {
            String sql = String.Format("DELETE FROM {0} WHERE ID = @id;", TableName);

            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@id", id);
                        cmd.ExecuteNonQueryAsync();
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@id", id);
                        cmd.ExecuteNonQueryAsync();
                    }
                }
            }
        }
Пример #3
0
        public void SetConfig(String configName, String configValue)
        {
            String sql = String.Format("INSERT OR REPLACE INTO {0}(key, value) VALUES(@key, @value);", TableName);

            Debug.WriteLine(sql);
            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@key", configName);
                        cmd.Parameters.AddWithValue("@value", configValue);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@key", configName);
                        cmd.Parameters.AddWithValue("@value", configValue);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
        }
Пример #4
0
        public void SaveData()
        {
            string sqlDelete = string.Format("DELETE FROM {0};", TableName);
            string sqlInsert = String.Format(
                "INSERT OR REPLACE INTO {0} ('ModName', 'ModID', 'ModVersion', 'MinecraftVersion', 'FileName', 'FileVersion', 'MD5', 'OnSolder') VALUES(@modname, @modid, @modversion, @minecraftversion, @filename, @fileversion, @md5, @onsolder);",
                TableName);

            if (Globalfunctions.IsUnix())
            {
                using (var conn = new SqliteConnection(ConnectionString))
                {
                    conn.Open();
                    using (var cmd = new SqliteCommand(sqlDelete, conn))
                    {
                        cmd.ExecuteNonQuery();
                    }
                    using (var cmd = new SqliteCommand(sqlInsert, conn))
                    {
                        foreach (var modInfo in _modInfo)
                        {
                            cmd.Parameters.AddWithValue("@modname", modInfo.ModName);
                            cmd.Parameters.AddWithValue("@modid", modInfo.ModID);
                            cmd.Parameters.AddWithValue("@modversion", modInfo.ModVersion);
                            cmd.Parameters.AddWithValue("@minecraftversion", modInfo.MinecraftVersion);
                            cmd.Parameters.AddWithValue("@filename", modInfo.FileName);
                            cmd.Parameters.AddWithValue("@fileversion", modInfo.FileVersion);
                            cmd.Parameters.AddWithValue("@md5", modInfo.MD5);
                            cmd.Parameters.AddWithValue("@onsolder", modInfo.OnSolder);
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
            }
            else
            {
                using (var conn = new SQLiteConnection(ConnectionString))
                {
                    conn.Open();
                    using (var cmd = new SQLiteCommand(sqlDelete, conn))
                    {
                        cmd.ExecuteNonQuery();
                    }
                    using (var cmd = new SQLiteCommand(sqlInsert, conn))
                    {
                        foreach (var modInfo in _modInfo)
                        {
                            cmd.Parameters.AddWithValue("@modname", modInfo.ModName);
                            cmd.Parameters.AddWithValue("@modid", modInfo.ModID);
                            cmd.Parameters.AddWithValue("@modversion", modInfo.ModVersion);
                            cmd.Parameters.AddWithValue("@minecraftversion", modInfo.MinecraftVersion);
                            cmd.Parameters.AddWithValue("@filename", modInfo.FileName);
                            cmd.Parameters.AddWithValue("@fileversion", modInfo.FileVersion);
                            cmd.Parameters.AddWithValue("@md5", modInfo.MD5);
                            cmd.Parameters.AddWithValue("@onsolder", modInfo.OnSolder);
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
            }
        }
        public void AddOwnModPerm(String modName, String modId, String permissionLink, String modLink)
        {
            String sql = String.Format("INSERT OR REPLACE INTO {0}(ModName, ModID, PermLink, ModLink) VALUES (@modname, @modid, @permlink, @modlink);", TableName);

            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@modname", modName);
                        cmd.Parameters.AddWithValue("@modid", modId);
                        cmd.Parameters.AddWithValue("@permlink", permissionLink);
                        cmd.Parameters.AddWithValue("@modlink", modLink);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@modname", modName);
                        cmd.Parameters.AddWithValue("@modid", modId);
                        cmd.Parameters.AddWithValue("@permlink", permissionLink);
                        cmd.Parameters.AddWithValue("@modlink", modLink);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
        }
        private Boolean IsModInDatabase(String modid)
        {
            String sql = string.Format("SELECT ModID FROM {0} WHERE ModID LIKE @modid;", TableName);

            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@modid", modid);
                        using (SqliteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                if (reader["ModID"].ToString().Equals(modid))
                                {
                                    return(true);
                                }
                            }
                        }
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@modid", modid);
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                if (reader["ModID"].ToString().Equals(modid))
                                {
                                    return(true);
                                }
                            }
                        }
                    }
                }
            }
            return(false);
        }
Пример #7
0
        private void UpdateRow(String id, String modName, String modId, String modVersion, String minecraftVersion, String fileName)
        {
            String fileVersion = minecraftVersion + "-" + modVersion;
            String sql         =
                String.Format(
                    "UPDATE {0} SET ModName = @modname, ModID = @modid, ModVersion = @modversion, MinecraftVersion = @minecraftversion, FileName = @filename, FileVersion = @fileversion, OnSolder = 0 WHERE ID = @id;",
                    TableName);

            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@id", id);
                        cmd.Parameters.AddWithValue("@modname", modName);
                        cmd.Parameters.AddWithValue("@modid", modId);
                        cmd.Parameters.AddWithValue("@modversion", modVersion);
                        cmd.Parameters.AddWithValue("@minecraftversion", minecraftVersion);
                        cmd.Parameters.AddWithValue("@filename", fileName);
                        cmd.Parameters.AddWithValue("@fileversion", fileVersion);
                        cmd.ExecuteNonQueryAsync();
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@id", id);
                        cmd.Parameters.AddWithValue("@modname", modName);
                        cmd.Parameters.AddWithValue("@modid", modId);
                        cmd.Parameters.AddWithValue("@modversion", modVersion);
                        cmd.Parameters.AddWithValue("@minecraftversion", minecraftVersion);
                        cmd.Parameters.AddWithValue("@filename", fileName);
                        cmd.Parameters.AddWithValue("@fileversion", fileVersion);
                        cmd.ExecuteNonQueryAsync();
                    }
                }
            }
        }
        public void AddOwnModLink(String modname, String modid, String modlink)
        {
            String sql;

            if (IsModInDatabase(modid))
            {
                sql = string.Format("UPDATE {0} SET ModLink = @ModLink WHERE ModID LIKE @modid;", TableName);
            }
            else
            {
                sql =
                    String.Format(
                        "INSERT OR REPLACE INTO {0}(ModName, ModID, ModLink) VALUES (@modname, @modid, @ModLink);",
                        TableName);
            }
            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@modname", modname);
                        cmd.Parameters.AddWithValue("@modid", modid);
                        cmd.Parameters.AddWithValue("@ModLink", modlink);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@modname", modname);
                        cmd.Parameters.AddWithValue("@modid", modid);
                        cmd.Parameters.AddWithValue("@ModLink", modlink);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
        }
Пример #9
0
        public string GetConfig(String configName)
        {
            String sql = String.Format("SELECT value FROM {0} WHERE key LIKE @key;", TableName);

            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@key", configName);
                        using (SqliteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                return(reader["value"].ToString());
                            }
                        }
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@key", configName);
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                return(reader["value"].ToString());
                            }
                        }
                    }
                }
            }
            return(String.Empty);
        }
        public void AddAuthor(String modId, String authorName)
        {
            if (String.IsNullOrWhiteSpace(modId))
            {
                return;
            }

            String sql = String.Format(IsModInDatabase(modId) ? "UPDATE {0} SET ModAuthor = @author WHERE ModID LIKE @modid;" : "INSERT INTO {0}(ModAuthor, ModID) VALUES(@author, @modid);", TableName);

            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection db = new SqliteConnection(ConnectionString))
                {
                    db.Open();
                    using (SqliteCommand cmd = new SqliteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@author", authorName);
                        cmd.Parameters.AddWithValue("@modid", modId);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            else
            {
                using (SQLiteConnection db = new SQLiteConnection(ConnectionString))
                {
                    db.Open();
                    using (SQLiteCommand cmd = new SQLiteCommand(sql, db))
                    {
                        cmd.Parameters.AddWithValue("@author", authorName);
                        cmd.Parameters.AddWithValue("@modid", modId);
                        cmd.ExecuteNonQuery();
                    }
                }
            }
        }
Пример #11
0
        private void ReloadEverything()
        {
            string sql        = String.Format("SELECT * FROM {0};", TableName);
            var    beforeSort = new List <ModInfo>();

            if (Globalfunctions.IsUnix())
            {
                using (SqliteConnection conn = new SqliteConnection(ConnectionString))
                {
                    conn.Open();
                    using (var cmd = new SqliteCommand(sql, conn))
                    {
                        using (SqliteDataReader reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                var modinfo = new ModInfo
                                {
                                    ID               = Convert.ToInt32(reader["ID"]),
                                    ModName          = reader["ModName"].ToString(),
                                    ModID            = reader["ModID"].ToString(),
                                    ModVersion       = reader["ModVersion"].ToString(),
                                    MinecraftVersion = reader["MinecraftVersion"].ToString(),
                                    FileName         = reader["FileName"].ToString(),
                                    FileVersion      = reader["FileVersion"].ToString(),
                                    MD5              = reader["MD5"].ToString(),
                                    OnSolder         = Convert.ToInt32(reader["OnSolder"])
                                };
                                beforeSort.Add(modinfo);
                            }
                        }
                    }
                }
            }
            else
            {
                using (var conn = new SQLiteConnection(ConnectionString))
                {
                    conn.Open();
                    using (var cmd = new SQLiteCommand(sql, conn))
                    {
                        using (var reader = cmd.ExecuteReader())
                        {
                            while (reader.Read())
                            {
                                var modinfo = new ModInfo
                                {
                                    ID               = Convert.ToInt32(reader["ID"]),
                                    ModName          = reader["ModName"].ToString(),
                                    ModID            = reader["ModID"].ToString(),
                                    ModVersion       = reader["ModVersion"].ToString(),
                                    MinecraftVersion = reader["MinecraftVersion"].ToString(),
                                    FileName         = reader["FileName"].ToString(),
                                    FileVersion      = reader["FileVersion"].ToString(),
                                    MD5              = reader["MD5"].ToString(),
                                    OnSolder         = Convert.ToInt32(reader["OnSolder"])
                                };
                                beforeSort.Add(modinfo);
                            }
                        }
                    }
                }
            }
            _modInfo = beforeSort.OrderBy(m => m.ID).Distinct().ToList();
        }