From 3302a9ee8ef6b86f516aad34b229bc06eef67ba1 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 28 May 2024 22:50:31 +0200 Subject: [PATCH 1/3] Address and Profile Grid --- .../EditComponents/EditAddressComponent.razor | 44 +++++ .../User/SysAdmins/AddressGridComponent.razor | 151 ++++++++++++++++++ .../SysAdmins/ManageServiceProviders.razor | 27 +++- .../User/SysAdmins/ProfileGridComponent.razor | 124 ++++++++++++++ .../ServiceProviderAPIController.cs | 6 + 5 files changed, 344 insertions(+), 8 deletions(-) create mode 100644 TIAMSharedUI/Pages/Components/EditComponents/EditAddressComponent.razor create mode 100644 TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor create mode 100644 TIAMSharedUI/Pages/User/SysAdmins/ProfileGridComponent.razor diff --git a/TIAMSharedUI/Pages/Components/EditComponents/EditAddressComponent.razor b/TIAMSharedUI/Pages/Components/EditComponents/EditAddressComponent.razor new file mode 100644 index 00000000..0fa95812 --- /dev/null +++ b/TIAMSharedUI/Pages/Components/EditComponents/EditAddressComponent.razor @@ -0,0 +1,44 @@ +@using TIAM.Entities.Addresses +@* @typeparam TModel *@ + + + + + + + + + + + + + + + + + + + + + + + + + Save Changes + + + + +@code { + [Parameter] + public Address Model { get; set; } + + [Parameter] + public EventCallback
OnAddressChanged { get; set; } + + + private async Task OnValidSubmit() + { + await OnAddressChanged.InvokeAsync(Model); + } +} diff --git a/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor new file mode 100644 index 00000000..0e53138b --- /dev/null +++ b/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor @@ -0,0 +1,151 @@ +@using TIAM.Entities.Products +@using TIAM.Entities.ServiceProviders +@using TIAM.Entities.Transfers +@using TIAM.Entities.Drivers +@using TIAM.Entities.Users +@using TIAM.Models.Dtos.Users +@using TIAMWebApp.Shared.Application.Interfaces +@using TIAMWebApp.Shared.Application.Utility +@using AyCode.Services.Loggers +@using TIAM.Core.Loggers +@using TIAM.Entities.Addresses +@using TIAMSharedUI.Pages.Components.EditComponents +@inject IServiceProviderDataService serviceProviderDataService +@inject IUserDataService userDataService +@inject ITransferDataService transferDataService +@inject IEnumerable LogWriters + +
+ Profile +
+ + + + + + + + + + + + + + @{ + Address bleh = (Address)context.EditModel; + } + @* *@ + + + + + +@code { + [Parameter] + public bool KeyboardNavigationEnabled { get; set; } + [Parameter] + public object AddressContext { get; set; } + [Parameter] + public string ContextIdType { get; set; } + + + List _detailGridData; + + List _availableProfiles; + + ILogger _logger; + + public void SaveAddress(Address addressToSave) + { + + } + + protected override async Task OnInitializedAsync() + { + Address myAddress = new Address(); + + + _logger = new LoggerClient(LogWriters.ToArray()); + if(ContextIdType == null) + { + //get all profiles from DB + } + else + { + switch (ContextIdType) + { + case ("userprofile"): + //get profile for user + UserModelDto resultData = (UserModelDto)AddressContext; + _detailGridData.Add(resultData.UserDto.Profile.Address); + break; + case ("productprofile"): + //get profile for user + Product resultData2 = (Product)AddressContext; + _detailGridData.Add(resultData2.Profile.Address); + break; + case ("companyProfile"): + //get profile for user + var resultData3 = (Company)AddressContext; + _detailGridData.Add(resultData3.Profile.Address); + break; + case ("transferdestination"): + //get address for transferDestination + TransferDestination resultData4 = (TransferDestination)AddressContext; + _detailGridData.Add(resultData4.Address); + break; + + } + } + + _logger.Info($"DetailGridData: {_detailGridData.Count}"); + } + + + + void CustomizeEditModel(GridCustomizeEditModelEventArgs e) + { + if (!e.IsNew) return; + + //editmodel customize + + + } + + async Task EditModelSaving(GridEditModelSavingEventArgs e) + { + if (e.IsNew) + //add new orderData to orderData array + _logger.Info("Data added"); + else + _logger.Info("Data updated"); + + await UpdateDataAsync(); + } + + async Task DataItemDeleting(GridDataItemDeletingEventArgs e) + { + + _logger.Info("orderData deleted"); + + } + + async Task UpdateDataAsync() + { + //refresh grid + _logger.Info("orderData grid refreshed"); + StateHasChanged(); + } + +} diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageServiceProviders.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageServiceProviders.razor index 8f33d017..c7f37154 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageServiceProviders.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageServiceProviders.razor @@ -37,12 +37,18 @@ - - - + + + @@ -102,9 +108,10 @@ @{ var keyField = context.Value; + Guid keyFieldValue = (Guid)keyField; var keyItem = (Company)context.DataItem; string buttonText = "Set owner"; - if(keyField == null) + if(keyFieldValue == Guid.Empty) { } @@ -119,8 +126,11 @@ *@ - + @* + *@ + + @{ @@ -175,7 +185,8 @@ ]; private MessageWizardModel _messageWizardModel = new(); - private string UpdateOwnerIdText; + private string Email { get; set; } = "email@email.com"; + string EmailMask { get; set; } = @"(\w|[.-])+@(\w|-)+\.(\w|-){2,4}"; DateTime StartDate { get; set; } = DateTime.Today; DxSchedulerDataStorage _dataStorage = new(); @@ -201,7 +212,7 @@ async Task SetOwner(Guid CompanyId) { //get user id from DB - var userModelDto = await userDataService.GetUserByEmailAsync(UpdateOwnerIdText); + var userModelDto = await userDataService.GetUserByEmailAsync(Email); //overwrite ServiceProvider ownerid var target = await serviceProviderDataService.GetServiceProviderByIdAsync(CompanyId); diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ProfileGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/ProfileGridComponent.razor new file mode 100644 index 00000000..df3a63f4 --- /dev/null +++ b/TIAMSharedUI/Pages/User/SysAdmins/ProfileGridComponent.razor @@ -0,0 +1,124 @@ +@using TIAM.Entities.Products +@using TIAM.Entities.ServiceProviders +@using TIAM.Entities.Transfers +@using TIAM.Entities.Drivers +@using TIAM.Entities.Users +@using TIAM.Models.Dtos.Users +@using TIAMWebApp.Shared.Application.Interfaces +@using TIAMWebApp.Shared.Application.Utility +@using AyCode.Services.Loggers +@using TIAM.Core.Loggers +@inject IServiceProviderDataService serviceProviderDataService +@inject IUserDataService userDataService +@inject IEnumerable LogWriters + +
+ Profile +
+ + + + + + + + + + + + +@code { + [Parameter] + public bool KeyboardNavigationEnabled { get; set; } + [Parameter] + public object ProfileContext { get; set; } + [Parameter] + public string ContextIdType { get; set; } + + List _detailGridData; + + List _availableProfiles; + + ILogger _logger; + + protected override async Task OnInitializedAsync() + { + _logger = new LoggerClient(LogWriters.ToArray()); + if(ContextIdType == null) + { + //get all profiles from DB + } + else + { + switch (ContextIdType) + { + case ("user"): + //get profile for user + UserModelDto resultData = (UserModelDto)ProfileContext; + _detailGridData.Add(resultData.UserDto.Profile); + break; + case ("product"): + //get profile for product + //var resultData2 = await serviceProviderDataService.GetProductById(ContextId); //todo + Product resultData2 = (Product)ProfileContext; + _detailGridData.Add(resultData2.Profile); + break; + case ("company"): + //get profile for company + Company resultData3 = (Company)ProfileContext; + _detailGridData.Add(resultData3.Profile); + break; + } + } + + _logger.Info($"DetailGridData: {_detailGridData.Count}"); + } + + + + void CustomizeEditModel(GridCustomizeEditModelEventArgs e) + { + if (!e.IsNew) return; + + //editmodel customize + + + } + + async Task EditModelSaving(GridEditModelSavingEventArgs e) + { + if (e.IsNew) + //add new orderData to orderData array + _logger.Info("Data added"); + else + _logger.Info("Data updated"); + + await UpdateDataAsync(); + } + + async Task DataItemDeleting(GridDataItemDeletingEventArgs e) + { + + _logger.Info("orderData deleted"); + + } + + async Task UpdateDataAsync() + { + //refresh grid + _logger.Info("orderData grid refreshed"); + StateHasChanged(); + } + +} diff --git a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs index a6f014e3..ec622035 100644 --- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs +++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs @@ -14,6 +14,8 @@ using TIAM.Entities.Transfers; using System.Text.Json.Nodes; using System.Text.Json; using Newtonsoft.Json.Linq; +using TIAM.Entities.Profiles; +using TIAM.Entities.Addresses; namespace TIAMWebApp.Server.Controllers { @@ -78,6 +80,10 @@ namespace TIAMWebApp.Server.Controllers GlobalLogger.Info($@"ServiceProvider to be created: {id}, {name}, {ownerId}"); Company toCreate = new Company(id, name, ownerId, Guid.NewGuid()); + toCreate.Profile = new Profile(); + toCreate.Profile.Id = Guid.NewGuid(); + toCreate.Profile.Address = new Address(); + toCreate.Profile.Address.Id = Guid.NewGuid(); toCreate.CommissionPercent = commissionRate; var result = await _adminDal.CreateServiceProviderAsync(toCreate); if (!result) From 01495d7b657134fd24c3a2b8a4df334bf5925a11 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 29 May 2024 14:01:47 +0200 Subject: [PATCH 2/3] address and profile edit --- .../EditComponents/EditAddressComponent.razor | 4 +-- .../User/SysAdmins/AddressGridComponent.razor | 35 ++++++++++++------- .../SysAdmins/ManageServiceProviders.razor | 13 ++++--- .../User/SysAdmins/ManageTransfers.razor | 9 +++-- .../Pages/User/SysAdmins/ManageUsers.razor | 3 ++ 5 files changed, 43 insertions(+), 21 deletions(-) diff --git a/TIAMSharedUI/Pages/Components/EditComponents/EditAddressComponent.razor b/TIAMSharedUI/Pages/Components/EditComponents/EditAddressComponent.razor index 0fa95812..9887231d 100644 --- a/TIAMSharedUI/Pages/Components/EditComponents/EditAddressComponent.razor +++ b/TIAMSharedUI/Pages/Components/EditComponents/EditAddressComponent.razor @@ -2,7 +2,7 @@ @* @typeparam TModel *@ - + @@ -24,7 +24,7 @@ - Save Changes + @* Save Changes *@ diff --git a/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor index 0e53138b..1b966272 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor @@ -18,7 +18,7 @@
Profile
- _detailGridData; + List _detailGridData = new List
(); List _availableProfiles; @@ -69,6 +69,7 @@ public void SaveAddress(Address addressToSave) { + Grid.SaveChangesAsync(); } protected override async Task OnInitializedAsync() @@ -88,22 +89,32 @@ case ("userprofile"): //get profile for user UserModelDto resultData = (UserModelDto)AddressContext; - _detailGridData.Add(resultData.UserDto.Profile.Address); + if (resultData.UserDto.Profile.Address != null) + _detailGridData.Add(resultData.UserDto.Profile.Address); + break; + case ("userdetailprofile"): + //get profile for user + UserModelDtoDetail resultData2 = (UserModelDtoDetail)AddressContext; + if (resultData2.UserDto.Profile.Address != null) + _detailGridData.Add(resultData2.UserDto.Profile.Address); break; case ("productprofile"): //get profile for user - Product resultData2 = (Product)AddressContext; - _detailGridData.Add(resultData2.Profile.Address); + Product resultData3 = (Product)AddressContext; + if (resultData3.Profile.Address != null) + _detailGridData.Add(resultData3.Profile.Address); break; - case ("companyProfile"): + case ("companyprofile"): //get profile for user - var resultData3 = (Company)AddressContext; - _detailGridData.Add(resultData3.Profile.Address); + var resultData4 = (Company)AddressContext; + if (resultData4.Profile.Address != null) + _detailGridData.Add(resultData4.Profile.Address); break; case ("transferdestination"): //get address for transferDestination - TransferDestination resultData4 = (TransferDestination)AddressContext; - _detailGridData.Add(resultData4.Address); + TransferDestination resultData5 = (TransferDestination)AddressContext; + if (resultData5.Address != null) + _detailGridData.Add(resultData5.Address); break; } @@ -129,7 +140,7 @@ //add new orderData to orderData array _logger.Info("Data added"); else - _logger.Info("Data updated"); + _logger.Info("Data updated: " + ((Address)e.EditModel).IsValid); await UpdateDataAsync(); } diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageServiceProviders.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageServiceProviders.razor index c7f37154..668001b6 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageServiceProviders.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageServiceProviders.razor @@ -1,5 +1,6 @@ @page "/user/companies" @using AyCode.Core.Helpers +@using AyCode.Utils.Extensions @using BlazorAnimation @using TIAM.Core.Enums @using TIAM.Entities.ServiceProviders @@ -107,14 +108,18 @@ @{ - var keyField = context.Value; - Guid keyFieldValue = (Guid)keyField; + var keyField = context.Value as Guid?; + var keyItem = (Company)context.DataItem; string buttonText = "Set owner"; - if(keyFieldValue == Guid.Empty) + if(keyField.IsNullOrEmpty()) { } + else + { + @keyField + } } @@ -130,7 +135,7 @@ *@ - + @{ diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor index a97276c3..b3a96b9c 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor @@ -211,6 +211,12 @@ public List TransferDataList { get; set; } bool PopupVisible { get; set; } + + + IGrid Grid2 { get; set; } + object MasterGridData { get; set; } + bool AutoCollapseDetailRow { get; set; } + public List IgnoreList = [ "ReceiverEmailAddress", @@ -483,9 +489,6 @@ Grid2.ShowColumnChooser(); } - IGrid Grid2 { get; set; } - object MasterGridData { get; set; } - bool AutoCollapseDetailRow { get; set; } protected override void OnAfterRender(bool firstRender) { diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageUsers.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageUsers.razor index 3aa1fb61..48aea7aa 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageUsers.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageUsers.razor @@ -108,6 +108,9 @@ + + + @{ var transfer2 = (UserModelDtoDetail)EditFormContext.EditModel; From 066c279a48a4547b0cb5098c5970b0a8f7076a28 Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 29 May 2024 16:14:25 +0200 Subject: [PATCH 3/3] Sumup phase 2 merged --- .../Pages/CreateSumupPaymentPage.razor | 9 ++++- TIAMSharedUI/Pages/SumupPayment.razor | 34 +++++++++++++++++++ .../User/SysAdmins/AddressGridComponent.razor | 8 ++--- .../Pages/User/SysAdmins/ManageUsers.razor | 7 ++-- 4 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 TIAMSharedUI/Pages/SumupPayment.razor diff --git a/TIAMSharedUI/Pages/CreateSumupPaymentPage.razor b/TIAMSharedUI/Pages/CreateSumupPaymentPage.razor index 7df7293d..eb693f1b 100644 --- a/TIAMSharedUI/Pages/CreateSumupPaymentPage.razor +++ b/TIAMSharedUI/Pages/CreateSumupPaymentPage.razor @@ -8,15 +8,22 @@ +Pay Now + @code { + private string checkoutId; + private string checkoutUrl = "sumuppayment/3a278990-9eee-4310-9d02-da5c769847fe"; + private async Task CreatePaymentLink() { Transfer subject = new Transfer(); subject.Id = Guid.NewGuid(); subject.Price = 17000; subject.ContactEmail = "fyloruta@citmo.net"; - subject.OrderId = 1232131; + subject.OrderId = 1232132; var paymentLink = await SumUpService.CreatePaymentLinkAsync(subject); + checkoutId = paymentLink; + checkoutUrl = "sumuppayment/" + checkoutId; Console.WriteLine($"Payment Link: {paymentLink}"); } } diff --git a/TIAMSharedUI/Pages/SumupPayment.razor b/TIAMSharedUI/Pages/SumupPayment.razor new file mode 100644 index 00000000..eec667a5 --- /dev/null +++ b/TIAMSharedUI/Pages/SumupPayment.razor @@ -0,0 +1,34 @@ +@page "/sumuppayment/{checkoutId}" + +@inject IJSRuntime JSRuntime +@code { + [Parameter] + public string checkoutId { get; set; } = ""; + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + if (firstRender) + { + await JSRuntime.InvokeVoidAsync("loadSumUpPaymentWidget", checkoutId); + } + } +} + +
+ \ No newline at end of file diff --git a/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor index 1b966272..0a85403b 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/AddressGridComponent.razor @@ -89,14 +89,14 @@ case ("userprofile"): //get profile for user UserModelDto resultData = (UserModelDto)AddressContext; - if (resultData.UserDto.Profile.Address != null) - _detailGridData.Add(resultData.UserDto.Profile.Address); + if (resultData.ProfileDto.Address != null) + _detailGridData.Add(resultData.ProfileDto.Address); break; case ("userdetailprofile"): //get profile for user UserModelDtoDetail resultData2 = (UserModelDtoDetail)AddressContext; - if (resultData2.UserDto.Profile.Address != null) - _detailGridData.Add(resultData2.UserDto.Profile.Address); + if (resultData2.ProfileDto.Address != null) + _detailGridData.Add(resultData2.ProfileDto.Address); break; case ("productprofile"): //get profile for user diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageUsers.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageUsers.razor index 5a820f9f..3d7bb033 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageUsers.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageUsers.razor @@ -89,7 +89,7 @@ - + @@ -119,10 +119,7 @@ @EditFormContext.GetEditor("UserDto.EmailAddress") - - - @EditFormContext.GetEditor("UserDto.EmailAddress") - + @EditFormContext.GetEditor("UserDto.EmailConfirmed")