Implement UserProductMapping add/update/delete; improvements, fixes, etc...
This commit is contained in:
parent
716fa33e90
commit
2ca48c4ae8
|
|
@ -268,7 +268,7 @@ namespace TIAM.Database.DataLayers.Admins
|
|||
return isSucces ? userProductMapping : null;
|
||||
}
|
||||
|
||||
public Task<bool> UpdateUserProductMappingAsync(UserProductMapping userProductMapping) => TransactionAsync(ctx => ctx.UpdateUserProductMapping(userProductMapping));
|
||||
public Task<UserProductMapping?> UpdateUserProductMappingAsync(UserProductMapping userProductMapping) => UpdateSafeAsync(userProductMapping, (ctx, safeUserProductMapping) => ctx.UpdateUserProductMapping(safeUserProductMapping));
|
||||
|
||||
public async Task<UserProductMapping?> UpdateUserProductMappingAsync(Guid userProductMappingId, int permissions = 1, UserProductJsonDetailModel? userProductToCars = null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -100,5 +100,7 @@ public class SignalRTags : AcSignalRTags
|
|||
public const int GetTransferDestinationToProductsByProductId = 95;
|
||||
public const int GetTransferDestinationToProductsByTransferDestinationId = 96;
|
||||
|
||||
public const int GetAllLogItemsByFilterText = 100;
|
||||
public const int GetAllUsers = 120;
|
||||
|
||||
public const int GetAllLogItemsByFilterText = 1000;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,8 +54,7 @@
|
|||
TextFieldName="@userEmailFieldNameComboItem"
|
||||
Value="@_drivers.FirstOrDefault(x => x.Id == transferToDriverEditModel.UserProductMappingId)"
|
||||
ValueChanged="v => transferToDriverEditModel.UserProductMappingId = v.Id"
|
||||
SearchFilterCondition="ListSearchFilterCondition.Contains"
|
||||
SearchMode="ListSearchMode.AutoSearch">
|
||||
SearchFilterCondition="ListSearchFilterCondition.Contains" SearchMode="ListSearchMode.AutoSearch">
|
||||
<Columns>
|
||||
@* <DxListEditorColumn FieldName="Id"/> *@
|
||||
<DxListEditorColumn FieldName="@userEmailFieldNameComboItem" Caption="Driver email" />
|
||||
|
|
@ -147,15 +146,24 @@
|
|||
|
||||
_logger.Info($"DetailGridData: {ParentData.TransferToDrivers.Count}");
|
||||
|
||||
_cars.AddRange((await AdminSignalRClient.GetAllAsync<List<Car>>(SignalRTags.GetAllCarsByProductId, [TiamConstClient.TransferProductId]))!);
|
||||
// AdminSignalRClient.GetAllAsync<List<Car>>(SignalRTags.GetAllCars, response =>
|
||||
// {
|
||||
// _cars.AddRange(response.ResponseData!);
|
||||
// return Task.CompletedTask;
|
||||
// }).Forget();
|
||||
|
||||
_cars.AddRange((await AdminSignalRClient.GetAllAsync<List<Car>>(SignalRTags.GetAllCarsByProductId, [TiamConstClient.TransferProductId])) ?? []);
|
||||
_drivers.AddRange(_cars.DistinctBy(x => x.UserProductMappingId).Select(x => x.UserProductMapping));
|
||||
|
||||
// //AdminSignalRClient.GetAllIntoAsync<Car>(_cars, SignalRTags.GetAllCarsByProductId, [TiamConstClient.TransferProductId])
|
||||
// AdminSignalRClient.GetAllAsync<List<Car>>(SignalRTags.GetAllCarsByProductId, response =>
|
||||
// {
|
||||
// if (response.Status != SignalResponseStatus.Success || response.ResponseData == null)
|
||||
// {
|
||||
// _logger.Error($"GetAllAsync<List<Car>>(); status: {response.Status}; dataCount: {response.ResponseData?.Count}");
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
|
||||
// _cars.AddRange(response.ResponseData);
|
||||
// _drivers.AddRange(_cars.DistinctBy(x => x.UserProductMappingId).Select(x => x.UserProductMapping));
|
||||
|
||||
// return Task.CompletedTask;
|
||||
// }, [TiamConstClient.TransferProductId]).Forget();
|
||||
|
||||
await base.OnInitializedAsync();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,10 @@
|
|||
@using AyCode.Core.Loggers
|
||||
@using AyCode.Services.Loggers
|
||||
@using AyCode.Core
|
||||
@using AyCode.Core.Helpers
|
||||
@using AyCode.Models.Users
|
||||
@using AyCode.Services.SignalRs
|
||||
@using TIAM.Core.Consts
|
||||
@inject IServiceProviderDataService ServiceProviderDataService
|
||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||
@inject AdminSignalRClient AdminSignalRClient
|
||||
|
|
@ -24,27 +28,44 @@
|
|||
PageSize="10"
|
||||
ValidationEnabled="false"
|
||||
CustomizeEditModel="CustomizeEditModel"
|
||||
EditMode="GridEditMode.EditForm"
|
||||
EditMode="GridEditMode.EditRow"
|
||||
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
||||
OnGridEditModelSaving="OnGridEditModelSaving"
|
||||
DetailExpandButtonDisplayMode="DetailExpandButtonDisplayMode">
|
||||
<Columns>
|
||||
<DxGridCommandColumn Width="135" MinWidth="135" Visible="CommandColumnVisible" NewButtonVisible="NewButtonVisible" EditButtonVisible="EditButtonVisible" DeleteButtonVisible="DeleteButtonVisible" FixedPosition="GridColumnFixedPosition.Left" />
|
||||
<DxGridCommandColumn Width="150" MinWidth="150" Visible="CommandColumnVisible" NewButtonVisible="NewButtonVisible" EditButtonVisible="EditButtonVisible" DeleteButtonVisible="DeleteButtonVisible" FixedPosition="GridColumnFixedPosition.Left" />
|
||||
<DxGridDataColumn FieldName="Id" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" DisplayFormat="N" />
|
||||
<DxGridDataColumn FieldName="UserId" Caption="UserId" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" DisplayFormat="N" />
|
||||
@{
|
||||
var userEmailFieldName = $"{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}";
|
||||
}
|
||||
<DxGridDataColumn FieldName="@userEmailFieldName" Caption="User email" SortIndex="0" />
|
||||
@* <DxGridDataColumn FieldName="@nameof(UserProductMapping.User.EmailAddress)" Caption="User name" /> *@
|
||||
<DxGridDataColumn FieldName="ProductId" Caption="ServiceId" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" DisplayFormat="N" />
|
||||
@{
|
||||
var productNameFieldName = $"{nameof(UserProductMapping.Product)}.{nameof(Product.Name)}";
|
||||
}
|
||||
<DxGridDataColumn FieldName="@productNameFieldName" Caption="Service name" />
|
||||
<DxGridDataColumn FieldName="@productNameFieldName" Caption="Service name">
|
||||
<CellEditTemplate>
|
||||
@{
|
||||
var userProductMappingEditModel = (UserProductMapping)context.EditModel;
|
||||
}
|
||||
|
||||
<DxComboBox Data="@_products" TextFieldName="Name" ValueFieldName="Id" @bind-Value="userProductMappingEditModel.ProductId" ReadOnly="@(!_isNewState!.Value)"
|
||||
SearchFilterCondition="ListSearchFilterCondition.Contains" SearchMode="ListSearchMode.AutoSearch">
|
||||
</DxComboBox>
|
||||
</CellEditTemplate>
|
||||
</DxGridDataColumn>
|
||||
<DxGridDataColumn FieldName="UserId" Caption="UserId" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" DisplayFormat="N" />
|
||||
@{
|
||||
var userEmailFieldName = $"{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}";
|
||||
}
|
||||
<DxGridDataColumn FieldName="@userEmailFieldName" Caption="User email" SortIndex="0">
|
||||
<CellEditTemplate>
|
||||
@{
|
||||
var userProductMappingEditModel = (UserProductMapping)context.EditModel;
|
||||
}
|
||||
|
||||
<DxComboBox Data="@_users" TextFieldName="EmailAddress" ValueFieldName="Id" @bind-Value="userProductMappingEditModel.UserId" ReadOnly="@(!_isNewState!.Value)"
|
||||
SearchFilterCondition="ListSearchFilterCondition.Contains" SearchMode="ListSearchMode.AutoSearch">
|
||||
</DxComboBox>
|
||||
</CellEditTemplate>
|
||||
</DxGridDataColumn>
|
||||
|
||||
@* <DxGridDataColumn FieldName="@nameof(UserProductMapping.Product.Name)" Caption="Service name" /> *@
|
||||
@* <DxGridDataColumn FieldName="UserProductMapping.Product.Name" Caption="Service name" /> *@
|
||||
@* <DxGridDataColumn FieldName="@nameof(Product.ServiceProvider.Name)" Caption="Company name" /> *@
|
||||
<DxGridDataColumn FieldName="Permissions" />
|
||||
<DxGridDataColumn FieldName="Created" DisplayFormat="g" Width="140" CaptionAlignment="GridTextAlignment.Center" TextAlignment="GridTextAlignment.Center" />
|
||||
<DxGridDataColumn FieldName="Modified" DisplayFormat="g" Width="140" CaptionAlignment="GridTextAlignment.Center" TextAlignment="GridTextAlignment.Center" />
|
||||
|
|
@ -59,24 +80,24 @@
|
|||
}
|
||||
</DetailRowTemplate>
|
||||
|
||||
<EditFormTemplate Context="userEditFormContext">
|
||||
@{
|
||||
var userProduct = (UserProductMapping)userEditFormContext.EditModel;
|
||||
}
|
||||
<DxFormLayout CssClass="w-100">
|
||||
<DxFormLayoutItem Caption="User" ColSpanMd="4">
|
||||
@userEditFormContext.GetEditor("UserId")
|
||||
</DxFormLayoutItem>
|
||||
<DxFormLayoutItem Caption="Product:" ColSpanMd="4">
|
||||
<DxComboBox Data="@_availableProducts" TextFieldName="Name" @bind-Value="((UserProductMapping)userEditFormContext.EditModel).ProductId" />
|
||||
</DxFormLayoutItem>
|
||||
<DxFormLayoutItem Caption="Permissions" ColSpanMd="4">
|
||||
@userEditFormContext.GetEditor("Permissions")
|
||||
</DxFormLayoutItem>
|
||||
@* <EditFormTemplate Context="userEditFormContext">
|
||||
@{
|
||||
var userProduct = (UserProductMapping)userEditFormContext.EditModel;
|
||||
}
|
||||
<DxFormLayout CssClass="w-100">
|
||||
<DxFormLayoutItem Caption="User" ColSpanMd="4">
|
||||
@userEditFormContext.GetEditor("UserId")
|
||||
</DxFormLayoutItem>
|
||||
<DxFormLayoutItem Caption="Product:" ColSpanMd="4">
|
||||
<DxComboBox Data="@_availableProducts" TextFieldName="Name" @bind-Value="((UserProductMapping)userEditFormContext.EditModel).ProductId" />
|
||||
</DxFormLayoutItem>
|
||||
<DxFormLayoutItem Caption="Permissions" ColSpanMd="4">
|
||||
@userEditFormContext.GetEditor("Permissions")
|
||||
</DxFormLayoutItem>
|
||||
|
||||
</DxFormLayout>
|
||||
</DxFormLayout>
|
||||
</EditFormTemplate>
|
||||
|
||||
*@
|
||||
</UserProductMappingGrid>
|
||||
|
||||
@code {
|
||||
|
|
@ -92,22 +113,51 @@
|
|||
|
||||
[Parameter] public Guid[]? ContextIds { get; set; }
|
||||
|
||||
private bool? _isNewState = null;
|
||||
private LoggerClient<UserProductMappingGridComponent> _logger;
|
||||
|
||||
List<Product> _availableProducts;
|
||||
private List<User> _users = [];
|
||||
private List<Product> _products = [];
|
||||
|
||||
private ProductDetailGridComponent bleh;
|
||||
|
||||
|
||||
protected override void OnInitialized()
|
||||
protected override async Task OnInitializedAsync()
|
||||
{
|
||||
_logger = new LoggerClient<UserProductMappingGridComponent>(LogWriters.ToArray());
|
||||
|
||||
base.OnInitialized();
|
||||
//_products = (await AdminSignalRClient.GetAllAsync<List<Product>>(SignalRTags.GetAllProducts)) ?? [];
|
||||
|
||||
AdminSignalRClient.GetAllIntoAsync(_products, SignalRTags.GetAllProducts).Forget();
|
||||
AdminSignalRClient.GetAllIntoAsync(_users, SignalRTags.GetAllUsers).Forget();
|
||||
|
||||
// AdminSignalRClient.GetAllAsync<List<Product>>(SignalRTags.GetAllProducts, response =>
|
||||
// {
|
||||
// if (response.Status != SignalResponseStatus.Success || response.ResponseData == null)
|
||||
// {
|
||||
// _logger.Error($"GetAllAsync<List<Car>>(); status: {response.Status}; dataCount: {response.ResponseData?.Count}");
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
|
||||
// _products.AddRange(response.ResponseData);
|
||||
// return Task.CompletedTask;
|
||||
// }).Forget();
|
||||
|
||||
// AdminSignalRClient.GetAllAsync<List<User>>(SignalRTags.getal, response =>
|
||||
// {
|
||||
// if (response.Status != SignalResponseStatus.Success || response.ResponseData == null)
|
||||
// {
|
||||
// _logger.Error($"GetAllAsync<List<Car>>(); status: {response.Status}; dataCount: {response.ResponseData?.Count}");
|
||||
// return Task.CompletedTask;
|
||||
// }
|
||||
|
||||
// _products.AddRange(response.ResponseData);
|
||||
// return Task.CompletedTask;
|
||||
// }).Forget();
|
||||
|
||||
await base.OnInitializedAsync();
|
||||
}
|
||||
|
||||
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||
{
|
||||
_isNewState = e.IsNew;
|
||||
if (!e.IsNew) return;
|
||||
|
||||
// var newProductMapping = new UserProductMapping
|
||||
|
|
@ -119,4 +169,10 @@
|
|||
|
||||
//e.EditModel = newProductMapping;
|
||||
}
|
||||
|
||||
private void OnGridEditModelSaving(GridEditModelSavingEventArgs e)
|
||||
{
|
||||
_isNewState = false;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -203,7 +203,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
|
||||
var result = await adminDal.UpdateUserProductMappingAsync(userProductMapping);
|
||||
|
||||
return result ? userProductMapping.ToJson() : string.Empty;
|
||||
return result == null ? string.Empty : userProductMapping.ToJson();
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
|
|
|
|||
|
|
@ -15,21 +15,23 @@ using TIAM.Entities.Addresses;
|
|||
using TIAM.Services.Server.Logins;
|
||||
using ILogger = TIAM.Core.Loggers.ILogger;
|
||||
using AyCode.Core.Helpers;
|
||||
using AyCode.Services.SignalRs;
|
||||
using TIAM.Services;
|
||||
|
||||
namespace TIAMWebApp.Server.Controllers
|
||||
{
|
||||
[Authorize]
|
||||
[ApiController]
|
||||
[Route("api/v1/[controller]")]
|
||||
public class UserAPIController : ControllerBase
|
||||
public class UserAPIController(IConfiguration configuration, UserDal userDal, IEnumerable<IAcLogWriterBase> logWriters) : ControllerBase
|
||||
{
|
||||
private LoginService _loginService;
|
||||
private UserDal _userDal;
|
||||
private readonly IConfiguration _configuration;
|
||||
private readonly TIAM.Core.Loggers.Logger<UserAPIController> _logger = new(logWriters.ToArray());
|
||||
|
||||
private LoginService _loginService = new LoginService(userDal, configuration);
|
||||
//private readonly IWebHostEnvironment _webHostEnvironment;
|
||||
//readonly PasswordHasher _hasher = new();
|
||||
|
||||
private readonly ILogger _logger;
|
||||
//private readonly ILogger _logger;
|
||||
/*private UserModel[] users = new UserModel[]
|
||||
{
|
||||
new UserModel(new Guid("540271f6-c604-4c16-8160-d5a7cafedf00"), "test@tiam.hu", "+36701234567", "Asdasd123456"),
|
||||
|
|
@ -37,18 +39,6 @@ namespace TIAMWebApp.Server.Controllers
|
|||
|
||||
};*/
|
||||
|
||||
//private readonly ILogger<UserAPIController> _logger;
|
||||
|
||||
public UserAPIController(IConfiguration configuration, UserDal userDal, IEnumerable<IAcLogWriterBase> logWriters)
|
||||
{
|
||||
_configuration = configuration;
|
||||
//_webHostEnvironment = webHostEnvironment;
|
||||
_userDal = userDal;
|
||||
|
||||
_loginService = new LoginService(_userDal, _configuration);
|
||||
_logger = new TIAM.Core.Loggers.Logger<UserAPIController>(logWriters.ToArray());
|
||||
}
|
||||
|
||||
//[AllowAnonymous]
|
||||
//[HttpPost]
|
||||
//[Route(APIUrls.LoggerRouteName)]
|
||||
|
|
@ -148,7 +138,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
if (email != null)
|
||||
{
|
||||
//get user from db
|
||||
dbUser = await _userDal.GetUserByEmailAsync(email.Value, true);
|
||||
dbUser = await userDal.GetUserByEmailAsync(email.Value, true);
|
||||
_logger.Info($@"DbUser email: {dbUser?.EmailAddress}");
|
||||
}
|
||||
|
||||
|
|
@ -168,7 +158,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
//mocking - update userModel with new refreshToken
|
||||
dbUser.RefreshToken = refreshToken;
|
||||
//TODO await _userManager.UpdateAsync(userModel);
|
||||
await _userDal.UpdateJwtRefreshTokenAsync(dbUser.EmailAddress, dbUser.RefreshToken);
|
||||
await userDal.UpdateJwtRefreshTokenAsync(dbUser.EmailAddress, dbUser.RefreshToken);
|
||||
|
||||
response.IsSuccess = true;
|
||||
response.Content = new AuthenticationResponse
|
||||
|
|
@ -271,7 +261,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
_logger.Info($"User to be updated: {email}");
|
||||
_logger.Info($"User to be updated: {phoneNumber}");
|
||||
|
||||
await _userDal.UpdateUserAsync(new User(userId, email, phoneNumber));
|
||||
await userDal.UpdateUserAsync(new User(userId, email, phoneNumber));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -362,7 +352,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
{
|
||||
//var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
|
||||
//return users;
|
||||
return _userDal.GetAllUserModelDtoAsync<UserModelDto>();
|
||||
return userDal.GetAllUserModelDtoAsync<UserModelDto>();
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
|
|
@ -373,7 +363,17 @@ namespace TIAMWebApp.Server.Controllers
|
|||
_logger.Info("GetUsersWithDetails called");
|
||||
//var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
|
||||
//return users;
|
||||
return _userDal.GetAllUserModelDtoAsync<UserModelDtoDetail>();
|
||||
return userDal.GetAllUserModelDtoAsync<UserModelDtoDetail>();
|
||||
}
|
||||
|
||||
[NonAction]
|
||||
[SignalR(SignalRTags.GetAllUsers)]
|
||||
public async Task<List<User>> GetAllUsers()
|
||||
{
|
||||
_logger.Info("GetAllUsers called");
|
||||
//var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
|
||||
//return users;
|
||||
return await userDal.GetUsersAsync();
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
|
|
@ -382,7 +382,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
public async Task<UserModelDto>? GetUserByEmail(string email)
|
||||
{
|
||||
_logger.Info($"GetUserByEmail called with email: {email}");
|
||||
var result = _userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false);
|
||||
var result = userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false);
|
||||
if (result.Result == null)
|
||||
{
|
||||
UserModelDto resultDto = new UserModelDto();
|
||||
|
|
@ -401,7 +401,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
public Task<UserModelDto?> GetUserById([FromBody] Guid id)
|
||||
{
|
||||
_logger.Info($"GetUserById called with id: {id}");
|
||||
return _userDal.GetUserModelDtoByIdAsync<UserModelDto>(id, true);
|
||||
return userDal.GetUserModelDtoByIdAsync<UserModelDto>(id, true);
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
|
|
@ -410,7 +410,7 @@ namespace TIAMWebApp.Server.Controllers
|
|||
public async Task<UserModelDtoDetail?> GetUserDetailById([FromBody] Guid id)
|
||||
{
|
||||
_logger.Info($"GetUserDetailById called with id: {id}");
|
||||
var result = await _userDal.GetUserModelDtoByIdAsync<UserModelDtoDetail>(id, true);
|
||||
var result = await userDal.GetUserModelDtoByIdAsync<UserModelDtoDetail>(id, true);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ builder.Services.AddScoped<AdminDal>();
|
|||
builder.Services.AddScoped<AuctionDal>();
|
||||
builder.Services.AddScoped<TransferDestinationDal>();
|
||||
builder.Services.AddSingleton<AuthService>();
|
||||
builder.Services.AddScoped<UserAPIController>();
|
||||
builder.Services.AddScoped<ServiceProviderAPIController>();
|
||||
builder.Services.AddScoped<TransferDataAPIController>();
|
||||
builder.Services.AddScoped<MessageAPIController>();
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
|||
//private readonly ServiceProviderAPIController _serviceProviderApiController;
|
||||
//private readonly TransferDataAPIController _transferDataApiController;
|
||||
|
||||
public DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, MessageAPIController messageApiController, ProfileAPIController profileApiController, LoggerApiController loggerApiController, IEnumerable<IAcLogWriterBase> logWriters)
|
||||
public DevAdminSignalRHub(AdminDal adminDal, UserAPIController userApiController, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, MessageAPIController messageApiController, ProfileAPIController profileApiController, LoggerApiController loggerApiController, IEnumerable<IAcLogWriterBase> logWriters)
|
||||
{
|
||||
_adminDal = adminDal;
|
||||
//_serviceProviderApiController = serviceProviderApiController;
|
||||
|
|
@ -108,6 +108,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
|||
|
||||
_logger = new(logWriters.ToArray());
|
||||
|
||||
_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(userApiController));
|
||||
_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(serviceProviderApiController));
|
||||
_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(transferDataApiController));
|
||||
_dynamicMethodCallModels.Add(new DynamicMethodCallModel<SignalRAttribute>(messageApiController));
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ using AyCode.Core;
|
|||
using AyCode.Core.Extensions;
|
||||
using AyCode.Core.Helpers;
|
||||
using AyCode.Core.Interfaces;
|
||||
using AyCode.Interfaces.Entities;
|
||||
using AyCode.Services.Loggers;
|
||||
using AyCode.Services.SignalRs;
|
||||
using MessagePack.Resolvers;
|
||||
|
|
@ -20,5 +21,6 @@ namespace TIAMWebApp.Shared.Application.Services
|
|||
{
|
||||
ConstHelper.NameByValue<SignalRTags>(0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -40,6 +40,7 @@ EndProject
|
|||
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DD32C7C2-218C-4148-8FD6-1AB3C824A7D5}"
|
||||
ProjectSection(SolutionItems) = preProject
|
||||
DeployReadme.txt = DeployReadme.txt
|
||||
C:\Users\Fullepi\Desktop\SqlDataCompare_DevRelese_to_Prod.dcmp = C:\Users\Fullepi\Desktop\SqlDataCompare_DevRelese_to_Prod.dcmp
|
||||
SqlSchemaCompare_Dev_to_DevRelease.scmp = SqlSchemaCompare_Dev_to_DevRelease.scmp
|
||||
EndProjectSection
|
||||
EndProject
|
||||
|
|
|
|||
Loading…
Reference in New Issue