@page "/fundvelo/keydata/{FromRoute}" @using CaritasPWA.Shared.Models; @using CaritasPWA.Shared.Services; @using System.Globalization; @using Microsoft.AspNetCore.Components.Forms; @using System.IO; @inject NavigationManager NavigationManager @inject IStringLocalizer i18n @inject PageHistoryManager PageHistoryManager @inject MasterDataService MasterDataService @inject IMatToaster Toaster @*@using Tewr.Blazor.FileReader @inject IFileReaderService fileReaderService;*@
@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 int 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 (IOException ex) { Console.WriteLine("Ex.Meesage is: {0}.", ex.Message); 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); } //******* //private ElementReference inputTypeFileElement; //public async Task ReadFile() { // foreach (var file in await fileReaderService.CreateReference(inputTypeFileElement).EnumerateFilesAsync()) { // IFileInfo fileInfo = await file.ReadFileInfoAsync(); // byte[] buffer = new byte[fileInfo.Size]; // using (MemoryStream memoryStream = await file.CreateMemoryStreamAsync(4096)) { // int bytesRead = 0; // int offset = 0; // do { // bytesRead = memoryStream.Read(buffer, offset, 4096); // offset = offset + bytesRead; // } while (bytesRead < 4096); // string imageType = fileInfo.Type; // imgUrl = $"data:{imageType};base64,{Convert.ToBase64String(buffer)}"; // } // } //} }