private void Window_Loaded(object sender, RoutedEventArgs e) { if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + System.IO.Path.DirectorySeparatorChar + "config")) { Sqo.SiaqodbConfigurator.EncryptedDatabase = false; Sqo.Siaqodb siaqodb = new Sqo.Siaqodb(AppDomain.CurrentDomain.BaseDirectory + System.IO.Path.DirectorySeparatorChar + "config"); try { Sqo.IObjectList <ReferenceItem> references = siaqodb.LoadAll <ReferenceItem>(); foreach (ReferenceItem refItem in references) { listBox1.Items.Add(refItem); } Sqo.IObjectList <NamespaceItem> namespacesItems = siaqodb.LoadAll <NamespaceItem>(); foreach (NamespaceItem nItem in namespacesItems) { textBox1.Text += nItem + Environment.NewLine; } } finally { siaqodb.Close(); EncryptionSettings.SetEncryptionSettings();//set back settings } } }
private void btnOK_Click(object sender, RoutedEventArgs e) { if (Directory.Exists(AppDomain.CurrentDomain.BaseDirectory + System.IO.Path.DirectorySeparatorChar + "config")) { assemblies.Clear(); namespaces.Clear(); Sqo.SiaqodbConfigurator.EncryptedDatabase = false; Sqo.Siaqodb siaqodb = new Sqo.Siaqodb(AppDomain.CurrentDomain.BaseDirectory + System.IO.Path.DirectorySeparatorChar + "config"); try { siaqodb.DropType <ReferenceItem>(); siaqodb.DropType <NamespaceItem>(); foreach (object o in listBox1.Items) { ReferenceItem refItem = o as ReferenceItem; if (refItem == null) { refItem = new ReferenceItem(o.ToString()); } assemblies.Add(refItem); siaqodb.StoreObject(refItem); if (File.Exists(refItem.Item)) { try { File.Copy(refItem.Item, AppDomain.CurrentDomain.BaseDirectory + "\\" + System.IO.Path.GetFileName(refItem.Item), true); } catch { } } } foreach (string s in textBox1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) { NamespaceItem nobj = new NamespaceItem(s); namespaces.Add(nobj); siaqodb.StoreObject(nobj); } } finally { siaqodb.Close(); EncryptionSettings.SetEncryptionSettings();//set back settings } } this.DialogResult = true; }
public void Execute(string path) { if (this.path != path) { if (!System.IO.Directory.Exists(path)) { textBox1.Text = "Invalid folder! choose a valid database folder"; tabControl1.SelectedIndex = 1; return; } this.path = path; } textBox1.Text = ""; Sqo.SiaqodbConfigurator.EncryptedDatabase = false; Sqo.Siaqodb siaqodbConfig = new Sqo.Siaqodb(AppDomain.CurrentDomain.BaseDirectory + "\\config"); Sqo.IObjectList <NamespaceItem> namespaces = siaqodbConfig.LoadAll <NamespaceItem>(); Sqo.IObjectList <ReferenceItem> references = siaqodbConfig.LoadAll <ReferenceItem>(); siaqodbConfig.Close(); EncryptionSettings.SetEncryptionSettings();//set back settings string ifEncrypted = @" Sqo.SiaqodbConfigurator.SetLicense(@"" qU3TtvA4T4L30VSlCCGUTbooYKG1XXCnjJ+jaPPrPLaD7PdPw9HujjxmkZ467OqZ"");"; if (EncryptionSettings.IsEncryptedChecked) { ifEncrypted += @" Sqo.SiaqodbConfigurator.EncryptedDatabase=true; Sqo.SiaqodbConfigurator.SetEncryptor(Sqo.BuildInAlgorithm." + EncryptionSettings.Algorithm + @"); "; if (!string.IsNullOrEmpty(EncryptionSettings.Pwd)) { ifEncrypted += @" SiaqodbConfigurator.SetEncryptionPassword(""" + EncryptionSettings.Pwd + @""");"; } } #if TRIAL ifEncrypted += @" SiaqodbConfigurator.SetTrialLicense(""" + TrialLicense.LicenseKey + @""");"; #endif string metBody = ifEncrypted + @" Siaqodb siaqodb = Sqo.Internal._bs._ofm(@""" + this.path + @""",""SiaqodbManager,SiaqodbManager2""); object list= (" + this.textEditor1.Text + @").ToList(); siaqodb.Close(); return list; " ; var c = new CodeDom(); //c.AddReference(@"System.Core.dll"); //c.AddReference(@"siaqodb.dll"); //c.AddReference(@"System.Windows.Forms.dll"); foreach (ReferenceItem refi in references) { c.AddReference(refi.Item); } System.CodeDom.CodeNamespace n = c.AddNamespace("LINQQuery"); foreach (NamespaceItem nitem in namespaces) { n.Imports(nitem.Item); } n.Imports("System.Collections.Generic") .Imports("System.Linq") .Imports("Sqo") .AddClass( c.Class("RunQuery") .AddMethod(c.Method("object", "FilterByLINQ", "", metBody))); Assembly assembly = c.Compile(WriteErrors); if (assembly != null) { Type t = assembly.GetType("LINQQuery.RunQuery"); MethodInfo method = t.GetMethod("FilterByLINQ"); try { var retVal = method.Invoke(null, null); IList w = ((IList)retVal); this.dataGridView1.DataSource = w; this.dataGridView1.AutoGenerateColumns = true; this.tabControl1.SelectedIndex = 0; //this.lblNrRows.Text = ar.Count + " rows"; } catch (Exception ex) { WriteErrors(ex.ToString()); this.tabControl1.SelectedIndex = 1; } } else { this.tabControl1.SelectedIndex = 1; } }