Compare commits

..

No commits in common. "67520f8b620ecfa17cee5a2a056803e78593c876" and "7a4e73fa8f7c490c3f381e2cacb906baf9a83619" have entirely different histories.

12 changed files with 328 additions and 444 deletions

View File

@ -13,9 +13,9 @@ public class SignalRTags : AcSignalRTags
[SignalMessageTag(typeof(SignalPostJsonDataMessage<Transfer>), typeof(SignalResponseMessage<string>), null, null)] [SignalMessageTag(typeof(SignalPostJsonDataMessage<Transfer>), typeof(SignalResponseMessage<string>), null, null)]
public const int UpdateTransferAsync = 7; public const int UpdateTransferAsync = 7;
public const int AddTransferAsync = 8; public const int AddTransferAsync = 8;
public const int RemoveTransferAsync = 9; public const int DeleteTransferAsync = 9;
public const int GetCompaniesAsync = 10; public const int GetCompaniesAsync = 10;
public const int UpdateCompanyAsync = 11; public const int UpdateCompanyAsync = 11;
public const int AddCompanyAsync = 12; public const int CreateCompanyAsync = 12;
public const int RemoveCompanyAsync = 13; public const int DeleteCompanyAsync = 13;
} }

View File

@ -10,13 +10,11 @@
@using AyCode.Services.Loggers @using AyCode.Services.Loggers
@using TIAMWebApp.Shared.Application.Services @using TIAMWebApp.Shared.Application.Services
@using AyCode.Core.Helpers @using AyCode.Core.Helpers
@using TIAMSharedUI.Shared.Components.Grids
@layout AdminLayout @layout AdminLayout
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject IStringLocalizer<TIAMResources> localizer @inject IStringLocalizer<TIAMResources> localizer
@inject ISessionService SessionService @inject ISessionService SessionService
@inject IServiceProviderDataService ServiceProviderDataService @inject IServiceProviderDataService ServiceProviderDataService
@inject AdminSignalRClient AdminSignalRClient;
<h3>Properties</h3> <h3>Properties</h3>
@ -64,14 +62,14 @@
</FooterContentTemplate> </FooterContentTemplate>
</DxPopup>*@ </DxPopup>*@
<CompanyGrid @ref="_gridCompany" <DxGrid @ref="Grid"
Logger="_logger" Data="ServiceProviderData"
SignalRClient="AdminSignalRClient"
PageSize="12" PageSize="12"
KeyFieldName="Id" KeyFieldName="Id"
ValidationEnabled="false" ValidationEnabled="false"
CustomizeEditModel="Grid_CustomizeEditModel" CustomizeEditModel="Grid_CustomizeEditModel"
EditModelSaving="Grid_EditModelSaving"
DataItemDeleting="Grid_DataItemDeleting"
EditMode="GridEditMode.EditRow" EditMode="GridEditMode.EditRow"
KeyboardNavigationEnabled="true"> KeyboardNavigationEnabled="true">
<Columns> <Columns>
@ -85,7 +83,7 @@
<DxGridDataColumn FieldName="OwnerId" MinWidth="80" /> <DxGridDataColumn FieldName="OwnerId" MinWidth="80" />
</Columns> </Columns>
</CompanyGrid> </DxGrid>
</div> </div>
@ -109,7 +107,8 @@
@code { @code {
private LoggerClient<MyServiceProviders> _logger; private LoggerClient<MyServiceProviders> _logger;
private CompanyGrid _gridCompany; IGrid Grid { get; set; }
Company[]? ServiceProviderData { get; set; }
public ServiceProviderWizardModel myModel = new ServiceProviderWizardModel(); public ServiceProviderWizardModel myModel = new ServiceProviderWizardModel();
@ -146,7 +145,7 @@
protected override async Task OnAfterRenderAsync(bool firstRender) protected override async Task OnAfterRenderAsync(bool firstRender)
{ {
if (firstRender) if (firstRender)
await _gridCompany.StartEditRowAsync(0); await Grid.StartEditRowAsync(0);
} }
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e) void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
@ -159,6 +158,34 @@
} }
} }
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
{
if (e.IsNew)
//add new orderData to orderData array
_logger.Info("New orderData added");
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
else
_logger.Info("orderData updated");
//modify orderData where orderData.Name == e.EditModel.Name
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
await UpdateDataAsync();
}
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
{
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
_logger.Info("orderData deleted");
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
//refresh grid
_logger.Info("orderData grid refreshed");
}
protected override Task OnInitializedAsync() protected override Task OnInitializedAsync()
{ {
_logger = new LoggerClient<MyServiceProviders>(LogWriters.ToArray()); _logger = new LoggerClient<MyServiceProviders>(LogWriters.ToArray());

View File

@ -20,7 +20,6 @@
@using MessagePack.Resolvers @using MessagePack.Resolvers
@using AyCode.Core.Extensions; @using AyCode.Core.Extensions;
@using AyCode.Utils.Extensions @using AyCode.Utils.Extensions
@using TIAMSharedUI.Shared.Components.Grids
@layout AdminLayout @layout AdminLayout
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject IStringLocalizer<TIAMResources> localizer @inject IStringLocalizer<TIAMResources> localizer
@ -28,7 +27,7 @@
@inject IServiceProviderDataService serviceProviderDataService @inject IServiceProviderDataService serviceProviderDataService
@inject IUserDataService userDataService @inject IUserDataService userDataService
@inject ISessionService sessionService @inject ISessionService sessionService
@inject AdminSignalRClient AdminSignalRClient; @inject DevAdminSignalClient devAdminSignalClient;
<PageTitle>Admin - Companies</PageTitle> <PageTitle>Admin - Companies</PageTitle>
<div class="text-center m-5"> <div class="text-center m-5">
@ -36,9 +35,11 @@
<h2 style="font-size:small">Manage transfers here!</h2> <h2 style="font-size:small">Manage transfers here!</h2>
</div> </div>
<DxPopup @bind-Visible="@_setOwnerPopupVisible" <DxPopup
@bind-Visible="@SetOwnerPopupVisible"
ShowFooter="true" ShowFooter="true"
HeaderText="Set owner by adding E-mail address"> HeaderText="Set owner by adding E-mail address"
>
<BodyContentTemplate> <BodyContentTemplate>
<label for="emailID" class="demo-text mt-4 mb-1"> <label for="emailID" class="demo-text mt-4 mb-1">
Put user email here Put user email here
@ -51,13 +52,13 @@
</BodyContentTemplate> </BodyContentTemplate>
<FooterContentTemplate> <FooterContentTemplate>
<DxButton CssClass="popup-button my-1 ms-2" RenderStyle="ButtonRenderStyle.Primary" Text="OK" Click="@(() => _setOwnerPopupVisible = false)" /> <DxButton CssClass="popup-button my-1 ms-2" RenderStyle="ButtonRenderStyle.Primary" Text="OK" Click="@(() => SetOwnerPopupVisible = false)" />
@* <DxButton CssClass="popup-button my-1 ms-2" RenderStyle="ButtonRenderStyle.Secondary" Text="Cancel" Click="@(() => SetOwnerPopupVisible = false)" /> *@ @* <DxButton CssClass="popup-button my-1 ms-2" RenderStyle="ButtonRenderStyle.Secondary" Text="Cancel" Click="@(() => SetOwnerPopupVisible = false)" /> *@
</FooterContentTemplate> </FooterContentTemplate>
</DxPopup> </DxPopup>
<DxPopup CssClass="popup-demo-events" <DxPopup CssClass="popup-demo-events"
@bind-Visible="@_sendMailPopupVisible" @bind-Visible="@SendMailPopupVisible"
ShowFooter="true" ShowFooter="true"
CloseOnEscape="true" CloseOnEscape="true"
CloseOnOutsideClick="false" CloseOnOutsideClick="false"
@ -87,14 +88,14 @@
<div class=" col-12"> <div class=" col-12">
<Animation Effect="@Effect.Pulse" Class="glass" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)"> <Animation Effect="@Effect.Pulse" Class="glass" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
<div class="card"> <div class="card">
<CompanyGrid @ref="_gridCompany" <DxGrid @ref="Grid2"
Logger="_logger" Data="ServiceProviderDataList"
SignalRClient="AdminSignalRClient" AutoCollapseDetailRow="AutoCollapseDetailRow"
AutoCollapseDetailRow="_autoCollapseDetailRow"
KeyboardNavigationEnabled="true" KeyboardNavigationEnabled="true"
CustomizeElement="Grid_CustomizeElement" CustomizeElement="Grid_CustomizeElement"
CustomizeEditModel="Grid_CustomizeEditModel" CustomizeEditModel="Grid_CustomizeEditModel"
EditModelSaving="Grid_EditModelSaving"
DataItemDeleting="Grid_DataItemDeleting"
EditMode="GridEditMode.EditForm" EditMode="GridEditMode.EditForm"
ColumnResizeMode="GridColumnResizeMode.NextColumn" ColumnResizeMode="GridColumnResizeMode.NextColumn"
ShowFilterRow="true" ShowFilterRow="true"
@ -112,7 +113,8 @@
if (keyField.IsNullOrEmpty()) if (keyField.IsNullOrEmpty())
{ {
<DxButton Click="() => SetOwnerPopup(keyItem)" Text="Set owner" RenderStyle="ButtonRenderStyle.Primary" /> string buttonText = "Set owner";
<DxButton Click="() => SetOwnerPopup(keyItem)" Text="@buttonText" RenderStyle="ButtonRenderStyle.Primary"/>
} }
else else
{ {
@ -152,7 +154,7 @@
</EditFormTemplate> </EditFormTemplate>
</CompanyGrid> </DxGrid>
</div> </div>
@ -172,14 +174,10 @@
//public Transfer myModel = new Transfer(); //public Transfer myModel = new Transfer();
//public List<Company> ServiceProviderDataList { get; set; } public List<Company> ServiceProviderDataList { get; set; }
private bool _sendMailPopupVisible;
private bool _setOwnerPopupVisible;
private CompanyGrid _gridCompany;
private bool _autoCollapseDetailRow;
bool SendMailPopupVisible { get; set; }
bool SetOwnerPopupVisible { get; set; }
public List<string> IgnoreList = public List<string> IgnoreList =
[ [
"ReceiverEmailAddress", "ReceiverEmailAddress",
@ -194,10 +192,10 @@
private MessageWizardModel _messageWizardModel = new(); private MessageWizardModel _messageWizardModel = new();
private string Email { get; set; } = "email@email.com"; private string Email { get; set; } = "email@email.com";
string EmailMask { get; set; } = @"(\w|[.-])+@(\w|-)+\.(\w|-){2,4}"; string EmailMask { get; set; } = @"(\w|[.-])+@(\w|-)+\.(\w|-){2,4}";
DateTime StartDate { get; set; } = DateTime.Today; DateTime StartDate { get; set; } = DateTime.Today;
DxSchedulerDataStorage _dataStorage = new(); DxSchedulerDataStorage _dataStorage = new();
void SendMail(Company item) void SendMail(Company item)
{ {
_logger.Info($"Sending mail to {item.OwnerId}, {item.Id}"); _logger.Info($"Sending mail to {item.OwnerId}, {item.Id}");
@ -206,14 +204,14 @@
_messageWizardModel.SenderEmailAddress = ""; _messageWizardModel.SenderEmailAddress = "";
_messageWizardModel.ReceiverEmailAddress = ""; _messageWizardModel.ReceiverEmailAddress = "";
_messageWizardModel.ReceiverFullName = ""; _messageWizardModel.ReceiverFullName = "";
_sendMailPopupVisible = true; SendMailPopupVisible = true;
} }
void SetOwnerPopup(Company item) void SetOwnerPopup(Company item)
{ {
_logger.Info($"Setting owner of {item.OwnerId}, {item.Id}"); _logger.Info($"Setting owner of {item.OwnerId}, {item.Id}");
_setOwnerPopupVisible = true; SetOwnerPopupVisible = true;
} }
async Task<Company> SetOwner(Guid CompanyId) async Task<Company> SetOwner(Guid CompanyId)
@ -231,15 +229,16 @@
{ {
target.OwnerId = userModelDto.Id; target.OwnerId = userModelDto.Id;
var result = await serviceProviderDataService.UpdateServiceProviderAsync(target); var result = await serviceProviderDataService.UpdateServiceProviderAsync(target);
return result; return result;
} }
} }
void CancelCreateClick() void CancelCreateClick()
{ {
_sendMailPopupVisible = false; SendMailPopupVisible = false;
} }
void EulaPopupClosed() void EulaPopupClosed()
{ {
@ -301,35 +300,102 @@
companyEditModel.OwnerId = Guid.Empty; companyEditModel.OwnerId = Guid.Empty;
companyEditModel.ProfileId = Guid.NewGuid(); companyEditModel.ProfileId = Guid.NewGuid();
} }
}
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
{
Company resultCompany = null;
if (e.IsNew)
{
_logger.Info("New company adding");
resultCompany = await serviceProviderDataService.CreateServiceProviderAsync((Company)e.EditModel);
}
else
{
_logger.Info("company updating at id " + ((Company)e.EditModel).Id);
resultCompany = await serviceProviderDataService.UpdateServiceProviderAsync((Company)e.EditModel);
}
if (resultCompany!=null)
{
//TODO: ne a teljes grid-et refresh-eljük, elég lenne csak az adott sort! - J.
await UpdateDataAsync();
}
}
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
{
var company = (Company)e.DataItem;
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
_logger.Info($"companyData deleting; companyId: {company.Id}");
var response = await devAdminSignalClient.PostDataAsync(SignalRTags.DeleteCompanyAsync, company);
//resultCompany = await serviceProviderDataService.DeleteServiceProviderAsync(company.Id);
//await UpdateDataAsync();
}
async Task UpdateDataAsync()
{
ServiceProviderDataList = await serviceProviderDataService.GetServiceProvidersAsync();
//StateHasChanged();
_logger.Info("orderData grid refreshed");
} }
protected override async Task OnInitializedAsync() protected override async Task OnInitializedAsync()
{ {
_logger = new LoggerClient<ManageServiceProviders>(LogWriters.ToArray()); _logger = new LoggerClient<ManageServiceProviders>(LogWriters.ToArray());
await base.OnInitializedAsync(); await UpdateDataAsync();
//var transfers = await devAdminSignalClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersAsync);
//InitializeDataSources(transfers ?? []);
//InitializeDataSources(await transferDataService.GetTransfersAsync());
base.OnInitializedAsync();
} }
void ColumnChooserButton_Click() void ColumnChooserButton_Click()
{ {
_gridCompany.ShowColumnChooser(); Grid2.ShowColumnChooser();
} }
IGrid Grid2 { get; set; }
object MasterGridData { get; set; }
bool AutoCollapseDetailRow { get; set; }
protected override void OnAfterRender(bool firstRender) protected override void OnAfterRender(bool firstRender)
{ {
if (firstRender) if (firstRender)
{ {
_gridCompany.ExpandDetailRow(0); Grid2.ExpandDetailRow(0);
} }
} }
void AutoCollapseDetailRow_Changed(bool newValue) void AutoCollapseDetailRow_Changed(bool newValue)
{ {
_autoCollapseDetailRow = newValue; AutoCollapseDetailRow = newValue;
if (!newValue) return; if (!newValue) return;
_gridCompany.BeginUpdate(); Grid2.BeginUpdate();
_gridCompany.CollapseAllDetailRows(); Grid2.CollapseAllDetailRows();
_gridCompany.ExpandDetailRow(0); Grid2.ExpandDetailRow(0);
_gridCompany.EndUpdate(); Grid2.EndUpdate();
} }
} }
}

