async Task LoadLanguagesAsync() { if (_isLoadingLanguages) { return; } try { IsBusy = true; _isLoadingLanguages = true; var service = new MiscServices(); var request = new BaseModel(); var responce = await service.FetchAllLanguages(request); foreach (var language in responce.Languages) { RequestLanguages.Add(language); } if (!_isRecentsApplied) { ApplyRecentValues(); } } catch (Exception) { throw; } finally { _isLoadingLanguages = false; IsBusy = false; } }
void ApplyRecentValues() { var recents = LocalStorage.RequestCallRecents; var recentsExisted = recents != null; if (recentsExisted) { CallRef = recents.CallRef; SelectedClientLanguage = ClientLanguages.FirstOrDefault(l => l.Id == recents.SelectedClientLanguage); SelectedRequestLanguage = RequestLanguages.FirstOrDefault(l => l.Id == recents.SelectedRequestLanguage); if (SelectedBusiness == null) { SelectedBusiness = Businesses.FirstOrDefault(l => l.ClientBusinessId.ToString() == recents.SelectedBusiness); } } _isRecentsApplied = true; }
async Task LoadLanguagesAsync() { if (_isLoadingLanguages) { return; } try { IsBusy = true; _isLoadingLanguages = true; var service = new MiscServices(); var request = new BaseModel(); var responce = await service.FetchAllLanguages(request); foreach (var language in responce.Languages) { RequestLanguages.Add(language); } if (!_isRecentsApplied) { ApplyRecentValues(); } } catch (Exception) { throw; } finally { SelectedClientLanguage = ClientLanguages[0]; for (int i = 0; i < RequestLanguages.Count; i++) { if (RequestLanguages[i].Name == "Spanish") { SelectedRequestLanguage = RequestLanguages[i]; } } _isLoadingLanguages = false; IsBusy = false; } }