Exemplo n.º 1
0
        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));
            }
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 4
0
        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;
        }