View File

@ -11,16 +11,22 @@
@using TIAMWebApp.Shared.Application.Models.PageModels @using TIAMWebApp.Shared.Application.Models.PageModels
@using TIAMWebApp.Shared.Application.Utility @using TIAMWebApp.Shared.Application.Utility
@using AyCode.Services.Loggers @using AyCode.Services.Loggers
@using AyCode.Services.SignalRs
@using TIAMWebApp.Shared.Application.Services @using TIAMWebApp.Shared.Application.Services
@using TIAMSharedUI.Shared.Components @using MessagePack
@using TIAMSharedUI.Shared.Components.Grids @using MessagePack.Resolvers
@using AyCode.Core.Extensions;
@using AyCode.Core
@using AyCode.Core.Helpers
@using AyCode.Interfaces.Entities
@using TIAM.Services
@layout AdminLayout @layout AdminLayout
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject IStringLocalizer<TIAMResources> localizer @inject IStringLocalizer<TIAMResources> localizer
@inject IWizardProcessor wizardProcessor @inject IWizardProcessor wizardProcessor
@inject ITransferDataService transferDataService @inject ITransferDataService transferDataService
@inject ISessionService sessionService @inject ISessionService sessionService
@inject AdminSignalRClient AdminSignalRClient; @inject DevAdminSignalClient devAdminSignalClient;
<PageTitle>Transfers</PageTitle> <PageTitle>Transfers</PageTitle>
<div class="text-center m-5"> <div class="text-center m-5">
@ -30,7 +36,7 @@
<DxPopup CssClass="popup-demo-events" <DxPopup CssClass="popup-demo-events"
@bind-Visible="@_popupVisible" @bind-Visible="@PopupVisible"
ShowFooter="true" ShowFooter="true"
CloseOnEscape="true" CloseOnEscape="true"
CloseOnOutsideClick="false" CloseOnOutsideClick="false"
@ -72,18 +78,14 @@
Click="ColumnChooserButton_Click" /> Click="ColumnChooserButton_Click" />
</div> </div>
<TransferGrid @ref="_gridTransfer" <DxGrid @ref="Grid2"
Logger="_logger" Data="TransferDataList"
SignalRClient="AdminSignalRClient" AutoCollapseDetailRow="AutoCollapseDetailRow"
OnDataSourceChanged="DataSourceChanged" KeyboardNavigationEnabled="true"
OnDataSourceItemChanged="DataSourceItemChanged"
OnDataItemDeleting="DataItemDeleting"
OnDataItemSaving="DataItemSaving"
CustomizeElement="Grid_CustomizeElement" CustomizeElement="Grid_CustomizeElement"
CustomizeEditModel="Grid_CustomizeEditModel" CustomizeEditModel="Grid_CustomizeEditModel"
AutoCollapseDetailRow="_autoCollapseDetailRow" EditModelSaving="Grid_EditModelSaving"
KeyboardNavigationEnabled="true" DataItemDeleting="Grid_DataItemDeleting"
EditMode="GridEditMode.EditForm" EditMode="GridEditMode.EditForm"
ColumnResizeMode="GridColumnResizeMode.NextColumn" ColumnResizeMode="GridColumnResizeMode.NextColumn"
ShowFilterRow="true" ShowFilterRow="true"
@ -131,7 +133,7 @@
</DxGridDataColumn> </DxGridDataColumn>
</Columns> </Columns>
<DetailRowTemplate> <DetailRowTemplate>
<Grid_MasterDetail_NestedGrid_DetailContent Customer="(Transfer)context.DataItem" KeyboardNavigationEnabled="true" /> <Grid_MasterDetail_NestedGrid_DetailContent Customer="(TIAM.Entities.Transfers.Transfer)context.DataItem" KeyboardNavigationEnabled="true" />
</DetailRowTemplate> </DetailRowTemplate>
<EditFormTemplate Context="EditFormContext"> <EditFormTemplate Context="EditFormContext">
@{ @{
@ -170,7 +172,8 @@
</EditFormTemplate> </EditFormTemplate>
</TransferGrid> </DxGrid>
</div> </div>
</DxTabPage> </DxTabPage>
@ -212,9 +215,16 @@
@code { @code {
private LoggerClient<ManageTransfers> _logger; private LoggerClient<ManageTransfers> _logger;
private bool _popupVisible; //public Transfer myModel = new Transfer();
private bool _autoCollapseDetailRow;
private TransferGrid _gridTransfer; public List<Transfer> TransferDataList { get; set; }
bool PopupVisible { get; set; }
IGrid Grid2 { get; set; }
object MasterGridData { get; set; }
bool AutoCollapseDetailRow { get; set; }
public List<string> IgnoreList = public List<string> IgnoreList =
[ [
@ -256,21 +266,19 @@
_messageWizardModel.SenderEmailAddress = "info@touriam.com"; _messageWizardModel.SenderEmailAddress = "info@touriam.com";
_messageWizardModel.ReceiverEmailAddress = item.ContactEmail; _messageWizardModel.ReceiverEmailAddress = item.ContactEmail;
_messageWizardModel.ReceiverFullName = item.FullName; _messageWizardModel.ReceiverFullName = item.FullName;
_popupVisible = true; PopupVisible = true;
} }
void CancelCreateClick() void CancelCreateClick()
{ {
_popupVisible = false; PopupVisible = false;
} }
void EulaPopupClosed() void EulaPopupClosed()
{ {
//cancel clicked //cancel clicked
} }
void EulaPopupClosing(PopupClosingEventArgs args) void EulaPopupClosing(PopupClosingEventArgs args)
{ {
//myModel = new TransferWizardModel(); //myModel = new TransferWizardModel();
@ -297,7 +305,6 @@
</body> </body>
</html>"; </html>";
} }
messageModel.Content = FormatEmailContent(); messageModel.Content = FormatEmailContent();
_logger.Info(messageModel.Content); _logger.Info(messageModel.Content);
@ -308,23 +315,22 @@
void Grid_CustomizeElement(GridCustomizeElementEventArgs e) void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
{ {
if (e.ElementType == GridElementType.DataRow && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 5) if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 5)
{ {
e.CssClass = "bg-important"; e.CssClass = "bg-important";
} }
else if (e.ElementType == GridElementType.DataRow && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") > 5 && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") < 35) else if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") > 5 && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") < 35)
{ {
e.CssClass = "bg-attention"; e.CssClass = "bg-attention";
} }
else if (e.ElementType == GridElementType.DataRow && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 35) else if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 35)
{ {
e.CssClass = "bg-finished"; e.CssClass = "bg-finished";
} }
else if (e.ElementType == GridElementType.DataRow && (byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") > 35) else if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") > 35)
{ {
e.CssClass = "bg-cancel"; e.CssClass = "bg-cancel";
} }
if (e.ElementType == GridElementType.HeaderCell) if (e.ElementType == GridElementType.HeaderCell)
{ {
e.Style = "background-color: rgba(0, 0, 0, 0.08)"; e.Style = "background-color: rgba(0, 0, 0, 0.08)";
@ -348,30 +354,64 @@
transferEditModel.ContactEmail = "your@email.address"; transferEditModel.ContactEmail = "your@email.address";
} }
private void DataItemSaving(GridEditModelSavingEventArgs e) async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
{ {
_logger.Info("DataItemSaving called"); var transfer = (Transfer)e.DataItem;
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
//remove orderData from orderData array
_logger.Info("transfer delete");
PostDataToServerAsync(transfer, SignalRTags.DeleteTransferAsync, true).Forget();
//await UpdateDataAsync();
} }
private void DataItemDeleting(GridDataItemDeletingEventArgs e)
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
{ {
_logger.Info($"DataItemDeleting OnItemDeleting"); var transfer = (Transfer)e.EditModel;
var logText = e.IsNew ? "add" : "update";
_logger.Info($"EditModelSaving, {logText} transfer; transferId " + transfer.Id);
PostDataToServerAsync(transfer, e.IsNew ? SignalRTags.AddTransferAsync : SignalRTags.UpdateTransferAsync).Forget();
//await transferDataService.CreateTransfer((TransferWizardModel)e.EditModel);
//transfer = await transferDataService.UpdateTransferAsync(transfer);
} }
private void DataSourceChanged(IList<Transfer> transfers) private Task PostDataToServerAsync<T>(T transfer, int messageTag, bool isDelete = false) where T : Transfer //IEntityGuid
{ {
_logger.Info("DataSourceChanged called"); _logger.Info("PostDataToServerAsync called; transferId " + transfer.Id);
InitializeAppointments(transfers); RefreshDataSources(transfer, isDelete); //egyből látszódik a változás a grid-ben, nem csak a callback lefutásakor! felhasználóbarátabb... - J.
return devAdminSignalClient.PostDataAsync(messageTag, transfer, repsonse =>
{
if (repsonse.Status != SignalResponseStatus.Success || repsonse.ResponseData == null)
{
UpdateAllDataAsync().Forget();
return;
} }
private void DataSourceItemChanged(Transfer transfer) RefreshDataSources(repsonse.ResponseData, isDelete);
{ StateHasChanged();
_logger.Info("DataSourceItemChanged called"); });
//transfer = await devAdminSignalClient.PostDataAsync(SignalRTags.UpdateTransferAsync, transfer);
} }
private void RefreshAppointments(Transfer transfer, bool isDelete) private void RefreshDataSources(Transfer transfer, bool isDelete)
{ {
var transferIndex = TransferDataList.FindIndex(x => x.Id == transfer.Id);
if (isDelete && transferIndex > -1) TransferDataList.RemoveAt(transferIndex);
else
{
if (transferIndex > -1) TransferDataList[transferIndex] = transfer;
else TransferDataList.Add(transfer);
}
var appointmentIndex = AppointmentModels.FindIndex(x => x.SourceId == transfer.Id); var appointmentIndex = AppointmentModels.FindIndex(x => x.SourceId == transfer.Id);
if (isDelete && appointmentIndex > -1) AppointmentModels.RemoveAt(appointmentIndex); if (isDelete && appointmentIndex > -1) AppointmentModels.RemoveAt(appointmentIndex);
else else
@ -383,20 +423,41 @@
} }
} }
public Task UpdateAllDataAsync()
{
_logger.Info("UpdateAllDataAsync called");
return devAdminSignalClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersAsync, response =>
{
if (response.Status == SignalResponseStatus.Error)
return;
InitializeDataSources(response.ResponseData ?? []);
StateHasChanged();
});
}
protected override Task OnInitializedAsync() protected override Task OnInitializedAsync()
{ {
_logger = new LoggerClient<ManageTransfers>(LogWriters.ToArray()); _logger = new LoggerClient<ManageTransfers>(LogWriters.ToArray());
UpdateAllDataAsync().Forget();
//var transfers = await devAdminSignalClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersAsync);
//InitializeDataSources(transfers ?? []);
//InitializeDataSources(await transferDataService.GetTransfersAsync());
return base.OnInitializedAsync(); return base.OnInitializedAsync();
} }
private void InitializeAppointments(ICollection<Transfer> transferDataList) private void InitializeDataSources(List<Transfer> transferDataList)
{ {
_logger.Info("InitializeAppointments called"); TransferDataList = transferDataList;
AppointmentModels = new List<AppointmentModel>(TransferDataList.Count);
AppointmentModels = new List<AppointmentModel>(transferDataList.Count); foreach (var transfer in TransferDataList)
foreach (var transfer in transferDataList)
{ {
// var bnm = DataStorage.CreateAppointmentItem(); // var bnm = DataStorage.CreateAppointmentItem();
// bnm.Start = transfer.Appointment; // bnm.Start = transfer.Appointment;
@ -434,7 +495,7 @@
void ColumnChooserButton_Click() void ColumnChooserButton_Click()
{ {
_gridTransfer.ShowColumnChooser(); Grid2.ShowColumnChooser();
} }
@ -442,19 +503,24 @@
{ {
if (firstRender) if (firstRender)
{ {
_gridTransfer.ExpandDetailRow(0); Grid2.ExpandDetailRow(0);
} }
} }
void AutoCollapseDetailRow_Changed(bool newValue) void AutoCollapseDetailRow_Changed(bool newValue)
{ {
_autoCollapseDetailRow = newValue; AutoCollapseDetailRow = newValue;
if (!newValue) return; if (!newValue) return;
_gridTransfer.BeginUpdate(); Grid2.BeginUpdate();
_gridTransfer.CollapseAllDetailRows(); Grid2.CollapseAllDetailRows();
_gridTransfer.ExpandDetailRow(0); Grid2.ExpandDetailRow(0);
_gridTransfer.EndUpdate(); Grid2.EndUpdate();
}
} }
} }

View File

@ -1,32 +0,0 @@
using Microsoft.AspNetCore.Components;
using TIAM.Entities.ServiceProviders;
using TIAM.Services;
namespace TIAMSharedUI.Shared.Components.Grids;
public class CompanyGrid : TiamGrid<Company>
{
public CompanyGrid() : base()
{
GridName = nameof(CompanyGrid);
GetAllMessageTag = SignalRTags.GetCompaniesAsync;
AddMessageTag = SignalRTags.AddCompanyAsync;
UpdateMessageTag = SignalRTags.UpdateCompanyAsync;
RemoveMessageTag = SignalRTags.RemoveCompanyAsync;
}
protected override Task SetParametersAsyncCore(ParameterView parameters)
{
if (!IsInitializedParameters)
{
//ShowFilterRow = true;
//ShowGroupPanel = true;
//AllowSort = false;
//etc...
}
return base.SetParametersAsyncCore(parameters);
}
}

View File

@ -1,205 +0,0 @@
using System.ComponentModel;
using AyCode.Core.Helpers;
using AyCode.Interfaces.Entities;
using AyCode.Services.SignalRs;
using AyCode.Utils.Extensions;
using DevExpress.Blazor;
using DevExpress.Blazor.Internal;
using Microsoft.AspNetCore.Components;
using TIAMWebApp.Shared.Application.Services;
using TIAMWebApp.Shared.Application.Utility;
namespace TIAMSharedUI.Shared.Components.Grids
{
public class TiamGrid<TDataItem> : DxGrid where TDataItem : class, IEntityGuid
{
protected bool IsInitializedParameters;
private IList<TDataItem>? _dataSource;
private string _gridLogName;
public TiamGrid() : base()
{ }
[Parameter] public LoggerClient Logger { get; set; }
[Parameter] public string GridName { get; set; }
[Parameter] public AcSignalRClientBase SignalRClient { get; set; }
[Parameter] public int GetAllMessageTag { get; set; }
[Parameter] public int GetItemMessageTag { get; set; }
[Parameter] public int AddMessageTag { get; set; }
[Parameter] public int UpdateMessageTag { get; set; }
[Parameter] public int RemoveMessageTag { get; set; }
[Parameter]
[DefaultValue(null)]
[System.Diagnostics.CodeAnalysis.SuppressMessage("Usage", "BL0007:Component parameters should be auto properties", Justification = "<Pending>")]
public IList<TDataItem>? DataSource
{
get
{
if (_dataSource == null && Data != null)
{
Logger.Error($"{_gridLogName} Use the DataSource parameter instead of Data!");
throw new NullReferenceException($"{_gridLogName} Use the DataSource parameter instead of Data!");
}
return _dataSource;
}
set
{
_dataSource = value;
Data = _dataSource;
OnDataSourceChanged.InvokeAsync(_dataSource);
}
}
protected override void OnInitialized()
{
if (Logger == null)
throw new NullReferenceException($"[{GetType().Name}] Logger == null");
if (SignalRClient == null)
Logger.Error($"[{GetType().Name}] SignalRClient == null");
base.OnInitialized();
}
protected override async Task OnAfterRenderAsync(bool firstRender)
{
await base.OnAfterRenderAsync(firstRender);
if (firstRender) RefreshDataSourceAsync().Forget();
}
protected new EventCallback<GridDataItemDeletingEventArgs> DataItemDeleting { get; set; }
[Parameter] public EventCallback<GridDataItemDeletingEventArgs> OnDataItemDeleting{ get; set; }
protected new EventCallback<GridEditModelSavingEventArgs> EditModelSaving { get; set; }
[Parameter] public EventCallback<GridEditModelSavingEventArgs> OnDataItemSaving { get; set; }
[Parameter]
public EventCallback<IList<TDataItem>> OnDataSourceChanged { get; set; }
[Parameter]
public EventCallback<TDataItem> OnDataSourceItemChanged { get; set; }
private async Task OnItemSaving(GridEditModelSavingEventArgs e)
{
var dataItem = (e.EditModel as TDataItem)!;
var logText = e.IsNew ? "add" : "update";
Logger.Info($"{_gridLogName} OnItemSaving {logText}; Id: {dataItem.Id}");
await OnDataItemSaving.InvokeAsync(e);
if (e.Cancel)
{
Logger.Debug($"{_gridLogName} OnItemSaving {logText} canceled; Id: {dataItem.Id}");
return;
}
PostDataToServerAsync(dataItem, e.IsNew ? AddMessageTag : UpdateMessageTag).Forget();
//await transferDataService.CreateTransfer((TransferWizardModel)e.EditModel);
//transfer = await transferDataService.UpdateTransferAsync(transfer);
}
private async Task OnItemDeleting(GridDataItemDeletingEventArgs e)
{
Logger.Info($"{_gridLogName} OnItemDeleting");
await OnDataItemDeleting.InvokeAsync(e);
if (e.Cancel)
{
Logger.Debug($"{_gridLogName} OnItemDeleting canceled");
return;
}
var dataItem = (e.DataItem as TDataItem)!;
PostDataToServerAsync(dataItem, RemoveMessageTag, true).Forget();
}
public Task RefreshDataSourceAsync()
{
Logger.Info($"{_gridLogName} UpdateAllDataAsync called");
return SignalRClient.GetAllAsync<IList<TDataItem>>(GetAllMessageTag, response =>
{
if (response.Status == SignalResponseStatus.Error)
return;
BeginUpdate();
DataSource = response.ResponseData ?? [];
EndUpdate();
InvokeAsync(StateHasChanged).Forget();
});
}
private Task PostDataToServerAsync(TDataItem transfer, int messageTag, bool isDelete = false)
{
Logger.Info($"{_gridLogName} PostDataToServerAsync called; transferId " + transfer.Id);
RefreshDataSourceItem(transfer, isDelete, false); //egyből látszódik a változás a grid-ben, nem csak a callback lefutásakor! felhasználóbarátabb... - J.
return SignalRClient.PostDataAsync(messageTag, transfer, repsonse =>
{
if (repsonse.Status != SignalResponseStatus.Success || repsonse.ResponseData == null)
{
RefreshDataSourceAsync().Forget();
return;
}
RefreshDataSourceItem(repsonse.ResponseData, isDelete);
InvokeAsync(StateHasChanged).Forget();
});
//transfer = await devAdminSignalClient.PostDataAsync(SignalRTags.UpdateTransferAsync, transfer);
}
public Task RefreshDataSourceItem(TDataItem dataItem, bool isDelete, bool invokeItemChanged = true)
{
var transferIndex = _dataSource.FindIndex(x => x.Id == dataItem.Id);
if (isDelete && transferIndex > -1) _dataSource.RemoveAt(transferIndex);
else
{
if (transferIndex > -1) _dataSource[transferIndex] = dataItem;
else _dataSource.Add(dataItem);
}
return invokeItemChanged ? OnDataSourceItemChanged.InvokeAsync(dataItem) : Task.CompletedTask;
}
protected override Task SetParametersAsyncCore(ParameterView parameters)
{
if (!IsInitializedParameters)
{
base.DataItemDeleting = EventCallback.Factory.Create<GridDataItemDeletingEventArgs>(this, OnItemDeleting);
base.EditModelSaving = EventCallback.Factory.Create<GridEditModelSavingEventArgs>(this, OnItemSaving);
//ShowFilterRow = true;
//PageSize = 4;
//ShowGroupPanel = true;
//AllowSort = false;
IsInitializedParameters = true;
}
return base.SetParametersAsyncCore(parameters);
}
protected override void OnParametersSet()
{
base.OnParametersSet();
if (GridName.IsNullOrWhiteSpace()) GridName = $"{typeof(TDataItem).Name}Grid";
_gridLogName = $"[{GridName}]";
}
}
}

View File

@ -1,32 +0,0 @@
using Microsoft.AspNetCore.Components;
using TIAM.Entities.Transfers;
using TIAM.Services;
namespace TIAMSharedUI.Shared.Components.Grids;
public class TransferGrid : TiamGrid<Transfer>
{
public TransferGrid() : base()
{
GridName = nameof(TransferGrid);
GetAllMessageTag = SignalRTags.GetTransfersAsync;
AddMessageTag = SignalRTags.AddTransferAsync;
UpdateMessageTag = SignalRTags.UpdateTransferAsync;
RemoveMessageTag = SignalRTags.RemoveTransferAsync;
}
protected override Task SetParametersAsyncCore(ParameterView parameters)
{
if (!IsInitializedParameters)
{
//ShowFilterRow = true;
//ShowGroupPanel = true;
//AllowSort = false;
//etc...
}
return base.SetParametersAsyncCore(parameters);
}
}

View File

@ -28,8 +28,10 @@ else
//public PopupMessageBox PopupMessageBox { get; private set; } = default!; //public PopupMessageBox PopupMessageBox { get; private set; } = default!;
[Parameter] public string LoggerCategory { get; set; } [Parameter]
[Parameter] public EventCallback<Exception> OnError { get; set; } public string LoggerCategory { get; set; }
[Parameter]
public EventCallback<Exception> OnError { get; set; }
protected override void OnInitialized() protected override void OnInitialized()
{ {
@ -42,7 +44,7 @@ else
// { // {
// } // }
protected override async Task OnErrorAsync(Exception exception) protected override Task OnErrorAsync(Exception exception)
{ {
_currentError = exception; _currentError = exception;
@ -52,22 +54,18 @@ else
try try
{ {
_logger.Writer<SignaRClientLogItemWriter>()?.Error($"An error occurred: {exception.Message}", exception, categoryName, memberName); _logger.Error($"An error occurred: {exception.Message}", exception, categoryName, memberName);
} }
catch (Exception loggerException) catch (Exception loggerException)
{ {
await jsRuntime.InvokeVoidAsync("console.error", $"{nameof(TiamErrorBoundaryComponent)}->OnErrorAsync; Logger error! {loggerException}"); jsRuntime.InvokeVoidAsync("console.error", $"{nameof(TiamErrorBoundaryComponent)}->OnErrorAsync; Logger error! {loggerException}");
await jsRuntime.InvokeVoidAsync("console.error", $"{nameof(TiamErrorBoundaryComponent)}->{memberName}; An error occurred: {exception}"); jsRuntime.InvokeVoidAsync("console.error", $"{nameof(TiamErrorBoundaryComponent)}->{memberName}; An error occurred: {exception}");
//jsRuntime.InvokeVoidAsync("console.warn", $"{nameof(TiamErrorBoundaryComponent)}->{memberName}; Error details: {exception.StackTrace}"); //jsRuntime.InvokeVoidAsync("console.warn", $"{nameof(TiamErrorBoundaryComponent)}->{memberName}; Error details: {exception.StackTrace}");
} }
await Task.Delay(500); //KELL IDE, KÜLÖNBEN NEM MEGY KI A LOG A SZERVERRE! - J.
//ShowErrorNotification("An unexpected error occurred. Please try again later."); //ShowErrorNotification("An unexpected error occurred. Please try again later.");
return OnError.HasDelegate ? OnError.InvokeAsync(exception) : base.OnErrorAsync(exception);
if (OnError.HasDelegate) await OnError.InvokeAsync(exception);
else await base.OnErrorAsync(exception);
} }
// private void ShowErrorNotification(string message) // private void ShowErrorNotification(string message)
@ -80,4 +78,3 @@ else
_currentError = null; _currentError = null;
} }
} }

