/// <summary> /// This method removes selected row of the datagrid /// </summary> private void RemoveSelectedRow() { /* remove module from service */ _generatorService.RemoveModuleData(SelectedObject.Name); /* remove module row from datagrid */ ModulesForUi.Remove(SelectedObject); /* clear selected object */ SelectedObject = null; /* refresh buttons if necessary */ RemoveObjectFromDataGridCommand.InvokeCanExecuteChanged(); OpenOutputDirectoryCommand.InvokeCanExecuteChanged(); /* refresh ui controlls if necessary*/ GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "IsSheetsDropdownEnabled"); GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "ModulesForUi"); GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "SelectedObject"); }
/// <summary> /// Loads data from mts for modules stored as reports paths /// TODO: ---- TO BE SIMPLIFIED ------ /// </summary> /// <returns>async Task</returns> private async Task LoadDataFromMts() { if (ReportsPaths != null) { List <string> moduleNames = await Task.Run(() => GeneratorViewModelHelpers.GetModuleNamesFromPaths(ReportsPaths, ActualOperation)); if (_generatorService != null) { await Task.Run(() => _generatorService.LoadDataFromMts(moduleNames)); List <ModuleToUiDto> itemsToAdd = _generatorService.GetDtosForUi(); GeneratorViewModelHelpers.SetOverviewReportsPathsToModules(ref itemsToAdd, ReportsPaths); /* helper list to check if new loaded elements are already displayed on ui */ List <string> allModuleNamesOnUi = ModulesForUi.Select(x => x.Name).ToList(); /* remove dupplicated elements */ foreach (string moduleName in allModuleNamesOnUi) { itemsToAdd.RemoveAll(x => x.Name.Contains(moduleName)); } /* show new loaded elements on ui */ ModulesForUi.AddRange(itemsToAdd); } _generatorService.CloseExcelDocument(); RemoveObjectFromDataGridCommand.InvokeCanExecuteChanged(); OpenOutputDirectoryCommand.InvokeCanExecuteChanged(); GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "ModulesForUi"); GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "IsSheetsDropdownEnabled"); } }