Exemplo n.º 1
0
        /// <summary>
        /// this method will install the given script to the script folder
        /// and copy the dll neede by the sript to the needed folder
        /// </summary>
        /// <param name="script_Archfilename">the full path of the script </param>
        /// <param name="installfolder_scriptanddll">the path that
        /// script and dll wll be installed</param>
        public void Install(string script_Archfilename, string installfolder_scriptanddll)
        {
            try
            {
                ScriptInfo   scrinf = null;
                ScrablerCore core = new ScrablerCore();
                DataSet      set = new DataSet();
                hydrobaseADO ad = new hydrobaseADO();
                string       tscrfilename = null, str;
                string[]     files;
                if ((script_Archfilename != null) && (installfolder_scriptanddll != null) &&
                    (File.Exists(script_Archfilename) == true) && (Directory.Exists(installfolder_scriptanddll) == true))
                {
                    if (Directory.Exists(installfolder_scriptanddll + "\\" + ScrablerCore.ScriptsFolderDLL) != true)
                    {
                        Directory.CreateDirectory(installfolder_scriptanddll + "\\" + ScrablerCore.ScriptsFolderDLL);
                    }



                    FastZip  ziphandler = new FastZip();
                    FileInfo fileinf    = new FileInfo(script_Archfilename);

                    ziphandler.ExtractZip(script_Archfilename, SDKBase.UsersTempDirectory + "\\" + fileinf.Name, "scrf");



                    files = Directory.GetFiles(SDKBase.UsersTempDirectory + "\\" + fileinf.Name);
                    ad.AttachDataBaseinDataSet(set, files[0]);
                    // MessageBox.Show(files[0]);
                    scrinf = core.GetScriptInfo(set);
                    core.SetReferences(set, installfolder_scriptanddll + "\\" + ScrablerCore.ScriptsFolderDLL + "\\" + scrinf.Title, files[0]);
                    File.Copy(files[0], installfolder_scriptanddll + "\\" + ScrablerCore.ScriptsFolder + "\\" + files[0].Substring(files[0].LastIndexOf("\\") + 1));
                    str          = files[0];
                    tscrfilename = files[0];

                    File.Delete(files[0]);
                    ziphandler.ExtractZip(script_Archfilename, SDKBase.UsersTempDirectory + "\\" + fileinf.Name, "dll");
                    files = null;
                    files = Directory.GetFiles(SDKBase.UsersTempDirectory + "\\" + fileinf.Name);
                    foreach (string file in files)
                    {
                        FileInfo dllinf = new FileInfo(file);
                        this.CopyDll(file, installfolder_scriptanddll + "\\" + ScrablerCore.ScriptsFolderDLL + "\\" + scrinf.Title + "\\" + dllinf.Name);
                        //MessageBox.Show("hi6");
                    }
                    core.SetReferences(set, installfolder_scriptanddll + "\\" + ScrablerCore.ScriptsFolderDLL + "\\" + scrinf.Title, tscrfilename);
                }


                FileInfo fileinf2 = new FileInfo(script_Archfilename);

                string [] tfile = Directory.GetFiles(SDKBase.UsersTempDirectory + "\\" + fileinf2.Name);
                foreach (string file in tfile)
                {
                    File.Delete(file);
                }

                Directory.Delete(SDKBase.UsersTempDirectory + "\\" + fileinf2.Name);
            }



            catch (Exception e)
            {
                Program.Bugtracking(e);
            }
        }
