public void DoCalcTree() { TotalAttachments = null; CallbackDelegate callback = new CallbackDelegate(UpdateStatus); Progress.Max = 100 * RootFolder.Count(x => x.IsSelected == true); Progress.JobStatus = JobStatus.inProgress; TestWrapper tstWrp = new TestWrapper(teamExplorer); for (int i = 0; i < RootFolder.Count; i++) { TeamProjectAttachemntInfo fld = RootFolder[i]; if (fld.IsSelected) { fld.ClearSizes(); UpdateStatus(i * 100, fld.TeamProjectName); tstWrp.CalcSize(ref fld, "{0:yy-MM}"); fld.IsSelected = fld.Size > 0 ? true : false; } } Progress.CurrentOperation = "Calculating Totals"; TeamProjectAttachemntInfo tpaTotal = new TeamProjectAttachemntInfo(); tpaTotal.CalcTotal(RootFolder); TotalAttachments = tpaTotal; Progress.JobStatus = JobStatus.notStarted; }
private string GenerateTestAttatcmentCleanerStatement(TeamProjectAttachemntInfo tpa, string path) { string s = ""; string config = "Config.xml"; if (vm.SelectedConfig != null) { config = vm.SelectedConfig; if (vm.OverrideDate) { string configPath = config.Substring(0, config.LastIndexOf('\\')); int start = vm.OverrideDateStart; int period = (vm.OverrideDateEnd - vm.OverrideDateStart) / vm.OverrideDateRuns; for (int i = 0; i < vm.OverrideDateRuns; i++) { XmlDocument doc = new XmlDocument(); doc.Load(path + @"\" + vm.SelectedConfig); OverRideAgeSettingsInConfig(start, period, doc); if (vm.OverrideExtensions) { XmlNodeList lst = doc.SelectNodes("/DeletionCriteria/Attachment/Extensions/Include"); if (lst.Count > 0) { foreach (XmlNode n in lst) { n.ParentNode.RemoveChild(n); } } foreach (SelectableFileExt ext in vm.OverrideFileExt) { if (ext.isSelected) { XmlElement nExt = doc.CreateElement("Include"); nExt.Attributes.Append(doc.CreateAttribute("value")); nExt.Attributes["value"].Value = ext.Key; doc.SelectNodes("/DeletionCriteria/Attachment/Extensions")[0].AppendChild(nExt); } } } config = configPath + @"\" + tpa.TeamProjectName + "_" + i + ".xml"; doc.Save(@"c:\temp\" + config); start += period + 1; } } } if (vm.TestAttatchmentCleanerPath != null) { s = vm.TestAttatchmentCleanerPath.Replace(path, string.Empty); } s += @" attachmentcleanup " + "/collection:" + vm.teamExplorer.tpCollection.Uri; s += @" /teamproject:""" + tpa.TeamProjectName + @""""; s += @" /settingsfile:""" + config + @""""; s += @" /mode:""" + vm.SelectedMode + @""""; return(s); }