Ejemplo n.º 1
0
        /// <summary>
        /// Сохранить все файлы программы на сервере.
        /// </summary>
        /// <param name="uploadToServer"></param>
        /// <returns></returns>
        private bool UpdateUpload(bool uploadToServer)
        {
            bool doUserUpdate = false;

            if (uploadToServer)
            {
                if (!(sys.SM("Сохранить файлы программы на сервере для обновления?", MessageType.Question, "Загрузка обновления на сервер")))
                {
                    return(false);
                }
                doUserUpdate = sys.SM("Это обновление для пользователей?", MessageType.Question, "Загрузка обновления на сервер");
            }

            string[] ContentList = FBAFile.FilesInFolder(FBAPath.PathDebug, "*.*", "", "", true, true, true);;

            System.Data.DataTable DT;
            bool Result = UpdateUploadFiles(out DT, ContentList, doUserUpdate, uploadToServer);

            //dgvUpdate.SetDataSource(DT);



            if (uploadToServer)
            {
                sys.SM("Файлы программы загружены на сервер. Версия " + Var.ApplicationVersion, MessageType.Information, "Загрузка на сервер");
            }
            return(Result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Получить список файлов решения
        /// </summary>
        /// <returns></returns>
        private bool GetFilesFBA()
        {
            //Последняя версия в таблице обновлений.
            int numberUpdate = GetLastUpdate() + 1; //Новая версия.

            if (dt.Columns.Count == 0)
            {
                dt.Columns.Add("NumberFile");         //Порядковый номер файла или папки в обновлении
                dt.Columns.Add("NumberUpdate");       //Порядковый номер обновления.
                dt.Columns.Add("Version");            //Версия программы вида 1.0.6335.33362
                dt.Columns.Add("FullName");           //Полное имя файла с путем.
                dt.Columns.Add("Path");               //Начальный каталог программы, т.е. sys.PathMain
                dt.Columns.Add("Name");               //Имя файла/папки
                dt.Columns.Add("Extension");          //Расширение файла (для папки здесь пусто)
                dt.Columns.Add("CreationTime");       //Дата создания папки/файла
                dt.Columns.Add("LastWriteTime");
                dt.Columns.Add("LastAccessTime");
                dt.Columns.Add("Size");               //размер файла в байтах. Для папки здесь 0.
                dt.Columns.Add("MD5");                //Хеш MD5
            }
            dt.Rows.Clear();
            string[] contentList = FBAFile.FilesInFolder(FBAPath.PathDebug, "*.*", "", "", true, true, true);;

            //Для вставки полей в DT.
            string numberFile     = "";
            string dateRecord     = sys.DateTimeToSQLStr(DateTime.Now);
            string version        = Var.ApplicationVersion;
            string fullName       = "";
            string filePath       = "";
            string fileName       = "";
            string extension      = "";
            string creationTime   = "";
            string lastWriteTime  = "";
            string lastAccessTime = "";
            long   SizeFile;
            string hashMD5;

            var progress1 = new FormProgress("Обновление", "Получение свойств файлов", contentList.Length);

            progress1.Show();

            var fileprop = new string[dt.Columns.Count];

            for (int i = 0; i < contentList.Length; i++)
            {
                try
                {
                    fullName = contentList[i];
                    if (string.IsNullOrEmpty(fullName))
                    {
                        continue;
                    }
                    if (!File.Exists(fullName))
                    {
                        continue;
                    }
                    var file = new FileInfo(fullName);
                    filePath       = file.DirectoryName;
                    fileName       = file.Name;
                    numberFile     = (i + 1).ToString();
                    extension      = file.Extension;
                    creationTime   = sys.DateTimeToSQLStr(file.CreationTime);
                    lastWriteTime  = sys.DateTimeToSQLStr(file.LastWriteTime);
                    lastAccessTime = sys.DateTimeToSQLStr(file.LastAccessTime);
                    SizeFile       = file.Length;
                    hashMD5        = Crypto.FileHashMD5Calc(fullName);

                    fileprop[0]  = numberFile;
                    fileprop[1]  = numberUpdate.ToString();
                    fileprop[2]  = version;
                    fileprop[3]  = fullName;
                    fileprop[4]  = filePath;;
                    fileprop[5]  = fileName;
                    fileprop[6]  = extension;
                    fileprop[7]  = creationTime;
                    fileprop[8]  = lastWriteTime;
                    fileprop[9]  = lastAccessTime;
                    fileprop[10] = SizeFile.ToString();
                    fileprop[11] = hashMD5;

                    DataRow row = dt.NewRow();
                    row.ItemArray = fileprop;
                    dt.Rows.Add(row);
                    progress1.Inc();
                } catch (Exception ex)
                {
                    sys.SM("File Number " + numberFile + Var.CR + "File name: " + fullName + Var.CR + ex.Message);
                    continue;
                }
            }
            const bool ff = true;
            Type       tp = ff.GetType();

            dt.Columns.Add("Check", tp);      //Выбрать файл для заливки
            dt.Columns["Check"].SetOrdinal(0);

            CheckFiles(false);
            //dt.Columns[0].DataType = tp;
            progress1.Close();
            return(true);
        }