@page "/fundvelo/alternate_pickup" @using cwebplusApp.Shared.Models; @using cwebplusApp.Shared.Services; @inject NavigationManager NavigationManager @inject UserDataProvider UserDataProvider @inject IStringLocalizer I18n @inject PageHistoryManager PageHistoryManager @inject ReportDataProvider ReportDataProvider @inject Toaster Toaster @inject InputCursorHandler InputCursorHandler @inject MasterDataService MasterDataService
@*
@I18n["PickupContact"]
*@

@I18n["PickupContact"]

@I18n["Male"] @I18n["Female"]
@context?.Zip_City
@I18n["Cancel"]
@I18n["Continue"]
@code { private string pucSalutation; private string pucFirstname; private string pucLastname; private string pucAddress; private string pucMobile; private string pucPhone; private string pucEmail; private string pucZipCityStringValue; private ZipCity selectedZipCity; private ZipCity SelectedZipCity { get { return selectedZipCity; } set { selectedZipCity = (value != null) ? value : new ZipCity(pucZipCityStringValue); } } private void setZipCityValue(string value) { pucZipCityStringValue = value; selectedZipCity = null; } private ZipCity[] ZipCities { get => MasterDataService.ZipCities; } protected override void OnInitialized() { base.OnInitialized(); PageHistoryManager.OnBeforeNavigateBack = new EventCallback(this, (Action)OnBeforeNavigateBack); refreshGUIFromDto(); StateHasChanged(); } private void OnBeforeNavigateBack() { updateDtoFromGUI(); } private void Next() { updateDtoFromGUI(); PageHistoryManager.AddPageToHistory(NavigationManager.Uri); try { Validator.ValidateAlternatePickContact(ReportDataProvider.GetFoundReport()); NavigationManager.NavigateTo("fundvelo/account/Found"); } catch (ArgumentException) { Toaster.ShowWarning(I18n.GetString("Warning.MandatoryFields.Title"), I18n.GetString("Warning.MandatoryFields.Msg")); } } private void Cancel() { NavigationManager.NavigateTo("caritas_services"); } private string getZipCityLbl() { return String.Format("{0} {1}", I18n.GetString("Zip"), I18n.GetString("City")); } private void refreshGUIFromDto() { FoundReport report = ReportDataProvider.GetFoundReport(); pucSalutation = report.AbholAnrede; pucFirstname = report.AbholVorname; pucLastname = report.AbholNachname; pucAddress = report.AbholStrasse; setZipCityValue(getZipCityFromReport(report)); SelectedZipCity = Array.Find(ZipCities, zipCity => (zipCity.Zip.Equals(report.AbholPLZ) && zipCity.City.Equals(report.AbholOrt))); pucMobile = report.AbholMobil; pucPhone = report.AbholTelefon; pucEmail = report.AbholMail; } private void updateDtoFromGUI() { FoundReport report = ReportDataProvider.GetFoundReport(); report.AbholAnrede = pucSalutation; report.AbholVorname = pucFirstname; report.AbholNachname = pucLastname; report.AbholStrasse = pucAddress; report.AbholPLZ = SelectedZipCity.Zip; report.AbholOrt = SelectedZipCity.City; report.AbholMobil = pucMobile; report.AbholTelefon = pucPhone; report.AbholMail = pucEmail; } private String getZipCityFromReport(FoundReport report) { return report.AbholPLZ + (!String.IsNullOrEmpty(report.AbholOrt)? " " + report.AbholOrt: ""); } }