private async Task HentPostOversigt() { Exception exception = null; try { Master.IsBusy = true; var svar = await AdvosysKlient.HentMinTidregAsync(); var poster = svar.Poster .Select(p => new PostOversigtViewModel(p)) .ToList(); OversigtListView.ItemsSource = poster; OversigtListView.SelectedItem = poster.FirstOrDefault(); } catch (WebException hrex) { Detail = new HistorikPage(DateTime.Today); IsPresented = false; exception = hrex; } catch (Exception ex) { exception = ex; } finally { Master.IsBusy = false; } if (exception != null) { await DisplayAlert("Advosys", "Der gik noget galt: " + exception.Message, "OK"); } }
private async Task HentPoster() { try { IsBusy = true; var svar = await AdvosysKlient.HentMinTidsregDagAsync(dato); var poster = svar.Poster .OrderByDescending(p => p.FraKlokken) .Select(p => new PostViewModel(dato, p)) .GroupBy(g => g.Dato) .Select(g => new Group <DateTime, PostViewModel>(g.Key, g)) .ToList(); HistorikListView.ItemsSource = poster; if (poster.Count == 0) { ShowEmptyLabel("Der findes ingen tidregistreringer for denne dato."); } else { EmptyLabel.IsVisible = false; } } catch (Exception ex) { ShowEmptyLabel("Der kunne ikke hentes tidsregistreringer for denne dato: " + ex.Message); } finally { IsBusy = false; } }
private async Task Refresh() { if (geolocator == null) { return; } //var location = await geolocator.GetPositionAsync(30000); //var koordinat = new Koordinat(location.Latitude, location.Longitude); var koordinat = new Koordinat(55.708392, 9.526146); try { IsBusy = true; SearchBar.IsEnabled = false; var svar = await AdvosysKlient.HentSagslisteOgKoderAsync(koordinat); var close = sager.SingleOrDefault(g => g.Key == "I nærheden"); sager.Remove(close); sager.Insert(0, new Group <string, Sag>("I nærheden", svar.Sager)); FejlLabel.IsVisible = false; } catch { } finally { SearchBar.IsEnabled = true; IsBusy = false; SagerListView.IsRefreshing = false; } FiltrerSagsliste(); }
private async Task Refresh() { Exception exception = null; try { IsBusy = true; SearchBar.IsEnabled = false; var svar = await AdvosysKlient.HentSagslisteOgKoderAsync(null); cache.Set(Key, svar.Aktiviteter.ToList()); FejlLabel.IsVisible = false; } catch (WebException) { FejlLabel.IsVisible = true; } catch { } finally { SearchBar.IsEnabled = true; IsBusy = false; AktiviteterListView.IsRefreshing = false; } HentFraCache(); FiltrerAktivitetsliste(); }
private async void Slet() { try { await AdvosysKlient.SletTidsregistreringAsync(post.Id); MessagingCenter.Send(this, "Refresh"); } catch (Exception) { MessagingCenter.Send(this, "SletFailed"); } }
public async Task HentSagerOgAktiviteter() { try { var svar = await AdvosysKlient.HentSagslisteOgKoderAsync(null); cache.Set("Sager", svar.Sager.ToList()); cache.Set("Aktiviteter", svar.Aktiviteter.ToList()); } catch (Exception) { } }
protected override async void OnAppearing() { base.OnAppearing(); var cache = Resolver.Resolve <ISimpleCache>(); if (cache != null) { var cachedPosts = cache.Get <List <TidsregistreringCache> >(TidsregistreringCache.Key); var kø = new Queue <TidsregistreringCache>(cachedPosts); while (kø.Count > 0) { var post = kø.Dequeue(); try { if (post.ErNy) { await AdvosysKlient.RegistrerTidAsync( post.Sag, post.Aktivitet, post.Dato.Date.Add(post.FraKlokken.TimeOfDay), (int)post.Forbrugt.TotalMinutes, post.Beskrivelse); // Send besked til achievement system. MessagingCenter.Send(this, "TidRegistreret"); } else { await AdvosysKlient.RetTidsregistreringAsync( post.Id, post.Sag, post.Aktivitet, post.Dato.Date.Add(post.FraKlokken.TimeOfDay), (int)post.Forbrugt.TotalMinutes, post.Beskrivelse); } } catch { kø.Enqueue(post); break; } } cache.Replace(TidsregistreringCache.Key, kø.ToList()); if (cachedPosts.Count > 0 && kø.Count == 0) { await DisplayAlert("Gemte tidsregistreringer", "De gemte tidsregistreringer blev afsendt.", "OK"); } } if (notLoaded == false) { await HentPostOversigt(); notLoaded = true; } }
public async Task Gem() { if (IsBusy) { return; } var sag = SelectedSag; var aktivitet = SelectedAktivitet; var datoOgTid = new DateTimeOffset(dato.Date).Add(fraKlokken); var antalMinutter = (int)Tidsforbrug.TotalMinutes; // Rund op til nærmeste femte minut eller hvordan det var. var beskrivelse = Beskrivelse ?? string.Empty; try { IsBusy = true; if (id == null) { await AdvosysKlient.RegistrerTidAsync(sag, aktivitet, datoOgTid, antalMinutter, beskrivelse); // Send besked til achievement system. MessagingCenter.Send(this, "TidRegistreret"); } else { await AdvosysKlient.RetTidsregistreringAsync(id, sag, aktivitet, datoOgTid, antalMinutter, beskrivelse); } await Navigation.PopAsync(); } catch (HttpRequestException ex) { MessagingCenter.Send(this, "TidsregistreringFejlede", ex); var tidsregistreringer = cache.Get <List <TidsregistreringCache> >(TidsregistreringCache.Key); if (!tidsregistreringer.Any(t => t.Beskrivelse == Beskrivelse && t.Sag.Nummer == SelectedSag.Nummer && t.Aktivitet.Kode == SelectedAktivitet.Kode)) { tidsregistreringer.Add(new TidsregistreringCache { Sag = SelectedSag, Aktivitet = SelectedAktivitet, Beskrivelse = Beskrivelse, Dato = dato.Date, Forbrugt = Tidsforbrug, FraKlokken = DateTime.MinValue.Add(Tidspunkt), Id = id }); cache.Replace(TidsregistreringCache.Key, tidsregistreringer); } } catch (Exception ex) { MessagingCenter.Send(this, "TidsregistreringFejlede", ex); } finally { IsBusy = false; } }