improvements, fixes, etc...
This commit is contained in:
parent
b05145b571
commit
84e1acaa86
|
|
@ -61,9 +61,11 @@ namespace TIAM.Database.DataLayers.Admins
|
||||||
|
|
||||||
public Task<List<Transfer>> GetTransfersAsync() => SessionAsync(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToList());
|
public Task<List<Transfer>> GetTransfersAsync() => SessionAsync(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToList());
|
||||||
public Task<string> GetTransfersJsonAsync() => SessionAsync(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToJson());
|
public Task<string> GetTransfersJsonAsync() => SessionAsync(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToJson());
|
||||||
|
public Task<List<Transfer>> GetTransfersByUserIdAsync(Guid userId) => SessionAsync(ctx => ctx.GetTransfersByUserId(userId).OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToList());
|
||||||
public Task<string> GetTransfersByUserIdJsonAsync(Guid userId) => SessionAsync(ctx => ctx.GetTransfersByUserId(userId).OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToJson());
|
public Task<string> GetTransfersByUserIdJsonAsync(Guid userId) => SessionAsync(ctx => ctx.GetTransfersByUserId(userId).OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToJson());
|
||||||
public string GetTransfersJson() => Session(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToJson());
|
public string GetTransfersJson() => Session(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToJson());
|
||||||
public Transfer? GetTransferById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId));
|
public Transfer? GetTransferById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId));
|
||||||
|
public Task<Transfer?> GetTransferByIdAsync(Guid transferId) => SessionAsync(ctx => ctx.GetTransferById(transferId));
|
||||||
public string? GetTransferJsonById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId)?.ToJson());
|
public string? GetTransferJsonById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId)?.ToJson());
|
||||||
|
|
||||||
public Task<bool> AddTransferAsync(Transfer transfer) => TransactionAsync(ctx => ctx.AddTransfer(transfer));
|
public Task<bool> AddTransferAsync(Transfer transfer) => TransactionAsync(ctx => ctx.AddTransfer(transfer));
|
||||||
|
|
|
||||||
|
|
@ -25,17 +25,24 @@ namespace TIAM.Database.DataLayers.Users
|
||||||
public Task<List<UserModelDtoEmail>> GetUserModelDtoEmailsAsync() => SessionAsync(ctx => ctx.Users.Select(x => new UserModelDtoEmail(x)).ToList());
|
public Task<List<UserModelDtoEmail>> GetUserModelDtoEmailsAsync() => SessionAsync(ctx => ctx.Users.Select(x => new UserModelDtoEmail(x)).ToList());
|
||||||
|
|
||||||
public override Task<User?> UpdateUserAsync(User user) => base.UpdateSafeAsync(user);
|
public override Task<User?> UpdateUserAsync(User user) => base.UpdateSafeAsync(user);
|
||||||
|
|
||||||
public async Task<UserModelDtoDetail?> UpdateUserModelDtoDetailAsync(UserModelDtoDetail userModelDtoDetail)
|
public async Task<UserModelDtoDetail?> UpdateUserModelDtoDetailAsync(UserModelDtoDetail userModelDtoDetail)
|
||||||
{
|
{
|
||||||
var user = GetUserById(userModelDtoDetail.UserDto.Id, false);
|
var user = GetUserById(userModelDtoDetail.UserDto.Id, false);
|
||||||
if (user == null) return null;
|
if (user == null) return null;
|
||||||
|
|
||||||
userModelDtoDetail.CopyMainValuesToUser(user);
|
userModelDtoDetail.CopyUserDtoValuesToUser(user);
|
||||||
|
|
||||||
return await UpdateUserAsync(user) == null ? null : await GetUserModelDtoByIdAsync<UserModelDtoDetail>(userModelDtoDetail.Id, false);
|
return await UpdateUserAsync(user) == null ? null : await GetUserModelDtoByIdAsync<UserModelDtoDetail>(userModelDtoDetail.Id, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task<UserModelDtoDetail?> AddUserModelDtoDetailAsync(UserModelDtoDetail userModelDtoDetail)
|
||||||
|
{
|
||||||
|
var user = new User();
|
||||||
|
userModelDtoDetail.CopyUserDtoValuesToUser(user);
|
||||||
|
|
||||||
|
return await AddUserAsync(user) ? await GetUserModelDtoByIdAsync<UserModelDtoDetail>(userModelDtoDetail.Id, false) : null;
|
||||||
|
}
|
||||||
|
|
||||||
public async Task<bool> CreateUserAsync(User user)
|
public async Task<bool> CreateUserAsync(User user)
|
||||||
{
|
{
|
||||||
Context.Users.Add(user);
|
Context.Users.Add(user);
|
||||||
|
|
|
||||||
|
|
@ -50,15 +50,7 @@ namespace TIAM.Models.Dtos.Users
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CopyMainValuesToUser(User user)
|
public void CopyUserDtoValuesToUser(User user) => base.CopyUserDtoValuesToUser(user);
|
||||||
{
|
|
||||||
user.AffiliateId = UserDto.AffiliateId;
|
|
||||||
|
|
||||||
user.EmailAddress = UserDto.EmailAddress;
|
|
||||||
user.EmailConfirmed = UserDto.EmailConfirmed;
|
|
||||||
user.PhoneNumber = UserDto.PhoneNumber;
|
|
||||||
user.RefferalId = UserDto.RefferalId;
|
|
||||||
}
|
|
||||||
|
|
||||||
public virtual User CreateMainEntity()
|
public virtual User CreateMainEntity()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -25,9 +25,9 @@ public class LoginService(UserDal userDal, IConfiguration configuration) : AcLog
|
||||||
return base.Logout();
|
return base.Logout();
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Task<AcErrorCode> RegistrationAsync(string email, string password, string? phoneNumber = null)
|
public override Task<AcErrorCode> RegistrationAsync(string email, string password, string? phoneNumber = null, Guid? referralId = null)
|
||||||
{
|
{
|
||||||
return base.RegistrationAsync(email, password, phoneNumber);
|
return base.RegistrationAsync(email, password, phoneNumber, referralId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,4 +60,8 @@
|
||||||
</Reference>
|
</Reference>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Interfaces\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
namespace TIAM.Services.Interfaces;
|
||||||
|
|
||||||
|
public interface ITransferApiControllerClient : IUserApiControllerCommon
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,42 @@
|
||||||
|
using TIAM.Entities.Transfers;
|
||||||
|
using TIAM.Entities.Users;
|
||||||
|
|
||||||
|
namespace TIAM.Services.Interfaces;
|
||||||
|
|
||||||
|
public interface ITransferApiControllerCommon
|
||||||
|
{
|
||||||
|
#region Transfers
|
||||||
|
public Task<List<Transfer>> GetTransfers();
|
||||||
|
public Task<List<Transfer>> GetTransfersByFilterText(string criteriaOperatorText);
|
||||||
|
public Task<List<Transfer>> GetTransfersByUserId(Guid userId);
|
||||||
|
public Task<string> GetTransfersByDriverId(Guid userProductMappingId);
|
||||||
|
public Task<Transfer?> GetTransferById(Guid transferId);
|
||||||
|
public Task<Transfer?> UpdateTransfer(Transfer transfer);
|
||||||
|
public Task<Transfer?> RemoveTransfer(Transfer transfer);
|
||||||
|
#endregion Transfers
|
||||||
|
|
||||||
|
#region Drivers
|
||||||
|
public Task<List<UserProductMapping>> GetAllDrivers();
|
||||||
|
public Task<List<UserProductMapping>> GetAllDriversByProductId(Guid productId);
|
||||||
|
public Task<TransferToDriver?> GetTransferDriver(Guid transferDriverId);
|
||||||
|
public Task<List<TransferToDriver>> GetTransferDrivers(Guid transferId);
|
||||||
|
public Task<TransferToDriver?> AddTransferDriver(TransferToDriver transferToDriver);
|
||||||
|
public Task<TransferToDriver?> UpdateTransferDriver(TransferToDriver transferToDriver);
|
||||||
|
public Task<TransferToDriver?> RemoveTransferDriver(TransferToDriver transferToDriver);
|
||||||
|
#endregion Drivers
|
||||||
|
|
||||||
|
#region TransferDestination
|
||||||
|
public List<TransferDestination> GetTransferDestinations();
|
||||||
|
public Task<TransferDestination?> GetTransferDestinationById(Guid transferDestinationId);
|
||||||
|
public Task<TransferDestination?> CreateTransferDestination(TransferDestination transferDestination);
|
||||||
|
public Task<TransferDestination?> UpdateTransferDestination(TransferDestination transferDestination);
|
||||||
|
public Task<TransferDestination?> RemoveTransferDestination(TransferDestination transferDestination);
|
||||||
|
public Task<List<TransferDestinationToProduct>> GetAllTransferDestinationToProducts();
|
||||||
|
public Task<List<TransferDestinationToProduct>> GetTransferDestinationToProductsByProductId(Guid productId);
|
||||||
|
public Task<List<TransferDestinationToProduct>> GetTransferDestinationToProductsByTransferDestinationId(Guid transferDestinationId);
|
||||||
|
public Task<TransferDestinationToProduct?> GetTransferDestinationToProductById(Guid transferDestinationToProductId);
|
||||||
|
public Task<TransferDestinationToProduct?> CreateTransferDestinationToProduct(TransferDestinationToProduct transferDestinationToProduct);
|
||||||
|
public Task<TransferDestinationToProduct?> UpdateTransferDestinationToProduct(TransferDestinationToProduct transferDestinationToProduct);
|
||||||
|
public Task<TransferDestinationToProduct?> RemoveTransferDestinationToProduct(TransferDestinationToProduct transferDestinationToProduct);
|
||||||
|
#endregion TransferDestination
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
namespace TIAM.Services.Interfaces;
|
||||||
|
|
||||||
|
public interface IUserApiControllerClient : IUserApiControllerCommon
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
using TIAM.Entities.Users;
|
||||||
|
using TIAM.Models.Dtos.Users;
|
||||||
|
|
||||||
|
namespace TIAM.Services.Interfaces;
|
||||||
|
|
||||||
|
public interface IUserApiControllerCommon
|
||||||
|
{
|
||||||
|
public Task<User?> UpdateUser(User user);
|
||||||
|
public Task<UserModelDtoDetail?> UpdateUserModelDtoDetail(UserModelDtoDetail userModelDtoDetail);
|
||||||
|
}
|
||||||
|
|
@ -105,8 +105,10 @@ public class SignalRTags : AcSignalRTags
|
||||||
public const int GetAllUsers = 120;
|
public const int GetAllUsers = 120;
|
||||||
public const int GetAllUserModelDtoDetails = 121;
|
public const int GetAllUserModelDtoDetails = 121;
|
||||||
public const int GetAllUserModelDtoEmails = 125;
|
public const int GetAllUserModelDtoEmails = 125;
|
||||||
public const int UpdateUser = 130;
|
public const int AddUser = 130;
|
||||||
public const int UpdateUserModelDtoDetail = 131;
|
public const int AddUserModelDtoDetail = 131;
|
||||||
|
public const int UpdateUser = 135;
|
||||||
|
public const int UpdateUserModelDtoDetail = 136;
|
||||||
|
|
||||||
public const int GetAllLogItemsByFilterText = 1000;
|
public const int GetAllLogItemsByFilterText = 1000;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -270,6 +270,7 @@
|
||||||
|
|
||||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
{
|
{
|
||||||
|
UserModelDtoDetail? userModelDtoDetail = null!;
|
||||||
var userModelDtoDetailEditModel = ((UserModelDtoDetail)e.EditModel);
|
var userModelDtoDetailEditModel = ((UserModelDtoDetail)e.EditModel);
|
||||||
|
|
||||||
if (e.IsNew)
|
if (e.IsNew)
|
||||||
|
|
@ -277,36 +278,33 @@
|
||||||
var registration = new RegistrationModel();
|
var registration = new RegistrationModel();
|
||||||
//TODO: Refractor to userDataService
|
//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());
|
|
||||||
|
|
||||||
|
|
||||||
registration.Email = userModelDtoDetailEditModel.UserDto.EmailAddress;
|
registration.Email = userModelDtoDetailEditModel.UserDto.EmailAddress;
|
||||||
registration.PhoneNumber = userModelDtoDetailEditModel.UserDto.PhoneNumber;
|
registration.PhoneNumber = userModelDtoDetailEditModel.UserDto.PhoneNumber;
|
||||||
//registration.Password = password;
|
//registration.Password = password;
|
||||||
registration.Password = AcCharsGenerator.NewPassword(AcConst.MinPasswordLength, 16);
|
registration.Password = AcCharsGenerator.NewPassword(AcConst.MinPasswordLength, 16);
|
||||||
registration.ReferralId = null;
|
registration.ReferralId = null;
|
||||||
|
|
||||||
|
_logger.Info($"New user creating; Email: {registration.Email}");
|
||||||
await UserDataService.CreateGuestUser(registration);
|
await UserDataService.CreateGuestUser(registration);
|
||||||
_logger.Info("New user created added");
|
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
//userModelDtoDetail = await AdminSignalRClient.PostDataAsync(SignalRTags.AddUserModelDtoDetail, userModelDtoDetailEditModel);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_logger.Info($"UserData updating; id: {userModelDtoDetailEditModel.Id}; email: {userModelDtoDetailEditModel.UserDto.EmailAddress}");
|
||||||
|
|
||||||
|
userModelDtoDetail = await AdminSignalRClient.UpdateUserModelDtoDetail(userModelDtoDetailEditModel);
|
||||||
}
|
}
|
||||||
|
|
||||||
_logger.Info("UserData updated at id " + userModelDtoDetailEditModel.Id);
|
if (userModelDtoDetail == null) return;
|
||||||
|
UserData.UpdateCollection(userModelDtoDetail, false);
|
||||||
var updateUserModelDtoDetail = await AdminSignalRClient.PostDataAsync(SignalRTags.UpdateUserModelDtoDetail, userModelDtoDetailEditModel);
|
|
||||||
if (updateUserModelDtoDetail == null) return;
|
|
||||||
|
|
||||||
UserData.UpdateCollection(updateUserModelDtoDetail, false);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
_logger.Info("UserData deleted");
|
_logger.Info("UserData deleted");
|
||||||
|
return Task.CompletedTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
|
|
|
||||||
|
|
@ -100,7 +100,7 @@
|
||||||
SearchMode="ListSearchMode.AutoSearch">
|
SearchMode="ListSearchMode.AutoSearch">
|
||||||
<Columns>
|
<Columns>
|
||||||
@* <DxListEditorColumn FieldName="Id"/> *@
|
@* <DxListEditorColumn FieldName="Id"/> *@
|
||||||
<DxListEditorColumn FieldName="LicencePlate" Caption="LicencePlate" />
|
<DxListEditorColumn FieldName="LicencePlate" Caption="LicencePlate" Width="100" />
|
||||||
<DxListEditorColumn FieldName="Manufacture" Caption="Manufacture" />
|
<DxListEditorColumn FieldName="Manufacture" Caption="Manufacture" />
|
||||||
<DxListEditorColumn FieldName="CarModel" Caption="Model" />
|
<DxListEditorColumn FieldName="CarModel" Caption="Model" />
|
||||||
<DxListEditorColumn FieldName="SeatNumber" Caption="SeatNumber" />
|
<DxListEditorColumn FieldName="SeatNumber" Caption="SeatNumber" />
|
||||||
|
|
@ -198,9 +198,14 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
|
{
|
||||||
|
if (!e.IsNew)
|
||||||
{
|
{
|
||||||
_hasEditPermission = HasReadPermission(((TransferToDriver)e.DataItem).UserProductMappingId);
|
_hasEditPermission = HasReadPermission(((TransferToDriver)e.DataItem).UserProductMappingId);
|
||||||
if (!e.IsNew) return;
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
_hasEditPermission = true;
|
||||||
|
|
||||||
var newDriver = (TransferToDriver)e.EditModel;
|
var newDriver = (TransferToDriver)e.EditModel;
|
||||||
newDriver.Id = Guid.NewGuid();
|
newDriver.Id = Guid.NewGuid();
|
||||||
|
|
@ -213,28 +218,8 @@
|
||||||
|
|
||||||
private Task LoadComboBoxItems()
|
private Task LoadComboBoxItems()
|
||||||
{
|
{
|
||||||
// _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])
|
|
||||||
|
|
||||||
//TODO: CarModelDtoMin-t megcsinálni és azt lekérni a ComboBox-hoz! - J.
|
//TODO: CarModelDtoMin-t megcsinálni és azt lekérni a ComboBox-hoz! - J.
|
||||||
return AdminSignalRClient.GetAllAsync<List<Car>>(SignalRTags.GetAllCarsByProductId, async response =>
|
return AdminSignalRClient.GetAllCarsAndDriversByProductIdAsync(_cars, _drivers, TiamConstClient.TransferProductId, StateHasChanged);
|
||||||
{
|
|
||||||
if (response.Status != SignalResponseStatus.Success || response.ResponseData == null)
|
|
||||||
{
|
|
||||||
_logger.Error($"GetAllAsync<List<Car>>(); status: {response.Status}; dataCount: {response.ResponseData?.Count}");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
_cars.Clear();
|
|
||||||
_cars.AddRange(response.ResponseData);
|
|
||||||
|
|
||||||
_drivers.Clear();
|
|
||||||
_drivers.AddRange(_cars.DistinctBy(x => x.UserProductMappingId).Select(x => x.UserProductMapping));
|
|
||||||
|
|
||||||
await InvokeAsync(StateHasChanged);
|
|
||||||
}, [TiamConstClient.TransferProductId]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DataItemChanged(GridDataItemChangedEventArgs<TransferToDriver> args)
|
private void DataItemChanged(GridDataItemChangedEventArgs<TransferToDriver> args)
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,8 @@
|
||||||
"windowsAuthentication": false,
|
"windowsAuthentication": false,
|
||||||
"anonymousAuthentication": true,
|
"anonymousAuthentication": true,
|
||||||
"iisExpress": {
|
"iisExpress": {
|
||||||
"applicationUrl": "http://localhost:60505/",
|
"applicationUrl": "http://localhost:52163/",
|
||||||
"sslPort": 44395
|
"sslPort": 44374
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -311,7 +311,7 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.GetAllCarsByProductId)]
|
[SignalR(SignalRTags.GetAllCarsByProductId)]
|
||||||
public async Task<List<Car>> GetAllCarsByProductId(Guid productId)
|
public async Task<List<Car>> GetAllCarsByProductId(Guid productId)
|
||||||
{
|
{
|
||||||
_logger.Info($@"GetAllCarsByProductId called");
|
_logger.Debug($@"GetAllCarsByProductId called; productId: {productId}");
|
||||||
|
|
||||||
var cars = await adminDal.GetAllCarsbyProductIdAsync(productId);
|
var cars = await adminDal.GetAllCarsbyProductIdAsync(productId);
|
||||||
return cars;
|
return cars;
|
||||||
|
|
|
||||||
|
|
@ -29,12 +29,13 @@ using DevExpress.Data.Linq;
|
||||||
using DevExpress.Data.Linq.Helpers;
|
using DevExpress.Data.Linq.Helpers;
|
||||||
using System;
|
using System;
|
||||||
using TIAM.Database.DbSets.Transfers;
|
using TIAM.Database.DbSets.Transfers;
|
||||||
|
using TIAM.Services.Interfaces;
|
||||||
|
|
||||||
namespace TIAMWebApp.Server.Controllers
|
namespace TIAMWebApp.Server.Controllers
|
||||||
{
|
{
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Route("api/v1/[controller]")]
|
[Route("api/v1/[controller]")]
|
||||||
public class TransferDataAPIController : ControllerBase
|
public class TransferDataAPIController : ControllerBase, ITransferApiControllerCommon
|
||||||
{
|
{
|
||||||
private readonly AdminDal _adminDal;
|
private readonly AdminDal _adminDal;
|
||||||
private readonly TIAM.Core.Loggers.ILogger _logger;
|
private readonly TIAM.Core.Loggers.ILogger _logger;
|
||||||
|
|
@ -549,6 +550,7 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.GetTransfers)]
|
[SignalR(SignalRTags.GetTransfers)]
|
||||||
public async Task<List<Transfer>> GetTransfers()
|
public async Task<List<Transfer>> GetTransfers()
|
||||||
{
|
{
|
||||||
|
_logger.Debug($"GetTransfers called;");
|
||||||
//var token = _authService.GetAuthTokenFromRequest(Request);
|
//var token = _authService.GetAuthTokenFromRequest(Request);
|
||||||
//_logger.Detail(token);
|
//_logger.Detail(token);
|
||||||
|
|
||||||
|
|
@ -560,6 +562,8 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.GetTransfersByFilterText)]
|
[SignalR(SignalRTags.GetTransfersByFilterText)]
|
||||||
public async Task<List<Transfer>> GetTransfersByFilterText(string criteriaOperatorText)
|
public async Task<List<Transfer>> GetTransfersByFilterText(string criteriaOperatorText)
|
||||||
{
|
{
|
||||||
|
_logger.Debug($"GetTransfersByFilterText called; criteriaOperatorText: {criteriaOperatorText}");
|
||||||
|
|
||||||
if (criteriaOperatorText.IsNullOrWhiteSpace()) return await GetTransfers();
|
if (criteriaOperatorText.IsNullOrWhiteSpace()) return await GetTransfers();
|
||||||
|
|
||||||
var results = await _adminDal.GetTransfersByFilterAsync(CriteriaOperator.Parse(criteriaOperatorText));
|
var results = await _adminDal.GetTransfersByFilterAsync(CriteriaOperator.Parse(criteriaOperatorText));
|
||||||
|
|
@ -570,9 +574,11 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route(APIUrls.GetTransfersByUserIdRouteName)]
|
[Route(APIUrls.GetTransfersByUserIdRouteName)]
|
||||||
[SignalR(SignalRTags.GetTransfersByUserId)]
|
[SignalR(SignalRTags.GetTransfersByUserId)]
|
||||||
public async Task<string> GetTransfersByUserId(Guid userId)
|
public async Task<List<Transfer>> GetTransfersByUserId(Guid userId)
|
||||||
{
|
{
|
||||||
var result = await _adminDal.GetTransfersByUserIdJsonAsync(userId);
|
_logger.Debug($"GetTransfersByUserId called; userId: {userId}");
|
||||||
|
|
||||||
|
var result = await _adminDal.GetTransfersByUserIdAsync(userId);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -582,7 +588,8 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.GetTransfersByUserProductMappingId)]
|
[SignalR(SignalRTags.GetTransfersByUserProductMappingId)]
|
||||||
public async Task<string> GetTransfersByDriverId(Guid userProductMappingId)
|
public async Task<string> GetTransfersByDriverId(Guid userProductMappingId)
|
||||||
{
|
{
|
||||||
_logger.Debug($"GetTransferByDriverId called!!!");
|
_logger.Debug($"GetTransferByDriverId called; userProductMappingId: {userProductMappingId}");
|
||||||
|
|
||||||
var result = await _adminDal.GetTransfersByUserProductMappingIdAsync(userProductMappingId);
|
var result = await _adminDal.GetTransfersByUserProductMappingIdAsync(userProductMappingId);
|
||||||
return result.ToJson();
|
return result.ToJson();
|
||||||
}
|
}
|
||||||
|
|
@ -592,11 +599,11 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Route(APIUrls.GetTransferByIdRouteName)]
|
[Route(APIUrls.GetTransferByIdRouteName)]
|
||||||
[SignalR(SignalRTags.GetTransfer)]
|
[SignalR(SignalRTags.GetTransfer)]
|
||||||
public string? GetTransferById([FromBody] Guid transferId)
|
public async Task<Transfer?> GetTransferById([FromBody] Guid transferId)
|
||||||
{
|
{
|
||||||
_logger.Info($"Get transfer by id called; transferId: {transferId}");
|
_logger.Debug($"GetTransferById called; transferId: {transferId}");
|
||||||
|
|
||||||
return _adminDal.GetTransferJsonById(transferId);
|
return await _adminDal.GetTransferByIdAsync(transferId);
|
||||||
}
|
}
|
||||||
|
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
|
|
@ -605,7 +612,7 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.UpdateTransfer)]
|
[SignalR(SignalRTags.UpdateTransfer)]
|
||||||
public async Task<Transfer?> UpdateTransfer(Transfer transfer)
|
public async Task<Transfer?> UpdateTransfer(Transfer transfer)
|
||||||
{
|
{
|
||||||
_logger.Info($"UpdateTransfer called! + {transfer.Id}");
|
_logger.Info($"UpdateTransfer called! transferId: {transfer.Id}");
|
||||||
|
|
||||||
return await _adminDal.UpdateTransferAsync(transfer);
|
return await _adminDal.UpdateTransferAsync(transfer);
|
||||||
}
|
}
|
||||||
|
|
@ -614,7 +621,7 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.RemoveTransfer)]
|
[SignalR(SignalRTags.RemoveTransfer)]
|
||||||
public async Task<Transfer?> RemoveTransfer(Transfer transfer)
|
public async Task<Transfer?> RemoveTransfer(Transfer transfer)
|
||||||
{
|
{
|
||||||
_logger.Info($"RemoveTransfer called! + {transfer.Id}");
|
_logger.Info($"RemoveTransfer called! transferId: {transfer.Id}");
|
||||||
|
|
||||||
var result = await _adminDal.RemoveTransferAsync(transfer);
|
var result = await _adminDal.RemoveTransferAsync(transfer);
|
||||||
return result ? transfer : null;
|
return result ? transfer : null;
|
||||||
|
|
@ -627,6 +634,8 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.GetAllDrivers)]
|
[SignalR(SignalRTags.GetAllDrivers)]
|
||||||
public async Task<List<UserProductMapping>> GetAllDrivers()
|
public async Task<List<UserProductMapping>> GetAllDrivers()
|
||||||
{
|
{
|
||||||
|
_logger.Debug($"GetAllDrivers called!");
|
||||||
|
|
||||||
var result = await _adminDal.GetAllDriversAsync();
|
var result = await _adminDal.GetAllDriversAsync();
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
@ -647,6 +656,8 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.GetTransferDriver)]
|
[SignalR(SignalRTags.GetTransferDriver)]
|
||||||
public async Task<TransferToDriver?> GetTransferDriver(Guid transferDriverId)
|
public async Task<TransferToDriver?> GetTransferDriver(Guid transferDriverId)
|
||||||
{
|
{
|
||||||
|
_logger.Debug($"GetTransferDriver called; transferDriverId: {transferDriverId}");
|
||||||
|
|
||||||
var result = await _adminDal.GetTransferToDriverByIdAsync(transferDriverId);
|
var result = await _adminDal.GetTransferToDriverByIdAsync(transferDriverId);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
@ -657,6 +668,8 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[SignalR(SignalRTags.GetTransferDriversByTransferId)]
|
[SignalR(SignalRTags.GetTransferDriversByTransferId)]
|
||||||
public async Task<List<TransferToDriver>> GetTransferDrivers(Guid transferId)
|
public async Task<List<TransferToDriver>> GetTransferDrivers(Guid transferId)
|
||||||
{
|
{
|
||||||
|
_logger.Debug($"GetTransferDrivers called; transferId: {transferId}");
|
||||||
|
|
||||||
var result = await _adminDal.GetTransferToDriversByTransferIdAsync(transferId);
|
var result = await _adminDal.GetTransferToDriversByTransferIdAsync(transferId);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@ using Microsoft.AspNetCore.Mvc;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using System.Security.Claims;
|
using System.Security.Claims;
|
||||||
using System.Text.Json;
|
using System.Text.Json;
|
||||||
|
using AyCode.Core.Extensions;
|
||||||
using TIAMWebApp.Shared.Application.Models;
|
using TIAMWebApp.Shared.Application.Models;
|
||||||
using TIAMWebApp.Shared.Application.Models.PageModels;
|
using TIAMWebApp.Shared.Application.Models.PageModels;
|
||||||
using TIAMWebApp.Server.Models;
|
using TIAMWebApp.Server.Models;
|
||||||
|
|
@ -18,13 +19,15 @@ using AyCode.Core.Helpers;
|
||||||
using AyCode.Entities;
|
using AyCode.Entities;
|
||||||
using AyCode.Services.SignalRs;
|
using AyCode.Services.SignalRs;
|
||||||
using TIAM.Services;
|
using TIAM.Services;
|
||||||
|
using TIAM.Services.Interfaces;
|
||||||
|
using TIAMWebApp.Shared.Application.Services;
|
||||||
|
|
||||||
namespace TIAMWebApp.Server.Controllers
|
namespace TIAMWebApp.Server.Controllers
|
||||||
{
|
{
|
||||||
[Authorize]
|
[Authorize]
|
||||||
[ApiController]
|
[ApiController]
|
||||||
[Route("api/v1/[controller]")]
|
[Route("api/v1/[controller]")]
|
||||||
public class UserAPIController(IConfiguration configuration, UserDal userDal, IEnumerable<IAcLogWriterBase> logWriters) : ControllerBase
|
public class UserAPIController(IConfiguration configuration, UserDal userDal, IEnumerable<IAcLogWriterBase> logWriters) : ControllerBase, IUserApiControllerCommon
|
||||||
{
|
{
|
||||||
private readonly TIAM.Core.Loggers.Logger<UserAPIController> _logger = new(logWriters.ToArray());
|
private readonly TIAM.Core.Loggers.Logger<UserAPIController> _logger = new(logWriters.ToArray());
|
||||||
|
|
||||||
|
|
@ -231,63 +234,19 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
[AllowAnonymous]
|
|
||||||
[HttpPost]
|
|
||||||
[Route(APIUrls.UpdateUser)]
|
|
||||||
[SignalR(SignalRTags.UpdateUser)]
|
|
||||||
public async Task<User?> UpdateUser([FromBody] User user)
|
|
||||||
{
|
|
||||||
_logger.Info("UpdateUser called");
|
|
||||||
|
|
||||||
return await userDal.UpdateUserAsync(user);
|
|
||||||
//if (string.IsNullOrEmpty(serializedUserModel.GetRawText()))
|
|
||||||
//{
|
|
||||||
// return BadRequest("SerializedUserModel is required");
|
|
||||||
//}
|
|
||||||
//else
|
|
||||||
//{
|
|
||||||
// var user = JObject.Parse(serializedUserModel.GetRawText()).ToObject<UserModelDtoDetail>();
|
|
||||||
|
|
||||||
// if (user != null)
|
|
||||||
// {
|
|
||||||
// var userId = user.Id;
|
|
||||||
// var email = user.UserDto.EmailAddress;
|
|
||||||
// var phoneNumber = user.UserDto.PhoneNumber;
|
|
||||||
|
|
||||||
// if (email is null || phoneNumber is null)
|
|
||||||
// {
|
|
||||||
// return BadRequest("Invalid request");
|
|
||||||
// }
|
|
||||||
// else
|
|
||||||
// {
|
|
||||||
// _logger.Info($"User to be updated: {userId}");
|
|
||||||
// _logger.Info($"User to be updated: {email}");
|
|
||||||
// _logger.Info($"User to be updated: {phoneNumber}");
|
|
||||||
|
|
||||||
// await userDal.UpdateUserAsync(new User(userId, email, phoneNumber));
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// return Ok("yes");
|
|
||||||
//}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Route(APIUrls.CreateGuestUserRouteName)]
|
[Route(APIUrls.CreateGuestUserRouteName)]
|
||||||
public async Task<IActionResult> CreateGuestUser([FromBody] JsonElement serializedRegistrationModel)
|
public async Task<IActionResult> CreateGuestUser([FromBody] JsonElement serializedRegistrationModel)
|
||||||
{
|
{
|
||||||
_logger.Info(@"CreateGuestUser called");
|
_logger.Info(@"CreateGuestUser called");
|
||||||
var result = false;
|
|
||||||
UserModelDtoDetail? guestUser = null;
|
UserModelDtoDetail? guestUser = null;
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(serializedRegistrationModel.GetRawText()))
|
if (string.IsNullOrEmpty(serializedRegistrationModel.GetRawText()))
|
||||||
{
|
{
|
||||||
return BadRequest("SerializedLoginModel is required");
|
return BadRequest("SerializedLoginModel is required");
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
var user = JObject.Parse(serializedRegistrationModel.GetRawText()).ToObject<RegistrationModel>();
|
var user = JObject.Parse(serializedRegistrationModel.GetRawText()).ToObject<RegistrationModel>();
|
||||||
|
|
||||||
if (user != null)
|
if (user != null)
|
||||||
|
|
@ -299,54 +258,34 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
|
|
||||||
|
|
||||||
var userId = Guid.NewGuid();
|
var userId = Guid.NewGuid();
|
||||||
var email = user?.Email;
|
var email = user.Email?.ToLower();
|
||||||
var phoneNumber = user?.PhoneNumber;
|
var phoneNumber = user.PhoneNumber;
|
||||||
var password = user?.Password;
|
var password = user.Password;
|
||||||
|
|
||||||
var referralId = user?.ReferralId;
|
var referralId = user.ReferralId.IsNullOrEmpty() ? null : user.ReferralId;
|
||||||
|
|
||||||
if (email is null || phoneNumber is null || password is null)
|
if (email is null || phoneNumber is null || password is null)
|
||||||
{
|
{
|
||||||
return BadRequest("Invalid request");
|
return BadRequest("Invalid request");
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
_logger.Info($@"User to be created: {userId}");
|
_logger.Info($@"User to be created: {userId}");
|
||||||
_logger.Info($@"User to be created: {email}");
|
_logger.Info($@"User to be created: {email}");
|
||||||
_logger.Info($@"User to be created: {phoneNumber}");
|
_logger.Info($@"User to be created: {phoneNumber}");
|
||||||
_logger.Info($@"User to be created: {password}");
|
_logger.Info($@"User to be created: {password}");
|
||||||
//User userToCreate = new(userId, email, phoneNumber, hashedPassword);
|
|
||||||
//userToCreate.ProfileId = Guid.NewGuid();
|
|
||||||
|
|
||||||
//userToCreate.Profile = new Profile();
|
var createResult = await _loginService.RegistrationAsync(userId, email, password, phoneNumber, referralId);
|
||||||
//userToCreate.Profile.Id = userToCreate.ProfileId;
|
|
||||||
//userToCreate.Profile.Name = "Guest - " + nameExtension;
|
|
||||||
//userToCreate.RefferalId = referralId;
|
|
||||||
//userToCreate.Profile.AddressId = Guid.NewGuid();
|
|
||||||
|
|
||||||
////Random rnd = new Random();
|
|
||||||
//userToCreate.Profile.Address = new Address();
|
|
||||||
//userToCreate.Profile.Address.Id = userToCreate.Profile.AddressId;
|
|
||||||
//userToCreate.Profile.Address.AddressText = null;
|
|
||||||
//userToCreate.Profile.Address.Latitude = null; //Math.Round(90 + rnd.NextDouble(), 8);
|
|
||||||
//userToCreate.Profile.Address.Longitude = null; //Math.Round(180 + rnd.NextDouble(), 8);
|
|
||||||
//result = await _userDal.AddUserAsync(userToCreate);
|
|
||||||
//guestUser = await _userDal.GetUserModelDtoByIdAsync<UserModelDtoDetail>(userId, false);
|
|
||||||
var createResult = await _loginService.RegistrationAsync(userId, email, password, phoneNumber);
|
|
||||||
if (createResult != AyCode.Core.Consts.AcErrorCode.Unset)
|
if (createResult != AyCode.Core.Consts.AcErrorCode.Unset)
|
||||||
{
|
{
|
||||||
_logger.Error("Error:" + createResult.ToString());
|
_logger.Error("Error:" + createResult.ToString());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result = true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Ok(guestUser);
|
return Ok(guestUser);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
|
|
@ -383,19 +322,58 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
public async Task<List<UserModelDtoEmail>> GetUserModelDtoEmails()
|
public async Task<List<UserModelDtoEmail>> GetUserModelDtoEmails()
|
||||||
{
|
{
|
||||||
_logger.Info("GetUserModelDtoEmails called");
|
_logger.Info("GetUserModelDtoEmails called");
|
||||||
|
|
||||||
return await userDal.GetUserModelDtoEmailsAsync();
|
return await userDal.GetUserModelDtoEmailsAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[AllowAnonymous]
|
||||||
|
[HttpPost]
|
||||||
|
[Route(APIUrls.UpdateUser)]
|
||||||
|
[SignalR(SignalRTags.UpdateUser)]
|
||||||
|
public async Task<User?> UpdateUser([FromBody] User user)
|
||||||
|
{
|
||||||
|
_logger.Info("UpdateUser called");
|
||||||
|
|
||||||
|
return await userDal.UpdateUserAsync(user);
|
||||||
|
}
|
||||||
|
|
||||||
[NonAction]
|
[NonAction]
|
||||||
[SignalR(SignalRTags.UpdateUserModelDtoDetail)]
|
[SignalR(SignalRTags.UpdateUserModelDtoDetail)]
|
||||||
public async Task<UserModelDtoDetail?> UpdateUserModelDtoDetail(UserModelDtoDetail userModelDtoDetail)
|
public async Task<UserModelDtoDetail?> UpdateUserModelDtoDetail(UserModelDtoDetail userModelDtoDetail)
|
||||||
{
|
{
|
||||||
_logger.Info("UpdateUserModelDtoDetail called");
|
_logger.Info($"UpdateUserModelDtoDetail called; Id: {userModelDtoDetail.UserDto.Id}");
|
||||||
|
|
||||||
var result = await userDal.UpdateUserModelDtoDetailAsync(userModelDtoDetail);
|
var result = await userDal.UpdateUserModelDtoDetailAsync(userModelDtoDetail);
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[NonAction]
|
||||||
|
[SignalR(SignalRTags.AddUser)]
|
||||||
|
public async Task<User?> AddUser(User user)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException("Profile, Address, etc...");
|
||||||
|
|
||||||
|
if (user.Id.IsNullOrEmpty()) user.Id = Guid.NewGuid();
|
||||||
|
|
||||||
|
_logger.Info($"AddUser called; Id: {user.Id}");
|
||||||
|
|
||||||
|
return await userDal.AddUserAsync(user) ? user : null;
|
||||||
|
}
|
||||||
|
|
||||||
|
[NonAction]
|
||||||
|
[SignalR(SignalRTags.AddUserModelDtoDetail)]
|
||||||
|
public async Task<UserModelDtoDetail?> AddUserModelDtoDetail(UserModelDtoDetail userModelDtoDetail)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException("Profile, Address, etc...");
|
||||||
|
|
||||||
|
if (userModelDtoDetail.UserDto.Id.IsNullOrEmpty()) userModelDtoDetail.UserDto.Id = Guid.NewGuid();
|
||||||
|
|
||||||
|
_logger.Info($"AddUserModelDtoDetail called; Id: {userModelDtoDetail.UserDto.Id}");
|
||||||
|
|
||||||
|
var result = await userDal.AddUserModelDtoDetailAsync(userModelDtoDetail);
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route(APIUrls.GetUserByEmailRouteName + "/{email}")]
|
[Route(APIUrls.GetUserByEmailRouteName + "/{email}")]
|
||||||
|
|
|
||||||
|
|
@ -132,7 +132,10 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
||||||
|
|
||||||
public override async Task OnDisconnectedAsync(Exception? exception)
|
public override async Task OnDisconnectedAsync(Exception? exception)
|
||||||
{
|
{
|
||||||
_logger.ErrorConditional($"Server OnDisconnectedAsync; ConnectionId: {Context.ConnectionId}; UserIdentifier: {Context.UserIdentifier}", exception);
|
var logText = $"Server OnDisconnectedAsync; ConnectionId: {Context.ConnectionId}; UserIdentifier: {Context.UserIdentifier};";
|
||||||
|
|
||||||
|
if (exception == null) _logger.Debug(logText);
|
||||||
|
else _logger.Error(logText, exception);
|
||||||
|
|
||||||
//await Groups.RemoveFromGroupAsync(Context.ConnectionId, "SignalR Users");
|
//await Groups.RemoveFromGroupAsync(Context.ConnectionId, "SignalR Users");
|
||||||
await base.OnDisconnectedAsync(exception);
|
await base.OnDisconnectedAsync(exception);
|
||||||
|
|
@ -212,7 +215,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
||||||
}
|
}
|
||||||
else _logger.Debug($"{logText}(); {tagName}");
|
else _logger.Debug($"{logText}(); {tagName}");
|
||||||
|
|
||||||
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, methodInfoModel.MethodInfo.InvokeMethod(methodsByDeclaringObject.InstanceObject, paramValues)), requestId);
|
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, methodInfoModel.MethodInfo.InvokeMethod(methodsByDeclaringObject.InstanceObject, paramValues)), requestId);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
@ -226,7 +229,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
||||||
var id = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0].JsonTo<Guid[]>()![0];
|
var id = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0].JsonTo<Guid[]>()![0];
|
||||||
|
|
||||||
var address = await _adminDal.GetAddressByIdAsync(id);
|
var address = await _adminDal.GetAddressByIdAsync(id);
|
||||||
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, address), requestId);
|
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, address), requestId);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
@ -235,7 +238,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
||||||
id = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0].JsonTo<Guid[]>()![0];
|
id = message!.MessagePackTo<SignalPostJsonDataMessage<IdMessage>>().PostData.Ids[0].JsonTo<Guid[]>()![0];
|
||||||
|
|
||||||
address = await _adminDal.GetAddressByIdAsync(id);
|
address = await _adminDal.GetAddressByIdAsync(id);
|
||||||
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, new List<Address> { address! }), requestId);
|
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, new List<Address> { address! }), requestId);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
@ -243,7 +246,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
||||||
address = message!.MessagePackTo<SignalPostJsonDataMessage<Address>>().PostData;
|
address = message!.MessagePackTo<SignalPostJsonDataMessage<Address>>().PostData;
|
||||||
|
|
||||||
await _adminDal.UpdateAddressAsync(address);
|
await _adminDal.UpdateAddressAsync(address);
|
||||||
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, address), requestId);
|
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, address), requestId);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
@ -251,7 +254,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
||||||
var profile = message!.MessagePackTo<SignalPostJsonDataMessage<Profile>>().PostData;
|
var profile = message!.MessagePackTo<SignalPostJsonDataMessage<Profile>>().PostData;
|
||||||
|
|
||||||
await _adminDal.UpdateProfileAsync(profile);
|
await _adminDal.UpdateProfileAsync(profile);
|
||||||
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Success, profile), requestId);
|
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Success, profile), requestId);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
@ -298,7 +301,7 @@ public class DevAdminSignalRHub : Hub<ISignalRHubItemServer>, IAcSignalRHubServe
|
||||||
_logger.Error($"Server OnReceiveMessage; {ex.Message}; {tagName}", ex);
|
_logger.Error($"Server OnReceiveMessage; {ex.Message}; {tagName}", ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(SignalResponseStatus.Error), requestId);
|
await ResponseToCaller(messageTag, new SignalResponseJsonMessage(messageTag, SignalResponseStatus.Error), requestId);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async Task ResponseToCaller(int messageTag, ISignalRMessage message, int? requestId)
|
protected async Task ResponseToCaller(int messageTag, ISignalRMessage message, int? requestId)
|
||||||
|
|
|
||||||
|
|
@ -9,18 +9,193 @@ using AyCode.Services.Loggers;
|
||||||
using AyCode.Services.SignalRs;
|
using AyCode.Services.SignalRs;
|
||||||
using MessagePack.Resolvers;
|
using MessagePack.Resolvers;
|
||||||
using Microsoft.AspNetCore.SignalR.Client;
|
using Microsoft.AspNetCore.SignalR.Client;
|
||||||
|
using TIAM.Core.Consts;
|
||||||
|
using TIAM.Entities.Drivers;
|
||||||
|
using TIAM.Entities.Transfers;
|
||||||
|
using TIAM.Entities.Users;
|
||||||
|
using TIAM.Models.Dtos.Users;
|
||||||
using TIAM.Services;
|
using TIAM.Services;
|
||||||
|
using TIAM.Services.Interfaces;
|
||||||
using TIAMWebApp.Shared.Application.Models.ClientSide;
|
using TIAMWebApp.Shared.Application.Models.ClientSide;
|
||||||
using TIAMWebApp.Shared.Application.Utility;
|
using TIAMWebApp.Shared.Application.Utility;
|
||||||
|
|
||||||
namespace TIAMWebApp.Shared.Application.Services
|
namespace TIAMWebApp.Shared.Application.Services
|
||||||
{
|
{
|
||||||
public class AdminSignalRClient : AcSignalRClientBase
|
public class AdminSignalRClient : AcSignalRClientBase, IUserApiControllerClient, ITransferApiControllerClient
|
||||||
{
|
{
|
||||||
public AdminSignalRClient(IEnumerable<IAcLogWriterClientBase> logWriters) : base($"{Setting.BaseUrl}/DevAdminHub", new LoggerClient(nameof(AdminSignalRClient), logWriters.ToArray()))
|
public AdminSignalRClient(IEnumerable<IAcLogWriterClientBase> logWriters) : base($"{Setting.BaseUrl}/DevAdminHub", new LoggerClient(nameof(AdminSignalRClient), logWriters.ToArray()))
|
||||||
{
|
{
|
||||||
ConstHelper.NameByValue<SignalRTags>(0);
|
ConstHelper.NameByValue<SignalRTags>(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#region IUserApiController
|
||||||
|
public async Task<User?> UpdateUser(User user)
|
||||||
|
=> await PostDataAsync(SignalRTags.UpdateUser, user);
|
||||||
|
|
||||||
|
public async Task<UserModelDtoDetail?> UpdateUserModelDtoDetail(UserModelDtoDetail userModelDtoDetail)
|
||||||
|
=> await PostDataAsync(SignalRTags.UpdateUserModelDtoDetail, userModelDtoDetail);
|
||||||
|
#endregion IUserApiController
|
||||||
|
|
||||||
|
#region ICompanyApiController
|
||||||
|
public async Task<List<Car>> GetAllCarsByProductId(Guid productId)
|
||||||
|
{
|
||||||
|
Logger.Detail($"GetAllCarsByProductId client called; productId: {productId}");
|
||||||
|
return await GetAllAsync<List<Car>>(SignalRTags.GetAllCarsByProductId, [productId]) ?? [];
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task GetAllCarsAndDriversByProductIdAsync(List<Car> intoCars, List<UserProductMapping> intoDrivers, Guid productId, Action? callback = null)
|
||||||
|
{
|
||||||
|
return GetAllCarsByProductIdAsync(intoCars, productId, () =>
|
||||||
|
{
|
||||||
|
intoDrivers.Clear();
|
||||||
|
intoDrivers.AddRange(intoCars.DistinctBy(x => x.UserProductMappingId).Select(x => x.UserProductMapping));
|
||||||
|
|
||||||
|
callback?.Invoke();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task GetAllCarsByProductIdAsync(List<Car> intoCars, Guid productId, Action? callback = null)
|
||||||
|
{
|
||||||
|
Logger.Detail($"GetAllCarsByProductIdAsync client called; productId: {productId}");
|
||||||
|
|
||||||
|
//TODO: AdminSignalRClient.GetAllIntoAsync<Car>(_cars, SignalRTags.GetAllCarsByProductId, [productId]) - J.
|
||||||
|
return GetAllAsync<List<Car>>(SignalRTags.GetAllCarsByProductId, response =>
|
||||||
|
{
|
||||||
|
if (response is { Status: SignalResponseStatus.Success, ResponseData: not null })
|
||||||
|
{
|
||||||
|
intoCars.Clear();
|
||||||
|
intoCars.AddRange(response.ResponseData);
|
||||||
|
}
|
||||||
|
|
||||||
|
callback?.Invoke();
|
||||||
|
|
||||||
|
return Task.CompletedTask;
|
||||||
|
}, [productId]);
|
||||||
|
}
|
||||||
|
#endregion ICompanyApiController
|
||||||
|
|
||||||
|
#region ITransferApiController
|
||||||
|
public async Task<List<Transfer>> GetTransfers()
|
||||||
|
=> await GetAllAsync<List<Transfer>>(SignalRTags.GetTransfers) ?? [];
|
||||||
|
|
||||||
|
public async Task<List<Transfer>> GetTransfersByFilterText(string criteriaOperatorText)
|
||||||
|
=> await GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersByFilterText, [criteriaOperatorText]) ?? [];
|
||||||
|
|
||||||
|
public async Task<List<Transfer>> GetTransfersByUserId(Guid userId)
|
||||||
|
=> await GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersByUserId, [userId]) ?? [];
|
||||||
|
|
||||||
|
public async Task<string> GetTransfersByDriverId(Guid userProductMappingId)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<Transfer?> GetTransferById(Guid transferId)
|
||||||
|
=> await GetByIdAsync<Transfer>(SignalRTags.GetTransfer, transferId);
|
||||||
|
|
||||||
|
public async Task<Transfer?> UpdateTransfer(Transfer transfer)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<Transfer?> RemoveTransfer(Transfer transfer)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<UserProductMapping>> GetAllDrivers()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<UserProductMapping>> GetAllDriversByProductId(Guid productId)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferToDriver?> GetTransferDriver(Guid transferDriverId)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<TransferToDriver>> GetTransferDrivers(Guid transferId)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferToDriver?> AddTransferDriver(TransferToDriver transferToDriver)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferToDriver?> UpdateTransferDriver(TransferToDriver transferToDriver)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferToDriver?> RemoveTransferDriver(TransferToDriver transferToDriver)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<TransferDestination> GetTransferDestinations()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferDestination?> GetTransferDestinationById(Guid transferDestinationId)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferDestination?> CreateTransferDestination(TransferDestination transferDestination)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferDestination?> UpdateTransferDestination(TransferDestination transferDestination)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferDestination?> RemoveTransferDestination(TransferDestination transferDestination)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<TransferDestinationToProduct>> GetAllTransferDestinationToProducts()
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<TransferDestinationToProduct>> GetTransferDestinationToProductsByProductId(Guid productId)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<List<TransferDestinationToProduct>> GetTransferDestinationToProductsByTransferDestinationId(Guid transferDestinationId)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferDestinationToProduct?> GetTransferDestinationToProductById(Guid transferDestinationToProductId)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferDestinationToProduct?> CreateTransferDestinationToProduct(TransferDestinationToProduct transferDestinationToProduct)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferDestinationToProduct?> UpdateTransferDestinationToProduct(TransferDestinationToProduct transferDestinationToProduct)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
|
||||||
|
public async Task<TransferDestinationToProduct?> RemoveTransferDestinationToProduct(TransferDestinationToProduct transferDestinationToProduct)
|
||||||
|
{
|
||||||
|
throw new NotImplementedException();
|
||||||
|
}
|
||||||
|
#endregion ITransferApiController
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue