Beispiel #1
0
 public backup(deeper.frmwrk.lib_page page, System.Xml.XmlNode pageNode)
     : base(page, pageNode)
 {
     //
     // TODO: Add constructor logic here
     //
 }
Beispiel #2
0
        public static string folder_path(db.db_schema conn, deeper.frmwrk.lib_page page, long id_folder, string base_path = "")
        {
            string folders_tbl = conn.meta_doc.table_from_code(deeper.db.meta_table.align_codes.folders);
            string fld_path    = conn.dt_table(string.Format("select dbo.getPathOfFolder({0}) as fld from {1} where {2} = {3}", conn.schema.pkOfTable(folders_tbl), folders_tbl,
                                                             conn.schema.pkOfTable(folders_tbl), id_folder)).Rows[0]["fld"].ToString();

            if (fld_path[0] == '/' || fld_path[0] == '\\')
            {
                fld_path = fld_path.Substring(1);
            }
            return(System.IO.Path.Combine(string.IsNullOrEmpty(base_path) ? page.cfg_var("filesFolder") : base_path, fld_path).Replace('/', '\\'));
        }
Beispiel #3
0
        public static string file_path(deeper.frmwrk.lib_page page, long id_file)
        {
            db.db_schema db        = page.conn_db_user(true);
            string       files_tbl = db.meta_doc.table_from_code(deeper.db.meta_table.align_codes.files);
            string       fld_path  = db.dt_table(string.Format("select dbo.getPathOfFolder(idfolder)  + '/' + filename + '.' + ext as path_file from " + files_tbl + " where idfile = {0}", id_file)).Rows[0]["path_file"].ToString();

            if (fld_path[0] == '/' || fld_path[0] == '\\')
            {
                fld_path = fld_path.Substring(1);
            }
            return(System.IO.Path.Combine(page.cfg_var("filesFolder"), fld_path).Replace('/', '\\'));
        }
Beispiel #4
0
        public static void mountBackup(int id, deeper.frmwrk.lib_page page, bool onlyData = false, string logid = "", string name_db = "")
        {
            xmlDoc doc        = new xmlDoc(Path.Combine(page.cfg_var("backupsFolder"), page.cfg_var("fsIndex")));
            string index_path = page.classPage.extract_dbpck(Path.Combine(page.cfg_var("backupsFolder")
                                                                          , doc.get_value("/root/files/file[@idfile=" + id.ToString() + "]", "name")));

            // aggiorno db
            db.db_schema db = name_db != "" ? page.conn_db(name_db, true) : page.conn_db_user(true);
            db.upgrade_data(page.conn_schema(index_path), onlyData, false
                            , doc.get_value("/root/files/file[@idfile=" + id.ToString() + "]", "title"));

            // copio i files in locale
            page.files_from_backup(index_path);
        }
Beispiel #5
0
        public static int ins_file(db.db_schema db, string path_file, deeper.frmwrk.lib_page page)
        {
            string rel_path  = strings.rel_path(page.cfg_var("filesFolder"), path_file).Replace("\\", "/");
            string files_tbl = db.meta_doc.table_from_code(deeper.db.meta_table.align_codes.files);

            // folders
            int id_folder = ins_folder(rel_path.Substring(0, rel_path.LastIndexOf('/')), page);

            // files
            DataTable dt = db.dt_table("select tbl.* from "
                                       + " (select idfile, dbo.getPathOfFolder(idfolder)  + '/' + filename + '.' + ext as path_file from files) tbl "
                                       + " where tbl.path_file = " + db.val_toqry(rel_path, deeper.db.fieldType.VARCHAR));

            if (dt.Rows.Count >= 1)
            {
                return(int.Parse(dt.Rows[0]["idfile"].ToString()));
            }

            return((int)db.exec(string.Format("insert into " + files_tbl + " (idfolder, ext, filename, title, note, dtins) values ({0}, {1}, {2}, null, null, getdate()) ", id_folder
                                              , db.val_toqry(Path.GetExtension(path_file).Substring(1), deeper.db.fieldType.VARCHAR), db.val_toqry(Path.GetFileNameWithoutExtension(path_file), deeper.db.fieldType.VARCHAR)), true));
        }
Beispiel #6
0
        // /cartellona/catellina/cartellozza
        public static int ins_folder(string path_folder, deeper.frmwrk.lib_page page)
        {
            db.db_schema db = null;
            bool         identity_folders = false;

            try {
                db = page.conn_db_user(true);

                path_folder = path_folder.Replace("\\", "/");
                string folders_tbl = db.meta_doc.table_from_code(deeper.db.meta_table.align_codes.folders);

                DataTable dt = db.dt_table("select tbl.* from "
                                           + " (select idfolder, dbo.getPathOfFolder(idfolder) as path_folder from folders) tbl "
                                           + "  where tbl.path_folder = " + db.val_toqry(path_folder, deeper.db.fieldType.VARCHAR));
                if (dt.Rows.Count >= 1)
                {
                    return(int.Parse(dt.Rows[0]["idfolder"].ToString()));
                }

                int      id_parent   = -1;
                string   tmp_folder  = "";
                string[] sub_folders = path_folder.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);
                for (int i = -1; i < sub_folders.Count(); i++)
                {
                    // folder vuoto
                    if (i < 0)
                    {
                        if (db.get_count("select count(*) from " + folders_tbl + " where idfolder = 0") == 0)
                        {
                            db.set_identity("folders", true);
                            identity_folders = true;
                            db.exec("insert into " + folders_tbl + " (idfolder, idfolderpadre, foldername, note, dtins) values (0, 0, '', null, getdate())", true);
                            db.set_identity("folders", false);
                            identity_folders = false;
                        }
                        id_parent = 0;
                        continue;
                    }

                    tmp_folder += "/" + sub_folders[i];
                    dt          = db.dt_table("select tbl.* from "
                                              + " (select idfolder, dbo.getPathOfFolder(idfolder) as path_folder from folders) tbl "
                                              + "  where tbl.path_folder = " + db.val_toqry(tmp_folder, deeper.db.fieldType.VARCHAR));
                    if (dt.Rows.Count >= 1)
                    {
                        id_parent = int.Parse(dt.Rows[0]["idfolder"].ToString());
                    }
                    else
                    {
                        id_parent = (int)db.exec("insert into " + folders_tbl + " (idfolderpadre, foldername, note, dtins) values (" + id_parent.ToString() + ", "
                                                 + db.val_toqry(sub_folders[i], deeper.db.fieldType.VARCHAR) + ", null, getdate())", true);
                    }

                    continue;
                }
                return(id_parent);
            } catch (Exception ex) { throw ex; } finally {
                if (db != null && identity_folders)
                {
                    db.set_identity("folders", false);
                }
            }
        }
Beispiel #7
0
 public db_utilities(deeper.frmwrk.lib_page page, XmlNode pageNode)
     : base(page, pageNode)
 {
 }
Beispiel #8
0
 public checkdelete(deeper.frmwrk.lib_page page, XmlNode pageNode)
     : base(page, pageNode)
 {
 }
Beispiel #9
0
 public parser(lib_page page)
 {
     _page = page;
     _eval = new System.Xml.XPath.XPathDocument(new System.IO.StringReader("<r/>")).CreateNavigator();
 }
Beispiel #10
0
 public lib_fncs(lib_page page)
 {
     _page = page;
 }