/// <summary> /// Делает резервирование одного расписания /// </summary> /// <param name="j"></param> private void doDump(ArchiveJob j) { notifyIcon1.ShowBalloonTip(5000, "Резервирование", j.Name, ToolTipIcon.Info); ArchiveJobThread.MakeJob(j); //if (j.SendToServ) // RabServWorker.SendDump(j); }
private void RestoreThr(object prms) { #if !NOCATCH try { #endif RestoreRarams p = (RestoreRarams)prms; //if (p.fromServer) { // string filepath = RabServWorker.DownloadDump(Path.GetFileName(p.File)); // if (filepath == "") { // RestoreThrCb(false, new ApplicationException("Проблема при скачки файла." + Environment.NewLine + "Востановление отменено")); // return; // } else { // File.Move(filepath, p.File); // } //} ArchiveJobThread.UndumpDB(p.Host, p.Db, p.User, p.Password, p.File); #if !NOCATCH } catch (Exception ex) { RestoreThrCb(false, ex); return; } #endif RestoreThrCb(true, null); }
public ArchiveJobThread(ArchiveJob job) { _j = job; //_j.Busy = true; _jobber = this; _tmppath = Path.GetTempPath(); }
/// <summary> /// Делает Резервирование БазыДанных /// </summary> /// <param name="j">Расписание резервирования</param> public static void MakeJob(ArchiveJob j) { ArchiveJobThread jt = new ArchiveJobThread(j); j.Busy = true; Thread t = new Thread(jt.Run); t.Start(); }
/// <summary> /// Заполняет таблицу имеющимися Дампами /// </summary> /// <param name="j"></param> /// <param name="db">имя Бд</param> private void FillList(ArchiveJob j, String db) { listView1.Items.Clear(); DirectoryInfo di = new DirectoryInfo(j.DumpPath); string searchName = j.Name.Replace(' ', ArchiveJobThread.SPACE_REPLACE).Replace("_", ArchiveJobThread.UNDERSCORE_REPLACE) + "_" + db.Replace(' ', ArchiveJobThread.SPACE_REPLACE).Replace("_", ArchiveJobThread.UNDERSCORE_REPLACE); //List<sDump> servDumps = null; try { //sDump[] dmps = RabServWorker.ReqSender.ExecuteMethod(MethodName.GetDumpList).Value as sDump[]; //servDumps = new List<sDump>(dmps); } catch (Exception exc) { log.Warn(exc); } int idx; DateTime dtm; foreach (FileInfo fi in di.GetFiles()) { if (Path.GetFileName(fi.FullName).StartsWith(searchName)) { String[] nm = ArchiveJobThread.ParseDumpName(fi.Name); dtm = DateTime.Parse(String.Format("{0}-{1}-{2} {3}:{4}:{5}", nm[2], nm[3], nm[4], nm[5].Substring(0, 2), nm[5].Substring(2, 2), nm[5].Substring(4, 2))); idx = 0; for (int i = 0; i < listView1.Items.Count; i++) { if (DateTime.Parse(listView1.Items[i].SubItems[0].Text) > dtm) { idx++; } } ListViewItem li = listView1.Items.Insert(idx, dtm.ToShortDateString() + " " + dtm.ToLongTimeString()); li.SubItems.Add(fi.Name); ///Если такой дамп имеется на сервере, то окрашиваем строку в зеленый //if (servDumps != null && servDumps.Count > 0) { // for (int i = 0; i < servDumps.Count; i++) { // if (servDumps[i].FileName == fi.Name) { // li.ForeColor = System.Drawing.Color.Green; // servDumps.RemoveAt(i); // break; // } // } //} } } ///Добавляем файлы которые имеются только на сервере //if (servDumps != null && servDumps.Count > 0 /*&& j.DataSrc != DataBase.AllDataBases*/) { // foreach (sDump dmp in servDumps) { // String[] nm = ArchiveJobThread.ParseDumpName(dmp.FileName); // dtm = DateTime.Parse(String.Format("{0}-{1}-{2} {3}:{4}:{5}", nm[2], nm[3], nm[4], nm[5].Substring(0, 2), nm[5].Substring(2, 2), nm[5].Substring(4, 2))); // idx = 0; // for (int i = 0; i < listView1.Items.Count; i++) { // if (DateTime.Parse(listView1.Items[i].SubItems[0].Text) > dtm) // idx++; // } // ListViewItem li = listView1.Items.Insert(idx, dtm.ToShortDateString() + " " + dtm.ToLongTimeString()); // li.SubItems.Add(dmp.FileName); // li.ForeColor = System.Drawing.Color.BlueViolet; // } //} }