View File

@ -44,7 +44,7 @@ builder.Services.AddSingleton(x => new ResourceManager("TIAMWebApp.Client.Resour
builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>(); builder.Services.AddSingleton<IAcLogWriterClientBase, BrowserConsoleLogWriter>();
builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>(); builder.Services.AddSingleton<IAcLogWriterClientBase, SignaRClientLogItemWriter>();
//builder.Services.AddSingleton<IAcLogWriterClientBase, HttpClientLogItemWriter>(); //builder.Services.AddSingleton<IAcLogWriterClientBase, HttpClientLogItemWriter>();
builder.Services.AddSingleton<AdminSignalRClient>(); builder.Services.AddSingleton<DevAdminSignalClient>();
builder.Services.AddSingleton<SignalRService>(); builder.Services.AddSingleton<SignalRService>();
builder.Services.AddSingleton<SumupService>(); builder.Services.AddSingleton<SumupService>();
builder.Services.AddScoped<AuthenticationStateProvider, CustomAuthStateProvider>(); builder.Services.AddScoped<AuthenticationStateProvider, CustomAuthStateProvider>();

View File

@ -92,7 +92,7 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController
return; return;
case SignalRTags.AddCompanyAsync: case SignalRTags.CreateCompanyAsync:
//var createCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData; //var createCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData;
@ -100,7 +100,7 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController
//await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, createCompany), requestId); //await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, createCompany), requestId);
return; return;
case SignalRTags.RemoveCompanyAsync: case SignalRTags.DeleteCompanyAsync:
var deleteCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData; var deleteCompany = message!.MessagePackTo<SignalPostJsonDataMessage<Company>>().PostData;
await adminDal.RemoveCompanyAsync(deleteCompany.Id); await adminDal.RemoveCompanyAsync(deleteCompany.Id);

View File

@ -21,7 +21,7 @@ using TIAMWebApp.Shared.Application.Utility;
namespace TIAMWebApp.Shared.Application.Services namespace TIAMWebApp.Shared.Application.Services
{ {
public class AdminSignalRClient(IEnumerable<IAcLogWriterClientBase> logWriters) : AcSignalRClientBase("DevAdminHub", logWriters); public class DevAdminSignalClient(IEnumerable<IAcLogWriterClientBase> logWriters) : AcSignalRClientBase("DevAdminHub", logWriters);
public abstract class AcSignalRClientBase : IAcSignalRHubClient public abstract class AcSignalRClientBase : IAcSignalRHubClient
{ {
@ -162,9 +162,6 @@ namespace TIAMWebApp.Shared.Application.Services
public virtual Task SendMessageToServerAsync<TResponseData>(int messageTag, ISignalRMessage? message, Action<ISignalResponseMessage<TResponseData?>> responseCallback) public virtual Task SendMessageToServerAsync<TResponseData>(int messageTag, ISignalRMessage? message, Action<ISignalResponseMessage<TResponseData?>> responseCallback)
{ {
if (messageTag == 0)
Logger.Error($"SendMessageToServerAsync; messageTag == 0");
var requestId = AcDomain.NextUniqueInt32; var requestId = AcDomain.NextUniqueInt32;
_responseByRequestId[requestId] = new Action<ISignalResponseMessage<string>>(responseMessage => _responseByRequestId[requestId] = new Action<ISignalResponseMessage<string>>(responseMessage =>

View File

@ -29,14 +29,14 @@ namespace TIAMWebApp.Shared.Application.Services
private readonly ISecureStorageHandler secureStorageHandler; private readonly ISecureStorageHandler secureStorageHandler;
private readonly LoggerClient<ServiceProviderDataService> _logger; private readonly LoggerClient<ServiceProviderDataService> _logger;
private AdminSignalRClient _adminSignalRClient; private DevAdminSignalClient _devAdminSignalClient;
public ServiceProviderDataService(HttpClient http, ISecureStorageHandler secureStorageHandler, AdminSignalRClient adminSignalRClient, IEnumerable<IAcLogWriterClientBase> logWriters) public ServiceProviderDataService(HttpClient http, ISecureStorageHandler secureStorageHandler, DevAdminSignalClient devAdminSignalClient, IEnumerable<IAcLogWriterClientBase> logWriters)
{ {
this.http = http; this.http = http;
this.secureStorageHandler = secureStorageHandler; this.secureStorageHandler = secureStorageHandler;
_adminSignalRClient = adminSignalRClient; _devAdminSignalClient = devAdminSignalClient;
_logger = new LoggerClient<ServiceProviderDataService>(logWriters.ToArray()); _logger = new LoggerClient<ServiceProviderDataService>(logWriters.ToArray());
} }
@ -98,7 +98,7 @@ namespace TIAMWebApp.Shared.Application.Services
//17. //17.
public Task GetPropertiesByOwnerIdAsync(Guid id, Action<Dictionary<Guid, string>?> callback) public Task GetPropertiesByOwnerIdAsync(Guid id, Action<Dictionary<Guid, string>?> callback)
{ {
return _adminSignalRClient.GetByIdAsync<Dictionary<Guid, string>>(SignalRTags.GetPropertiesByOwnerIdAsync, id, response => return _devAdminSignalClient.GetByIdAsync<Dictionary<Guid, string>>(SignalRTags.GetPropertiesByOwnerIdAsync, id, response =>
{ {
if (response.Status == SignalResponseStatus.Error) if (response.Status == SignalResponseStatus.Error)
callback.Invoke(null); callback.Invoke(null);
@ -112,7 +112,7 @@ namespace TIAMWebApp.Shared.Application.Services
//17. //17.
public async Task<Dictionary<Guid, string>?> GetPropertiesByOwnerIdAsync(Guid id) public async Task<Dictionary<Guid, string>?> GetPropertiesByOwnerIdAsync(Guid id)
{ {
var companyPropertiesByOwner = await _adminSignalRClient.GetByIdAsync<Dictionary<Guid, string>>(SignalRTags.GetPropertiesByOwnerIdAsync, id); var companyPropertiesByOwner = await _devAdminSignalClient.GetByIdAsync<Dictionary<Guid, string>>(SignalRTags.GetPropertiesByOwnerIdAsync, id);
if (companyPropertiesByOwner != null) _logger.DetailConditional($"companyPropertiesByOwner: {string.Join("; ", companyPropertiesByOwner.Values)}"); if (companyPropertiesByOwner != null) _logger.DetailConditional($"companyPropertiesByOwner: {string.Join("; ", companyPropertiesByOwner.Values)}");
return companyPropertiesByOwner; return companyPropertiesByOwner;
@ -146,7 +146,7 @@ namespace TIAMWebApp.Shared.Application.Services
//16. //16.
public async Task<List<Company>> GetServiceProvidersAsync() public async Task<List<Company>> GetServiceProvidersAsync()
{ {
var companies = await _adminSignalRClient.GetAllAsync<List<Company>>(SignalRTags.GetCompaniesAsync); var companies = await _devAdminSignalClient.GetAllAsync<List<Company>>(SignalRTags.GetCompaniesAsync);
if (companies != null) _logger.DetailConditional($"companies: {string.Join("; ", companies.Count)}"); if (companies != null) _logger.DetailConditional($"companies: {string.Join("; ", companies.Count)}");
return companies; return companies;
@ -167,7 +167,7 @@ namespace TIAMWebApp.Shared.Application.Services
//14. //14.
public async Task<Company> UpdateServiceProviderAsync(Company company) public async Task<Company> UpdateServiceProviderAsync(Company company)
{ {
var result = await _adminSignalRClient.PostDataAsync(SignalRTags.UpdateCompanyAsync, company); var result = await _devAdminSignalClient.PostDataAsync(SignalRTags.UpdateCompanyAsync, company);
return result; return result;
} }