Пример #1
0
 public Form_MRB_Git_Warning(MRB_Git.BackupInfo bi, List <string[]> files)
 {
     InitializeComponent();
     Column_file2.Visible = false;
     this.files           = files;
     this.bi = bi;
     foreach (var f in files)
     {
         try
         {
             var reson = "حجم بالا";
             if (f[1].StartsWith("**"))
             {
                 reson = "خطا";
             }
             else if (f[1] == "*")
             {
                 reson = "انتخاب کاربر";
             }
             dataGridView1.Rows.Add(f[0],
                                    f[1],
                                    reson,
                                    File.Exists(f[0]) ? new FileInfo(f[0]).Length / (1024 * 1024) + "" : "?");
         }
         catch { }
     }
     while (dataGridView1.SelectedRows.Count > 0)
     {
         dataGridView1.SelectedRows[0].Selected = false;
     }
 }
Пример #2
0
 public Form_MRB_Git_view(MRB_Git git, MRB_Git.BackupInfo info)
 {
     InitializeComponent();
     this.info = info;
     this.git  = git;
     UpdateTree();
     Text += " - " + info.ProjectSection["code"];
 }
Пример #3
0
        private void backgroundWorker_backup_DoWork(object sender, DoWorkEventArgs e)
        {
            var empty_dir = false;

            try
            {
                if (textBox_local.Text.Trim() == "-")
                {
                    var dir = Path.GetTempPath() + "\\temp_proj_dir\\";
                    if (!Directory.Exists(dir))
                    {
                        Directory.CreateDirectory(dir);
                    }
                    try
                    {
                        File.WriteAllText(dir + "empty.txt", "");
                    }
                    catch { }
                    git.local_dirs = new List <string> {
                        dir
                    };
                    empty_dir = true;
                }
                var sw = new System.Diagnostics.Stopwatch(); sw.Start();
                warning_files = new List <string[]>();
                git.progress  = (p, state) =>
                {
                    if (p == -100)
                    {
                        warning_files.Add((string[])state);
                    }
                    else
                    {
                        UpdateProgress(p, state + "");
                    }
                    return(null);
                };
                git.settings.ignor_obj         = ObjToolStripMenuItem.Checked;
                git.settings.ignor_rst         = rstToolStripMenuItem.Checked;
                git.settings.ignor_baktmpasv   = baktmpasvToolStripMenuItem.Checked;
                git.settings.warnin_larg_files = largfilesToolStripMenuItem.Checked;
                last_backup_info = git.BackUp();

                if (last_backup_info.InfoSection == null)
                {
                    last_backup_info.InfoSection = last_backup_info.InfoFile.AddSection("info");
                }
                last_backup_info.InfoSection["server"]            = git.server_dir;
                last_backup_info.InfoSection["local"]             = project.LocalPath.Replace("\r", "").Replace("\n", " ; ");
                last_backup_info.InfoSection["BackUpSkipPattern"] = project.BackUpSkipPattern.Replace("\r", "").Replace("\n", " ; ");
                last_backup_info.InfoSection["machine"]           = Environment.UserName + "@" + Environment.MachineName;
                last_backup_info.InfoSection["user"]            = textBox_user.Text;;
                last_backup_info.InfoSection["backup-duration"] = new TSpan((int)sw.Elapsed.TotalSeconds).ToString(true);
                last_backup_info.ProjectSection["name"]         = project.Name;
                last_backup_info.ProjectSection["backup_by"]    = db.user.ID;
                last_backup_info.ProjectSection["code"]         = project.code;
                last_backup_info.ProjectSection["manager"]      = project.Manager;
                last_backup_info.ProjectSection["total-time"]   = project.SumTimes().ToString(false);
                if (project.Times.Count > 0)
                {
                    last_backup_info.ProjectSection["first-date"] = Utils.DateString(project.Times[0].Start);
                    last_backup_info.ProjectSection["last-date"]  = Utils.DateString(project.LastTime.End);
                }
                last_backup_info.SaveAgain();
                project.LastBackup = DateTime.Now;
                {
                    var proj_name = new IniFile();
                    var file      = git.server_dir + "\\..\\نام پروژه ها.ini";
                    if (File.Exists(file))
                    {
                        proj_name.Load(file);
                    }
                    var sec = proj_name.AddSection(db.user.name.Replace(" ", "_"));
                    sec.AddKey(project.code.Replace(" ", "_"), project.Name);
                    if (proj_name.changed)
                    {
                        proj_name.Save(file);
                    }
                }
            }
            catch (Exception ex)
            { e.Result = ex; }
            finally
            {
                if (empty_dir)
                {
                    textBox_local.Text = "-";
                }
            }
        }