Exemplo n.º 1
0
        async public Task <IEnumerable <LocalizableString> > GetAllAsync()
        {
            _eventAggregator.GetEvent <BusyChangedEvent>().Publish(true);

            IEnumerable <LocalizableString> strings = new List <LocalizableString>();

            try
            {
                if (_checkConnectionService.IsConnectionAvailable())
                {
                    try
                    {
                        strings = await _httpLocalizableStringService.GetAllAsync();
                    }
                    catch (Exception e)
                    {
                        _logger.Error(e, "Http communication Failed");

                        _eventAggregator.GetEvent <StatusBarMessageChangedEvent>().Publish(new StatusBarMessage
                        {
                            MessageType = MessageType.Error,
                            Text        = _localizationService.Resolve(LanguageKeys.Error_during_server_communication)
                        });

                        try
                        {
                            strings = await _fileSystemLocalizableStringService.GetAllAsync();

                            _eventAggregator.GetEvent <StatusBarMessageChangedEvent>().Publish(new StatusBarMessage
                            {
                                MessageType = MessageType.Warning,
                                Text        = _localizationService.Resolve(LanguageKeys.Strings_from_file_system)
                            });
                        }
                        catch (Exception innerException)
                        {
                            _logger.Error(innerException, "File System communication Failed");

                            _eventAggregator.GetEvent <StatusBarMessageChangedEvent>().Publish(new StatusBarMessage
                            {
                                MessageType = MessageType.Error,
                                Text        = _localizationService.Resolve(LanguageKeys.Impossible_to_retrieve_strings)
                            });
                        }
                    }
                }
                else
                {
                    strings = await _fileSystemLocalizableStringService.GetAllAsync();
                }
            }
            finally
            {
                _eventAggregator.GetEvent <BusyChangedEvent>().Publish(false);
            }

            return(strings);
        }
 async public Task <IEnumerable <LocalizableString> > Get()
 {
     return(await _localizableStringService.GetAllAsync());
 }