Exemplo n.º 2
0
        private void btnLoad_Click(object sender, EventArgs ev)
        {
            try
            {
                hydrobaseADO ado = new hydrobaseADO();
                string       zipfile;
                string       destdir;

                if ((MainWindow.username != null) && (MainWindow.pass != null))
                {
                    frmEdit frmedit = new frmEdit();
                    ado.CloseDataBase(frmedit.set);
                    ado.RemoveTableFromDataGrid(frmedit.grid);
                    //frmedit.IsMdiChild = true;
                    frmedit.MdiParent = Program.Mainwnd;
                    frmedit.Show();

                    frmedit.set = new DataSet();

                    //  frmMain.grid = new DataGridView();
                    // MessageBox.Show(Program.client.LoadTable(BaseClass.recordtag, MainWindow.username, MainWindow.pass, lstDbs.Text, lsttables.Text));
                    if (Program.client.IsTableEncrypted(MainWindow.username, MainWindow.pass, lstDbs.Text, lsttables.Text) == false)
                    {
                        RemoteFileInfo zfile = Program.client.LoadTableAsFile(BaseClass.recordtag,
                                                                              MainWindow.username, MainWindow.pass, lstDbs.Text, lsttables.Text);

                        if (zfile != null)
                        {
                            zipfile = Path.Combine(Program.TempPath, zfile.FileName);
                            byte[] str = zfile.FileByteStream;
                            util.ByteToFile(zipfile, str);
                            FastZip z = new FastZip();
                            destdir = Path.Combine(Program.TempPath, Path.GetFileNameWithoutExtension(zfile.FileName));
                            if (!Directory.Exists(destdir))
                            {
                                Directory.CreateDirectory(destdir);
                            }
                            z.ExtractZip(zipfile, destdir, null);
                            string[] files = Directory.GetFiles(destdir);
                            if (files != null)
                            {
                                frmedit.set.ReadXml(files[0]);
                            }
                        }



                        //  frmedit.set.ReadXml(util.StringToStream());



                        //frmedit.set.ReadXml(util.StringToStream(Program.client.LoadTable(BaseClass.recordtag, MainWindow.username, MainWindow.pass, lstDbs.Text, lsttables.Text)));
                        // MessageBox.Show(Program.client.LoadTable(BaseClass.recordtag, MainWindow.username, MainWindow.pass, lstDbs.Text, lsttables.Text));
                    }
                    else
                    {
                        if (MainWindow.passphrase != null)
                        {
                            frmedit.set.ReadXml(util.StringToStream(Program.client.Decrypt(BaseClass.tabletag, BaseClass.recordtag, MainWindow.username, lstDbs.Text, lsttables.Text, MainWindow.pass, Cryptography.CryptograhyAlgorithm.rijdael.ToString().ToString(), Cryptography.HashingAlogrithm.SHA384.ToString().ToString(), MainWindow.passphrase)));
                        }
                        else
                        {
                            MainWindow.passphrase = Microsoft.VisualBasic.Interaction.InputBox("Type your passphrase");
                            if (MainWindow.passphrase != null)
                            {
                                frmedit.set.ReadXml(util.StringToStream(Program.client.Decrypt(BaseClass.tabletag, BaseClass.recordtag, MainWindow.username, lstDbs.Text, lsttables.Text, MainWindow.pass, Cryptography.CryptograhyAlgorithm.rijdael.ToString().ToString(), Cryptography.HashingAlogrithm.SHA384.ToString().ToString(), MainWindow.passphrase)));
                            }
                        }
                    }
                    // MessageBox.Show(Program.client.LoadTable(BaseClass.recordtag,MainWindow.username, MainWindow.pass, lstDbs.Text, lsttables.Text));

                    if (frmedit.set.Tables.Count > 0)
                    {
                        frmedit.grid.DataSource = frmedit.set;
                        frmedit.grid.DataMember = frmedit.set.Tables[frmedit.set.Tables.Count - 1].TableName;
                        ado.ConnectEventstoDataGrid(frmedit.grid);
                        ado.ConnectEventstoDataTable(frmedit.set.Tables[0]);
                        frmedit.Text      = frmedit.grid.DataMember;
                        frmedit.dbname    = lstDbs.Text;
                        frmedit.tablename = lsttables.Text;
                        frmedit.Text      = String.Format("{0}\\{1}", frmedit.dbname, frmedit.tablename);
                    }
                }
                else
                {
                    Login log = new Login();
                    log.Show();
                    frmEdit frmedit = new frmEdit();
                    frmedit.MdiParent = Program.Mainwnd;
                    // frmedit.IsMdiChild = true;
                    frmedit.set = new DataSet();
                    frmedit.set.ReadXml(util.StringToStream(Program.client.LoadTable(BaseClass.recordtag, MainWindow.username, MainWindow.pass, lstDbs.Text, lsttables.Text)));

                    frmedit.grid.DataSource = frmedit.set;
                    frmedit.grid.DataMember = frmedit.set.Tables[frmedit.set.Tables.Count - 1].TableName;
                    frmedit.Text            = frmedit.grid.DataMember;
                    frmedit.dbname          = lstDbs.Text;
                    frmedit.tablename       = lsttables.Text;
                    frmedit.Text            = String.Format("{0}\\{1}", frmedit.dbname, frmedit.tablename);
                    ado.ConnectEventstoDataGrid(frmedit.grid);
                    ado.ConnectEventstoDataTable(frmedit.set.Tables[0]);
                }

                this.Close();
            }
            catch (Exception e)
            {
                Program.errorreport(e);
                MessageBox.Show(e.ToString());
                this.Close();
            }
        }