I believe the profile manager is finally done for now, I hope.... Added regex patterns to the folder groups to have a standard way to format file names in a given group.
This commit is contained in:
+52
-9
@@ -75,7 +75,7 @@ namespace DataOrganizer
|
||||
|
||||
reader.Close();
|
||||
|
||||
command.CommandText = "SELECT root_id, name, path FROM folder_root WHERE profile_id = @ID ORDER BY name";
|
||||
command.CommandText = "SELECT root_id, name, path, pattern_id FROM folder_root WHERE profile_id = @ID ORDER BY name";
|
||||
|
||||
foreach(var profile in profiles)
|
||||
{
|
||||
@@ -90,7 +90,8 @@ namespace DataOrganizer
|
||||
{
|
||||
Name = reader["name"].ToString(),
|
||||
Id = Convert.ToInt32(reader["root_id"]),
|
||||
Path = reader["path"].ToString()
|
||||
Path = reader["path"].ToString(),
|
||||
PatternId = Convert.ToInt32(reader["pattern_id"])
|
||||
});
|
||||
}
|
||||
|
||||
@@ -147,7 +148,7 @@ namespace DataOrganizer
|
||||
|
||||
id = Convert.ToInt32(command.ExecuteScalar());
|
||||
|
||||
command.CommandText = "INSERT INTO main.folder_root (name, path, profile_id) VALUES (@Name, @Path, @ProfileID)";
|
||||
command.CommandText = "INSERT INTO main.folder_root (name, path, profile_id, pattern_id) VALUES (@Name, @Path, @ProfileID, @Pattern)";
|
||||
|
||||
if (profile.FolderGroups != null)
|
||||
{
|
||||
@@ -157,6 +158,7 @@ namespace DataOrganizer
|
||||
command.Parameters.AddWithValue("Name", group.Name);
|
||||
command.Parameters.AddWithValue("Path", group.Path);
|
||||
command.Parameters.AddWithValue("ProfileID", id);
|
||||
command.Parameters.AddWithValue("Pattern", group.PatternId);
|
||||
|
||||
command.ExecuteNonQuery();
|
||||
}
|
||||
@@ -170,9 +172,9 @@ namespace DataOrganizer
|
||||
return id;
|
||||
}
|
||||
|
||||
public int InsertNewFolderGroup(Profile profile, string name, string path)
|
||||
public int InsertNewFolderGroup(Profile profile, string name, string path, int pattern_id)
|
||||
{
|
||||
var query = @"INSERT INTO main.folder_root (name, path, profile_id) VALUES (@Name, @Path, @ProfileID)";
|
||||
var query = @"INSERT INTO main.folder_root (name, path, profile_id, pattern_id) VALUES (@Name, @Path, @ProfileID, @Pattern)";
|
||||
var id = -1;
|
||||
|
||||
using (var connection = new SqliteConnection(ConnectionString))
|
||||
@@ -182,6 +184,7 @@ namespace DataOrganizer
|
||||
command.Parameters.AddWithValue("Name", name);
|
||||
command.Parameters.AddWithValue("Path", path);
|
||||
command.Parameters.AddWithValue("ProfileID", profile.Id);
|
||||
command.Parameters.AddWithValue("Pattern", pattern_id);
|
||||
|
||||
connection.Open();
|
||||
|
||||
@@ -196,16 +199,18 @@ namespace DataOrganizer
|
||||
return id;
|
||||
}
|
||||
|
||||
public bool UpdateFolderGroup(string newName, string path)
|
||||
public bool UpdateFolderGroup(FolderGroup group)
|
||||
{
|
||||
var query = @"UPDATE main.folder_root SET name = @Name, path = @Path";
|
||||
var query = @"UPDATE main.folder_root SET name = @Name, path = @Path, pattern_id = @Pattern WHERE root_id = @ID";
|
||||
|
||||
using (var connection = new SqliteConnection(ConnectionString))
|
||||
{
|
||||
using (var command = new SqliteCommand(query, connection))
|
||||
{
|
||||
command.Parameters.AddWithValue("Name", newName);
|
||||
command.Parameters.AddWithValue("Path", path);
|
||||
command.Parameters.AddWithValue("Name", group.Name);
|
||||
command.Parameters.AddWithValue("Path", group.Path);
|
||||
command.Parameters.AddWithValue("Pattern", group.PatternId);
|
||||
command.Parameters.AddWithValue("ID", group.Id);
|
||||
|
||||
connection.Open();
|
||||
|
||||
@@ -272,6 +277,35 @@ namespace DataOrganizer
|
||||
return true;
|
||||
}
|
||||
|
||||
public List<Namingconvention> GetNamingConventions()
|
||||
{
|
||||
var conventions = new List<Namingconvention>();
|
||||
var query = @"SELECT name, example_text, pattern_id, regex FROM main.naming_pattern";
|
||||
|
||||
using (var connection = new SqliteConnection(ConnectionString))
|
||||
{
|
||||
using (var command = new SqliteCommand(query, connection))
|
||||
{
|
||||
connection.Open();
|
||||
|
||||
var reader = command.ExecuteReader();
|
||||
|
||||
while (reader.Read())
|
||||
{
|
||||
conventions.Add(new Namingconvention
|
||||
{
|
||||
Regex = reader["regex"].ToString(),
|
||||
Name = reader["name"].ToString(),
|
||||
ExampleText = reader["example_text"].ToString(),
|
||||
Id = Convert.ToInt32(reader["pattern_id"])
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return conventions;
|
||||
}
|
||||
|
||||
public struct Profile
|
||||
{
|
||||
public string Name;
|
||||
@@ -286,6 +320,15 @@ namespace DataOrganizer
|
||||
public int Id;
|
||||
public string Name;
|
||||
public string Path;
|
||||
public int PatternId;
|
||||
}
|
||||
|
||||
public struct Namingconvention
|
||||
{
|
||||
public int Id;
|
||||
public string Name;
|
||||
public string ExampleText;
|
||||
public string Regex;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user