/// <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> /// This method loads mts (excel) file and loads needed excel sheets /// </summary> /// <returns>Async task</returns> private async Task SelectMtsFile() { /* get path*/ string newMtsPath = GeneratorViewModelHelpers.GetMtsFilePath(); try { /*if path was chosen*/ if (newMtsPath != string.Empty) { /* set new mts path */ MtsFilePath = newMtsPath; /* create new instance of generator service by its factory */ _generatorService = GeneratorServiceFactory.CreateService(ActualOperation, ExcelProvider_ShowWorkProgressEvent); /* load excel sheets asynchronously */ MtsSheets = new BindableCollection <string>(await Task.Run(() => _generatorService.GetSheetNames(MtsFilePath))); /* set first sheet as default one */ ActualMtsSheet = MtsSheets[0]; /* refresh view model */ GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "MtsFilePath"); GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "MtsSheets"); GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "ActualMtsSheet"); GeneratorViewModelHelpers.RefreshViewModel(this, PropertyChanged, "IsSheetsDropdownEnabled"); if (ActualOperation == OperationType.Test_Specification_From_Module_Test_State) { OpenOutputDirectoryCommand.InvokeCanExecuteChanged(); } else { OpenOverviewReportsCommand.InvokeCanExecuteChanged(); } } } catch (Exception ex) { MessageBox.Show($"Error: {ex}"); } }
/// <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"); } }