コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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));
            }
        }
コード例 #3
0
        protected override void OnNavigatedTo(NavigationEventArgs e)
        {
            base.OnNavigatedTo(e);

            this.DataContext = _edit = e.Parameter as Trainingstermin;
            TrainingstypenCombo.SelectedItem = _edit.Trainingstyp;
        }
コード例 #4
0
        public static TrainingsterminViewModel FromSingle(Trainingstermin termin, Spieler spieler)
        {
            var tvm = new TrainingsterminViewModel();

            tvm.RefreshFrom(termin, spieler);
            tvm.DoneLoading();

            return(tvm);
        }
コード例 #5
0
        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());
                }
            }
        }
コード例 #6
0
        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
            {
            }
        }
コード例 #7
0
 public byte[] TransferToiCal(Trainingstermin trainingsTermin)
 {
     throw new NotImplementedException();
 }