/// <summary>
        /// Imports product
        /// </summary>
        private async Task Ok(object obj)
        {
            if (!SelectedImporter.ValidateInput())
            {
                ErrorText = Strings.ImportViewModel_Fill_required_fields;
                return;
            }
            try
            {
                var importState = await SelectedImporter.Import();

                if (importState.Completed && string.IsNullOrEmpty(importState.ErrorMessage))
                {
                    TryClose(true);
                }
                else if (importState.Completed && !string.IsNullOrEmpty(importState.ErrorMessage))
                {
                    ErrorText = importState.ErrorMessage;
                }
                else
                {
                    _currentImportCts = new CancellationTokenSource();
                    await RunImportPolling(importState, _currentImportCts.Token);
                }
            }
            catch (Exception ex)
            {
                ErrorText = (string.IsNullOrEmpty(ex.Message) ? Strings.ImportViewModel_Import_error : ex.Message) + "\n" + Strings.ImportViewModel_Import_error_info;
                _logger.LogException(LogLevel.Error, ex, ex.Message);
            }
        }
Exemple #2
0
        /// <summary>
        /// Imports product
        /// </summary>
        private async Task Ok(object obj)
        {
            if (!SelectedImporter.ValidateInput())
            {
                ErrorText = Strings.ImportViewModel_Fill_required_fields;
                return;
            }
            try
            {
                ImportedProduct = await SelectedImporter.Import();
            }
            catch (Exception ex)
            {
                ErrorText = (string.IsNullOrEmpty(ex.Message) ? Strings.ImportViewModel_Import_error : ex.Message) + "\n" + Strings.ImportViewModel_Import_error_info;
                _logger.LogException(LogLevel.Error, ex, ex.Message);
                return;
            }

            TryClose(true);
        }