public async Task <MoehreResult> ChangeStatusAsync(Spieler spieler, Auftrittstermin 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.Auftritt; 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> DeleteAuftrittAsync(Auftrittstermin termin) { var client = GetClient(_apiKey); try { termin.Datum = termin.Datum.Date + TimeSpan.Parse(termin.Uhrzeit); var result = await client.DeleteAsync("auftritte/" + termin.Id).ConfigureAwait(false); if (result.IsSuccessStatusCode) { #if !__WASM__ Barrel.Current.Empty("alleauftritte"); #endif return(MoehreResult.WarErfolgreich()); } else { return(MoehreResult.WarFehlerhaft(result.ReasonPhrase)); } } catch (Exception ex) { return(MoehreResult.WarFehlerhaft(ex.Message)); } }
public static AuftrittsterminViewModel FromSingle(Auftrittstermin termin, Spieler spieler) { var avm = new AuftrittsterminViewModel(); avm.RefreshFrom(termin, spieler); avm.DoneLoading(); return(avm); }
public async Task <StatusCodeResult> Post([FromBody] Auftrittstermin value) { var existing = await _store.GetAsync <Auftrittstermin>(value.Id); if (existing == null) { var success = await _store.SaveAsync(value); if (!success) { return(BadRequest()); } else { return(Ok()); } } else { existing.BenoetigteSpieler = value.BenoetigteSpieler; existing.BezahlungHelfer = value.BezahlungHelfer; existing.BezahlungModerator = value.BezahlungModerator; existing.BezahlungSpieler = value.BezahlungSpieler; existing.Datum = value.Datum; existing.EintrittFrei = value.EintrittFrei; existing.EintrittInfo = value.EintrittInfo; existing.FreitextInfoExtern = value.FreitextInfoExtern; existing.FreitextInfoIntern = value.FreitextInfoIntern; existing.Gegnerlink = value.Gegnerlink; existing.Infolink = value.Infolink; existing.Musiker = value.Musiker; existing.Oeffentlich = value.Oeffentlich; existing.OrtId = value.OrtId; existing.Showtyp = value.Showtyp; existing.SpezialOrtText = value.SpezialOrtText; existing.SpezialTerminDescription = value.SpezialTerminDescription; existing.Ansprechpartner = value.Ansprechpartner; var success = await _store.SaveAsync(existing); if (!success) { return(BadRequest()); } else { return(Ok()); } } }
public void RefreshFrom(Auftrittstermin termin, Spieler spieler) { try { Termin = termin; Id = termin.Id; Showtyp = termin.Showtyp; Datum = String.Format("{0:ddd}", termin.Datum) + ", " + String.Format("{0:g}", termin.Datum); if (AlleOrte != null && AlleOrte.Count > 0) { var ort = AlleOrte.Where(o => o.Id == termin.OrtId).FirstOrDefault(); Ort = ort != null ? ort.Bezeichnung : "Unbekannter Ort"; } FreitextIntern = termin.FreitextInfoIntern; FreitextExtern = termin.FreitextInfoExtern; Oeffentlich = termin.Oeffentlich ? "Ja" : "Nein"; CanSpieler = CanAbwesend = CanHelfer = CanModeration = CanVormerken = true; AussageNoetig = false; if (termin.Spieler.Contains(spieler.Id)) { Teilnahmestatus = "Spieler"; TeilnahmestatusFarbe = "Green"; CanSpieler = false; } else if (termin.Moderator.Contains(spieler.Id)) { Teilnahmestatus = "Moderator"; TeilnahmestatusFarbe = "Green"; CanModeration = false; } else if (termin.Helfer.Contains(spieler.Id)) { Teilnahmestatus = "Helfer"; TeilnahmestatusFarbe = "Green"; CanHelfer = false; } else if (termin.Vorgemerkt.Contains(spieler.Id)) { Teilnahmestatus = "Vorgemerkt"; TeilnahmestatusFarbe = "Orange"; CanVormerken = false; } else if (termin.Abwesend.Contains(spieler.Id)) { Teilnahmestatus = "Abwesend"; TeilnahmestatusFarbe = "Orange"; CanAbwesend = false; } else { Teilnahmestatus = "Unbekannt"; TeilnahmestatusFarbe = "Red"; AussageNoetig = true; } Moderation = GetSpielerListe(termin.Moderator); ModerationFehlt = termin.Moderator.Count == 0; Spieler = GetSpielerListe(termin.Spieler); SpielerLeer = termin.Spieler.Count == 0; if (!string.IsNullOrEmpty(termin.Musiker)) { Musiker = termin.Musiker; MusikerLeer = false; } else { MusikerLeer = true; Musiker = ""; } Helfer = GetSpielerListe(termin.Helfer); HelferLeer = termin.Helfer.Count == 0; Vorgemerkte = GetSpielerListe(termin.Vorgemerkt); VorgemerkteLeer = termin.Vorgemerkt.Count == 0; Abwesende = GetSpielerListe(termin.Abwesend); AbwesendeLeer = termin.Abwesend.Count == 0; if (termin.BenoetigteSpieler <= termin.Moderator.Count + termin.Spieler.Count) { BenoetigteSpieler = "Ausreichend"; BenoetigteSpielerVisible = false; } else { BenoetigteSpieler = "Weitere " + (termin.BenoetigteSpieler - termin.Moderator.Count - termin.Spieler.Count) + " Spieler nötig!"; BenoetigteSpielerVisible = true; } NachbereitungNoetig = false; if (!termin.NachbereitetVon.Contains(spieler.Id)) { NachbereitungNoetig = true; } if (termin.Auslagen.Where(a => a.SpielerId == spieler.Id && !string.IsNullOrEmpty(a.ToString())).Count() > 0) { var auslage = termin.Auslagen.Where(a => a.SpielerId == spieler.Id && !string.IsNullOrEmpty(a.ToString())).First(); Auslagen = auslage.ToString(); } if (string.IsNullOrEmpty(Auslagen)) { Auslagen = "Keine Auslagen angegeben"; } 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(Auftrittstermin auftrittsTermin) { throw new NotImplementedException(); }
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); this.DataContext = _edit = e.Parameter as Auftrittstermin; }