public ScenarionBrowser(BrowserMode mode, ScenarioDepot scenario, IBranch initialSelection, IBranch formulaBeingEdited) { InitializeComponent(); Mode = mode; Text = mode == BrowserMode.SelectNode ? Resources.ScenarionBrowser_SelectNode : Resources.ScenarionBrowser_SelectBranch; Scenario = scenario; InitialSelection = initialSelection; FormulaBeingEdited = formulaBeingEdited; foreach (ScenarioNode root in Scenario) { LoadBranch(root, null); } var allNodes = treeScenario.Nodes.Cast<TreeNode>() .SelectMany(tn => tn.Flatten(n => n.Nodes.Cast<TreeNode>())); treeScenario.SelectedNode = allNodes.FirstOrDefault(n => n.Tag == initialSelection); tabControlBranchOptions.Visible = false; _emptySelectionTipRtb.Visible = true; splitContainer1.Panel2.Padding = new Padding(5, 5, 5, 5); ResyncOkAvailability(); }
private void OpenScenarionWindow(string title, ScenarioDepot scenarioDepot) { if (InvokeRequired) { Invoke((Action) (() => OpenScenarionWindow(title, scenarioDepot))); } else { var scenarion = new Scenarion { MdiParent = this, Text = title, Scenario = scenarioDepot, }; scenarion.Closed += (s, a) => InWork = MdiChildren.Length > 1; scenarion.Show(); } }
private void menuItemServiceDocumentConverter_Click(object sender, EventArgs e) { openScenarioDialog.Title = "Выберите сценарий, созданный в предыдущей версии системы"; openScenarioDialog.Filter = "Сценарии предыдущих версий|*.scenario"; if (openScenarioDialog.ShowDialog(this) != DialogResult.OK) return; var scenario = new FileInfo(openScenarioDialog.FileName); var nameFrom = scenario.FullName; if (!nameFrom.EndsWith(".scenario")) nameFrom += ".scenario"; var nameTo = Path.Combine(scenario.DirectoryName, scenario.Name + ScenarioDocumentExtension); if (!nameTo.EndsWith(ScenarioDocumentExtension)) nameTo += ScenarioDocumentExtension; var cwd = new CancellableWorkerDialog { Information = "Производится конвертация файла сценария, созданного в более ранней версии системы, в наиболее оптимальный формат. Продолжительность этого процесса зависит от количества ветвей дерева сценария.\n\nНа медленных компьютерах эта процедура может занять продолжительное время.", Cancellable = false, UnknownProgress = true, }; cwd.Worker = x => { x.UpdateProgress(0, "Изучение файла сценария"); var prev = new ScenarioDepot {Vault = VaultApi.OpenZip(nameFrom)}; var curr = new ScenarioDepot {Vault = VaultApi.OpenZip(nameTo)}; var a = prev.Cast<ScenarioNode>(); var b = curr.Cast<ScenarioNode>(); x.UpdateProgress(0, "Конвертация Общих Характеристик"); MergeNodes(a.ElementAt(0), b.ElementAt(0)); x.UpdateProgress(0, "Конвертация Характеристик Объекта"); MergeNodes(a.ElementAt(1), b.ElementAt(1)); x.UpdateProgress(99, "Создание нового документа"); curr.Save(); x.UpdateProgress(0, "Почти все готово"); }; if (cwd.ShowDialog(this) != DialogResult.OK) return; }
private void menuItemNewAppraisal_Click(object sender, EventArgs e) { openScenarioDialog.Title = "Выберите сценарий для создаваемого отчета"; openScenarioDialog.Filter = "Сценарии|*" + ScenarioDocumentExtension; #if DEBUG && USE_TDISK openScenarioDialog.InitialDirectory = @"T:\"; #endif if (openScenarioDialog.ShowDialog(this) != DialogResult.OK) return; saveAsDialog.Title = "Введите имя файла отчета"; saveAsDialog.Filter = "Отчеты|*" + ApprasialDocumentExtension; #if DEBUG && USE_TDISK saveAsDialog.InitialDirectory = @"T:\"; #endif if (saveAsDialog.ShowDialog(this) != DialogResult.OK) return; var report = new FileInfo(saveAsDialog.FileName); if (report.Exists) report.Delete(); var nameTo = report.FullName; if (!nameTo.EndsWith(ApprasialDocumentExtension)) nameTo += ApprasialDocumentExtension; var scenario = new FileInfo(openScenarioDialog.FileName); var nameFrom = scenario.FullName; if (!nameFrom.EndsWith(ScenarioDocumentExtension)) nameFrom += ScenarioDocumentExtension; var cwd = new CancellableWorkerDialog { Information = "Производится создание файла отчета, интеграция дерева сценария и предварительная оптимизация плана расчета. Продолжительность этого процесса зависит от количества ветвей дерева сценария.\n\nНа медленных компьютерах эта процедура может занять продолжительное время.", Cancellable = false, UnknownProgress = true, }; cwd.Worker = x => { x.UpdateProgress(0, "Создание файла отчета"); File.Copy(nameFrom, nameTo); x.UpdateProgress(0, "Интеграция дерева сценариев"); var scenarioDepot = new ScenarioDepot {Vault = VaultApi.OpenZip(nameTo),}; x.UpdateProgress(0, "Оптимизация плана расчета"); scenarioDepot.Save(); x.UpdateProgress(0, "Почти все готово"); OpenScenarionWindow(nameTo, scenarioDepot); }; if (cwd.ShowDialog(this) != DialogResult.OK) return; InWork = true; }
private static void FixGuidz() { const string file = @"T:\Demo test.scenario.iasto"; //File.Copy(file,file+".back",true); var sd = new ScenarioDepot {Vault = VaultApi.OpenZip(file)}; foreach(var i in sd.AllSourceValueDeclarations) { if(!i.Model.Name.Contains("-"))continue; //Console.Out.WriteLine("{1} = {0}", i.Name, i.Model.Name); } foreach (var i in sd.AllFormulaDeclarations) { //if (!i.Model.Name.Contains("-")) continue; if (!i.ElfCode.Contains("-")) continue; Console.Out.WriteLine("{1} = {0} {{{2}}}", i.Name, i.Model.Name, i.ElfCode); } }
public ScenarionBrowser(BrowserMode mode, ScenarioDepot scenario, IBranch initialSelection) : this(mode, scenario, initialSelection, null) { }
public static IBranch SelectBranch(ScenarioDepot scenario, IBranch initialSelection, IBranch formulaBeingEdited) { var browser = new ScenarionBrowser(BrowserMode.SelectBranch, scenario, initialSelection, formulaBeingEdited); return browser.ShowDialog() == DialogResult.OK ? browser.SelectedEntity : null; }
public static IBranch SelectNode(ScenarioDepot scenario, IBranch initialSelection) { var browser = new ScenarionBrowser(BrowserMode.SelectNode, scenario, initialSelection, null); return browser.ShowDialog() == DialogResult.OK ? browser.SelectedEntity : null; }