/// <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); }
/// <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); }