예제 #1
0
        public async Task <ActionResult> OnPostAsync()
        {
            if (!string.IsNullOrEmpty(PhoneNumber) && PhoneNumber[0] != '0' && PhoneNumber[0] != '+')
            {
                ModelState.AddModelError(nameof(PhoneNumber), "Geben Sie eine gültige Telefonnummer ein! Beginnend mit +43 oder 06..");
                return(Page());
            }
            if (ModelState.IsValid || (ModelState.ErrorCount == 1 && ModelState[nameof(LastTestedDate)].Errors.Count > 0))
            {
                try
                {
                    var lastTested = LastTestedDate + LastTestedTime;
                    var newPerson  = new PersonDto
                    {
                        FirstName    = FirstName,
                        LastName     = LastName,
                        PhoneNumber  = PhoneNumber,
                        RecordTime   = DateTime.Now,
                        IsVaccinated = IsVaccinated,
                        LastTested   = lastTested
                    };

                    await _pc.PostPersonAsync(newPerson);

                    NameAfterRegistrationText  = $"Hallo, {FirstName}!";
                    LabelTextAfterRegistration = await _sc.GetWelcomeTextAsync();
                }
                catch (ApiException <APIService.ProblemDetails> ex)
                {
                    ModelState.AddModelError("", ex.Result.Detail);
                }
            }

            return(Page());
        }
예제 #2
0
        public async Task <ActionResult> OnGetAsync(string handler)
        {
            _settingClient = new SettingsClient();
            // ------- request cookie ---------------------
            var    cookieValue = Request.Cookies["MyCookieId"];
            string _pass       = await _settingClient.GetPasswordAsync();

            if (cookieValue == null || cookieValue != _pass)
            {
                return(RedirectToPage("/LoginPage", "Settings"));
            }
            // --------------------------------------------
            StorageDuration = await _settingClient.GetStorageDurationAsync();

            WelcomeMessage = await _settingClient.GetWelcomeTextAsync();

            Password = await _settingClient.GetPasswordAsync();

            var type = await _settingClient.GetNfcReaderTypesAsync();

            SelectedType = type.ToString();

            NfcReaderTypes = new List <SelectListItem>();

            NfcReaderTypes.Add(new SelectListItem
            {
                Value = Core.NfcReaderType.RC522.ToString(),
                Text  = Core.NfcReaderType.RC522.ToString()
            });

            NfcReaderTypes.Add(new SelectListItem
            {
                Value = Core.NfcReaderType.uFr.ToString(),
                Text  = Core.NfcReaderType.uFr.ToString()
            });


            if (handler == null)
            {
                return(RedirectToPage("/LoginPage", "Settings"));
            }

            return(Page());
        }