@page "/sysadmin/userproductmappings" @using BlazorAnimation @using TIAM.Models.Dtos.Users @using TIAM.Resources @using TIAM.Services @using TIAMSharedUI.Pages.Components @using TIAMSharedUI.Shared @using TIAMWebApp.Shared.Application.Interfaces @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Models.PageModels @using TIAMWebApp.Shared.Application.Utility @using AyCode.Services.Loggers @using AyCode.Core.Helpers @using AyCode.Core.Consts @using TIAMSharedUI.Shared.Components.BaseComponents @inherits UserBasePageComponent @layout AdminLayout @inject IWizardProcessor WizardProcessor @inject IUserDataService UserDataService User permissions

User permissions

Manage transfers here!

@code { private LoggerClient _logger; //public UserModelDtoDetail UserModelDtoDetail = new(); bool PopupVisible { get; set; } IGrid Grid { get; set; } //object? MasterGridData { get; set; } public List IgnoreList = [ "ReceiverEmailAddress", "ReceiverId", "SenderEmailAddress", "SenderId", "ContextId" ]; void Grid_CustomizeElement(GridCustomizeElementEventArgs e) { if (e.ElementType == GridElementType.DataRow && e.VisibleIndex % 2 == 1) { e.CssClass = "bg-alt"; } else if (e.ElementType == GridElementType.HeaderCell) { e.Style = "background-color: rgba(0, 0, 0, 0.08); font-style=bold"; } } void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e) { if (!e.IsNew) return; var userEditModel = (UserModelDtoDetail)e.EditModel; //TODO not valid cast userEditModel.Id = Guid.NewGuid(); userEditModel.UserDto = new UserDtoDetail { AffiliateId = Guid.NewGuid(), EmailAddress = "", PhoneNumber = "" }; userEditModel.ProfileDto = new TIAM.Entities.Profiles.Profile { Name = "New user" }; userEditModel.Products = []; userEditModel.ServiceProviders = []; userEditModel.UserProductMappings = []; } async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e) { var userModelDtoDetail = ((UserModelDtoDetail)e.EditModel); if (e.IsNew) { //add new orderData to orderData array var registration = new RegistrationModel(); //TODO: Refractor to userDataService // var random = new Random(); // const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; // var password = new string(Enumerable.Repeat(chars, 10) // .Select(s => s[random.Next(s.Length)]).ToArray()); var password = AcCharsGenerator.NewPassword(AcConst.MinPasswordLength, 16); registration.Email = userModelDtoDetail.UserDto.EmailAddress; registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber; registration.Password = password; registration.ReferralId = null; await UserDataService.CreateGuestUser(registration); _logger.Info("New user created added"); } else { _logger.Info("orderData updated at id " + userModelDtoDetail.Id); //await transferDataService.UpdateTransferAsync((TransferWizardModel)e.EditModel); //modify transferData where transferData.Id == e.EditModel.Id } //get transfer from TransferData by Id // foreach (var transferToModify in (List)TransferData) // { // myModel = (Transfer)e.EditModel; // if (transferToModify.Id == myModel.Id) // { // //transferToModify.Driver = myModel.Driver; // } // } } protected override void OnInitialized() { _logger = new LoggerClient(_logWriters.ToArray()); base.OnInitialized(); } void ColumnChooserButton_Click() { Grid.ShowColumnChooser(); } }