From 77704ad7cdc35601db060202f4e4db2211813fea Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 29 Jul 2024 11:23:35 +0200 Subject: [PATCH] Qr code with Company AffiliateId --- .../Pages/User/Hotels/HotelComponent.razor.cs | 44 ++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/TIAMSharedUI/Pages/User/Hotels/HotelComponent.razor.cs b/TIAMSharedUI/Pages/User/Hotels/HotelComponent.razor.cs index f7fd261a..cc7d90d8 100644 --- a/TIAMSharedUI/Pages/User/Hotels/HotelComponent.razor.cs +++ b/TIAMSharedUI/Pages/User/Hotels/HotelComponent.razor.cs @@ -1,9 +1,13 @@ using AyCode.Services.Loggers; using DevExpress.Blazor; using Microsoft.AspNetCore.Components; +using System.ComponentModel.DataAnnotations; +using System.Drawing; +using System.Drawing.Imaging; using System.Runtime.CompilerServices; using TIAM.Core.Enums; using TIAM.Entities.Products; +using TIAM.Entities.ServiceProviders; using TIAM.Services; using TIAMWebApp.Shared.Application.Interfaces; using TIAMWebApp.Shared.Application.Models; @@ -178,9 +182,47 @@ namespace TIAMSharedUI.Pages.User.Hotels s.Phone }; }); + var productOwner = await adminSignalRClient.GetByIdAsync>(SignalRTags.GetCompaniesById, hotel.ServiceProviderId); + if(productOwner!=null) + { + ImageSource = await ServiceProviderDataService.GetQRCodeByProductIdAsync(productOwner[0].AffiliateId); + } + else + { + int width = 128; + int height = 128; + string base64String = ""; + // Create a new bitmap + using (Bitmap bitmap = new Bitmap(width, height)) + { + // Set all pixels to black + using (Graphics gfx = Graphics.FromImage(bitmap)) + { + gfx.Clear(Color.Black); + } + // Convert bitmap to Base64 string + base64String = BitmapToBase64(bitmap); + Console.WriteLine(base64String); + } + + ImageSource = base64String; + } //SKBitmap bitmap = await ServiceProviderDataService.GetQRCodeByProductIdAsync(Guid.NewGuid()); - ImageSource = await ServiceProviderDataService.GetQRCodeByProductIdAsync(Id); + + } + + private string BitmapToBase64(Bitmap bitmap) + { + using (MemoryStream memoryStream = new MemoryStream()) + { + // Save bitmap to memory stream + bitmap.Save(memoryStream, ImageFormat.Png); + + // Convert memory stream to Base64 string + byte[] imageBytes = memoryStream.ToArray(); + return Convert.ToBase64String(imageBytes); + } } void Grid_CustomizeElement(GridCustomizeElementEventArgs e)