@page "/sysadmin/companies" @using BlazorAnimation @using TIAM.Entities.ServiceProviders @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.Utility @using TIAMWebApp.Shared.Application.Services @using AyCode.Core.Extensions; @using TIAM.Entities.Addresses @using TIAMSharedUI.Shared.Components.Grids @using AyCode.Core @using TIAM.Entities.Products @using TIAM.Entities.Users @using TIAM.Services @using TIAMSharedUI.Shared.Components.BaseComponents @inherits UserBasePageComponent @layout AdminLayout @inject IWizardProcessor wizardProcessor @inject IServiceProviderDataService serviceProviderDataService @inject IUserDataService userDataService @inject AdminSignalRClient AdminSignalRClient; Admin - Companies

Partners

Manage partners here!

@* *@
@{ var keyField = context.Value as Guid?; if (keyField.IsNullOrEmpty()) { } else { @keyField.Value.ToString("N") } } @* *@ @* *@ @{ var transfer2 = (Company)EditFormContext.EditModel; } @EditFormContext.GetEditor("Name") @EditFormContext.GetEditor("CommissionPercent")
@code { private LoggerClient _logger; private ProductDetailGridComponent? _productDetailGridComponent; //public Transfer myModel = new Transfer(); //public List ServiceProviderDataList { get; set; } private bool _sendMailPopupVisible; private bool _setOwnerPopupVisible; private CompanyGrid _gridCompany; private Company _companyToSetOwner = null; public List IgnoreList = [ "ReceiverEmailAddress", "ReceiverFullName", "ReceiverId", "SenderEmailAddress", "SenderFullName", "SenderId", "ContextId", ]; private MessageWizardModel _messageWizardModel = new(); 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(); void SendMail(Company item) { _logger.Info($"Sending mail to {item.OwnerId}, {item.Id}"); _messageWizardModel.ReceiverId = Guid.Parse(""); _messageWizardModel.ContextId = item.Id; _messageWizardModel.SenderEmailAddress = ""; _messageWizardModel.ReceiverEmailAddress = ""; _messageWizardModel.ReceiverFullName = ""; _sendMailPopupVisible = true; } void SetOwnerPopup(Company item) { _logger.Info($"Setting owner of {item.OwnerId}, {item.Id}"); _companyToSetOwner = item; _setOwnerPopupVisible = true; } async Task SetOwner() { //get user id from DB var userModelDto = await userDataService.GetUserByEmailAsync(Email); //overwrite ServiceProvider ownerid //var target = await serviceProviderDataService.GetServiceProviderByIdAsync(CompanyToSetOwner.Id); if (_companyToSetOwner == null) { return null; } else { _companyToSetOwner.OwnerId = userModelDto.Id; var result = await serviceProviderDataService.UpdateServiceProviderAsync(_companyToSetOwner); _setOwnerPopupVisible = false; _companyToSetOwner = null; return result; } } void CancelCreateClick() { _sendMailPopupVisible = false; } void EulaPopupClosed() { //cancel clicked } void EulaPopupClosing(PopupClosingEventArgs args) { //myModel = new TransferWizardModel(); _messageWizardModel = new MessageWizardModel(); } //----------------------------------------------------------------------------------- public async Task SubmitForm(object result) { var messageModel = result as MessageWizardModel; messageModel.ContextId = _messageWizardModel.ContextId; //messageModel.SenderId = sessionService.User.UserId; string FormatEmailContent() { return $@"

Dear {messageModel.SenderFullName},

{messageModel.Content}:

Best regards,
Tour I Am team

"; } messageModel.Content = FormatEmailContent(); _logger.Info(messageModel.Content); var email = await wizardProcessor.ProcessWizardAsync(result.GetType(), messageModel); _logger.Info($"Submitted nested form: {result.GetType().FullName}"); } void Grid_CustomizeElement(GridCustomizeElementEventArgs e) { //TODO mark non active partners } void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e) { if (!e.IsNew) { } else { var companyEditModel = (Company)e.EditModel; //TODO not valid cast companyEditModel.Id = Guid.NewGuid(); companyEditModel.AffiliateId = Guid.NewGuid(); companyEditModel.Name = "Company name"; companyEditModel.OwnerId = Guid.Empty; companyEditModel.ProfileId = Guid.NewGuid(); } } protected override async Task OnInitializedAsync() { _logger = new LoggerClient(_logWriters.ToArray()); await base.OnInitializedAsync(); } private void OnProductGridItemSaving(GridEditModelSavingEventArgs e) { _logger.Detail($"OnProductGridItemSaving"); var company = _productDetailGridComponent!.ParentData as Company; if (company == null || company.OwnerId.IsNullOrEmpty()) { e.Cancel = true; _logger.Error($"OnProductGridItemSaving; company == null || company.OwnerId.IsNullOrEmpty(); company.OwnerId: {company?.OwnerId}"); return; } var product = ((Product)e.EditModel); if (e.IsNew) { if (product.Id.IsNullOrEmpty()) product.Id = Guid.NewGuid(); product.ServiceProviderId = company.Id; product.UserProductMappings.Add(new UserProductMapping(company.OwnerId.Value, product.Id) { IsAdmin = true }); } else { } } void ColumnChooserButton_Click() { _gridCompany.ShowColumnChooser(); } protected override void OnAfterRender(bool firstRender) { if (firstRender) { _gridCompany.ExpandDetailRow(0); } } private void ActiveTabIndexChanged(int index) { _logger.Detail($"ActiveTabIndexChanged"); } }