@page "/fundvelo/keydata/{FromRoute}" @using CaritasPWA.Shared.Models; @using CaritasPWA.Shared.Services; @using System.Globalization; @using Microsoft.AspNetCore.Components.Forms; @inject NavigationManager NavigationManager @inject IStringLocalizer i18n @inject PageHistoryManager PageHistoryManager @inject MasterDataService MasterDataService @inject IMatToaster Toaster
@if ("Found".Equals(FromRoute)) {

@i18n["FoundBike"]

} else {

@i18n["MissingBike"]

}
@i18n["Color." + @context?.Name]
@i18n["Bike." + @context?.Type]
@i18n["Cancel"]
@i18n["Continue"]
@code { [Parameter] public string FromRoute { get; set; } [Parameter(CaptureUnmatchedValues = true)] public IDictionary Attributes { get; set; } private static long MAX_FILE_SIZE = 4000000; private ColorItem selectedColor; private BicycleType selectedBcType; private string imgUrl = string.Empty; protected async override void OnInitialized() { Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name); Console.WriteLine("Current language is {0}.", CultureInfo.CurrentCulture.TwoLetterISOLanguageName.ToUpper()); await GetColors(); await GetBicycleTypes(); PageHistoryManager.AddPageToHistory(NavigationManager.Uri); base.OnInitialized(); } private async Task GetColors() { await InvokeAsync(async () => { await MasterDataService.GetColors(); StateHasChanged(); }); } private async Task GetBicycleTypes() { await InvokeAsync(async () => { await MasterDataService.GetBicycleTypes(); StateHasChanged(); }); } private ColorItem[] Colors { get => MasterDataService.Colors; } private BicycleType[] BicycleTypes { get => MasterDataService.BicycleTypes; } private void Next() { NavigationManager.NavigateTo("fundvelo/account/" + @FromRoute); } private void Cancel() { NavigationManager.NavigateTo("caritas_services"); } private string getAddressLbl() { return i18n.GetString("Address") + " (" + getPlaceLbl() + ")"; } private string getPlaceLbl() { return @FromRoute == "Found" ? i18n.GetString("PlaceOfDiscovery") : i18n.GetString("PlaceOfLoss"); } private async Task OnFileSelection(InputFileChangeEventArgs e) { IBrowserFile imgFile = e.File; var buffers = new byte[imgFile.Size]; try { await imgFile.OpenReadStream(MAX_FILE_SIZE).ReadAsync(buffers); string imageType = imgFile.ContentType; imgUrl = $"data:{imageType};base64,{Convert.ToBase64String(buffers)}"; } catch (Exception ex) { Show(MatToastType.Danger, i18n.GetString("Error.PhotoOrPictureToBig.Title"), i18n.GetString("Error.PhotoOrPictureToBig.Msg", MAX_FILE_SIZE / 1000)); } } public void Show(MatToastType type, string title, string message, string icon = "") { Toaster.Add(message, type, title, icon); } }