Example #1
0
        /// <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");
        }
Example #2
0
        /// <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");
            }
        }