public async Task <MoehreResult> ChangeStatusAsync(Spieler spieler, Trainingstermin termin, SpielerStatus newSpielerStatus) { var client = GetClient(_apiKey); try { var changeStatusInfo = new ChangeStatusInfo(); changeStatusInfo.NewStatus = newSpielerStatus; changeStatusInfo.SpielerId = spieler.Id; changeStatusInfo.TargetId = termin.Id; changeStatusInfo.TargetType = TargetType.Training; var result = await client.PostAsJsonAsync("spielerstatus", changeStatusInfo).ConfigureAwait(false); if (result.IsSuccessStatusCode) { return(MoehreResult.WarErfolgreich()); } else { return(MoehreResult.WarFehlerhaft(result.ReasonPhrase)); } } catch (Exception ex) { return(MoehreResult.WarFehlerhaft(ex.Message)); } }
public async Task <MoehreResult> SaveTrainingAsync(Trainingstermin termin) { var client = GetClient(_apiKey); try { termin.Datum = termin.Datum.Date + TimeSpan.Parse(termin.Uhrzeit); var result = await client.PostAsJsonAsync("trainings", termin).ConfigureAwait(false); if (result.IsSuccessStatusCode) { #if !__WASM__ Barrel.Current.Empty("alletrainings"); #endif return(MoehreResult.WarErfolgreich()); } else { return(MoehreResult.WarFehlerhaft("Fehler beim Speichern: " + result.StatusCode)); } } catch (Exception ex) { return(MoehreResult.WarFehlerhaft("Fehler beim Speichern: " + ex.Message)); } }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); this.DataContext = _edit = e.Parameter as Trainingstermin; TrainingstypenCombo.SelectedItem = _edit.Trainingstyp; }
public static TrainingsterminViewModel FromSingle(Trainingstermin termin, Spieler spieler) { var tvm = new TrainingsterminViewModel(); tvm.RefreshFrom(termin, spieler); tvm.DoneLoading(); return(tvm); }
public async Task <StatusCodeResult> Post([FromBody] Trainingstermin value) { var existing = await _store.GetAsync <Trainingstermin>(value.Id); if (existing == null) { var success = await _store.SaveAsync(value); if (!success) { return(BadRequest()); } else { return(Ok()); } } else { existing.Datum = value.Datum; existing.Dauer = value.Dauer; existing.FreitextInfo = value.FreitextInfo; existing.Kommentare = value.Kommentare; existing.Trainingstyp = value.Trainingstyp; existing.OrtId = value.OrtId; var success = await _store.SaveAsync(existing); if (!success) { return(BadRequest()); } else { return(Ok()); } } }
public void RefreshFrom(Trainingstermin termin, Spieler spieler) { try { Termin = termin; Id = termin.Id; Trainingstyp = termin.Trainingstyp; Datum = String.Format("{0:ddd}", termin.Datum) + ", " + String.Format("{0:g}", termin.Datum); if (AuftrittsterminViewModel.AlleOrte != null && AuftrittsterminViewModel.AlleOrte.Count > 0) { var ort = AuftrittsterminViewModel.AlleOrte.Where(o => o.Id == termin.OrtId).First(); Ort = ort != null ? ort.Bezeichnung : "Unbekannter Ort"; } FreitextInfo = termin.FreitextInfo; CanTeilnehmer = CanLeiter = CanVormerken = CanOnline = CanAbwesend = true; AussageNoetig = false; if (termin.Teilnehmer.Contains(spieler.Id)) { Teilnahmestatus = "Teilnehmer"; TeilnahmestatusFarbe = "Green"; CanTeilnehmer = false; } else if (termin.Leiter.Contains(spieler.Id)) { Teilnahmestatus = "Leiter"; TeilnahmestatusFarbe = "Green"; CanLeiter = false; } else if (termin.Vorgemerkt.Contains(spieler.Id)) { Teilnahmestatus = "Vorgemerkt"; TeilnahmestatusFarbe = "Orange"; CanVormerken = false; } else if (termin.Online.Contains(spieler.Id)) { Teilnahmestatus = "Nur Online"; TeilnahmestatusFarbe = "Blue"; CanOnline = false; } else if (termin.Abwesend.Contains(spieler.Id)) { Teilnahmestatus = "Abwesend"; TeilnahmestatusFarbe = "Orange"; CanAbwesend = false; } else { Teilnahmestatus = "Unbekannt"; TeilnahmestatusFarbe = "Red"; AussageNoetig = true; } Leiter = GetSpielerListe(termin.Leiter); LeiterFehlt = termin.Leiter.Count == 0; Teilnehmer = GetSpielerListe(termin.Teilnehmer); TeilnehmerLeer = termin.Teilnehmer.Count == 0; Vorgemerkte = GetSpielerListe(termin.Vorgemerkt); VorgemerkteLeer = termin.Vorgemerkt.Count == 0; Online = GetSpielerListe(termin.Online); OnlineLeer = termin.Online.Count == 0; Abwesende = GetSpielerListe(termin.Abwesend); AbwesendeLeer = termin.Abwesend.Count == 0; Kommentare = new List <KommentarViewModel>(); foreach (var kommentar in termin.Kommentare) { Kommentare.Add(new KommentarViewModel() { Spieler = GetSpielerName(kommentar.SpielerId) + ": ", Kommentar = "\"" + kommentar.Text + "\"" }); } } catch { } }
public byte[] TransferToiCal(Trainingstermin trainingsTermin) { throw new NotImplementedException(); }