improvements, fixes, etc...

This commit is contained in:
Loretta 2024-07-06 07:21:10 +02:00
parent 42b351262a
commit adb855843c
10 changed files with 124 additions and 57 deletions

View File

@ -103,6 +103,7 @@ public class SignalRTags : AcSignalRTags
public const int GetTransferDestinationToProductsByTransferDestinationId = 96; public const int GetTransferDestinationToProductsByTransferDestinationId = 96;
public const int GetAllUsers = 120; public const int GetAllUsers = 120;
public const int GetAllUserModelDtoDetails = 121;
public const int GetAllUserModelDtoEmails = 125; public const int GetAllUserModelDtoEmails = 125;
public const int GetAllLogItemsByFilterText = 1000; public const int GetAllLogItemsByFilterText = 1000;

View File

@ -9,6 +9,8 @@
@using TIAMSharedUI.Pages.Components; @using TIAMSharedUI.Pages.Components;
@using TIAMSharedUI.Shared @using TIAMSharedUI.Shared
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels @using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@using AyCode.Core.Helpers
@using AyCode.Core.Consts
@inject NavigationManager NavManager @inject NavigationManager NavManager
@inject IUserDataService UserDataService; @inject IUserDataService UserDataService;
@inject IJSRuntime jsRuntime; @inject IJSRuntime jsRuntime;
@ -461,10 +463,12 @@ new HeroSliderItem
{ {
//if not, create user //if not, create user
Random random = new Random(); // Random random = new Random();
string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; // string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
string password = new string(Enumerable.Repeat(chars, 10) // string password = new string(Enumerable.Repeat(chars, 10)
.Select(s => s[random.Next(s.Length)]).ToArray()); // .Select(s => s[random.Next(s.Length)]).ToArray());
var password = AcCharGenerator.NewPassword(AcConst.MinPasswordLength, 16);
RegistrationModel regModel = new RegistrationModel RegistrationModel regModel = new RegistrationModel
{ {

View File

@ -150,11 +150,15 @@
</Columns> </Columns>
<DetailRowTemplate> <DetailRowTemplate>
<DxTabs> <DxTabs>
@{
var transfer = ((Transfer)context.DataItem);
}
<DxTabPage Text="Messages"> <DxTabPage Text="Messages">
<MessageDetailGridComponent ContextId="((Transfer)context.DataItem).Id" /> <MessageDetailGridComponent ContextId="transfer.Id" />
</DxTabPage> </DxTabPage>
<DxTabPage Text="Driver"> <DxTabPage Text="Driver">
<TransferToDriverGridComponent ContextId="((Transfer)context.DataItem).Id" ParentData="(Transfer)context.DataItem" /> <TransferToDriverGridComponent ContextId="transfer.Id" ParentData="transfer" DriverId="driverId" NewButtonVisible="false" DeleteButtonVisible="false" />
</DxTabPage> </DxTabPage>
</DxTabs> </DxTabs>
</DetailRowTemplate> </DetailRowTemplate>

View File

@ -10,6 +10,8 @@
@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.Core.Helpers
@using AyCode.Core.Consts
@layout AdminLayout @layout AdminLayout
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject IStringLocalizer<TIAMResources> Localizer @inject IStringLocalizer<TIAMResources> Localizer
@ -119,11 +121,13 @@
var registration = new RegistrationModel(); var registration = new RegistrationModel();
//TODO: Refractor to userDataService //TODO: Refractor to userDataService
var random = new Random(); // var random = new Random();
const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; // const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
var password = new string(Enumerable.Repeat(chars, 10) // var password = new string(Enumerable.Repeat(chars, 10)
.Select(s => s[random.Next(s.Length)]).ToArray()); // .Select(s => s[random.Next(s.Length)]).ToArray());
var password = AcCharGenerator.NewPassword(AcConst.MinPasswordLength, 16);
registration.Email = userModelDtoDetail.UserDto.EmailAddress; registration.Email = userModelDtoDetail.UserDto.EmailAddress;
registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber; registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber;
registration.Password = password; registration.Password = password;

View File

@ -10,6 +10,8 @@
@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.Core.Helpers
@using AyCode.Core.Consts
@layout AdminLayout @layout AdminLayout
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject IStringLocalizer<TIAMResources> Localizer @inject IStringLocalizer<TIAMResources> Localizer
@ -100,10 +102,12 @@
var registration = new RegistrationModel(); var registration = new RegistrationModel();
//TODO: Refractor to userDataService //TODO: Refractor to userDataService
var random = new Random(); // var random = new Random();
const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; // const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
var password = new string(Enumerable.Repeat(chars, 10) // var password = new string(Enumerable.Repeat(chars, 10)
.Select(s => s[random.Next(s.Length)]).ToArray()); // .Select(s => s[random.Next(s.Length)]).ToArray());
var password = AcCharGenerator.NewPassword(AcConst.MinPasswordLength, 16);
registration.Email = userModelDtoDetail.UserDto.EmailAddress; registration.Email = userModelDtoDetail.UserDto.EmailAddress;
registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber; registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber;

View File

@ -10,6 +10,8 @@
@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.Core.Helpers
@using AyCode.Core.Consts
@layout AdminLayout @layout AdminLayout
@inject IEnumerable<IAcLogWriterClientBase> LogWriters @inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject IStringLocalizer<TIAMResources> Localizer @inject IStringLocalizer<TIAMResources> Localizer
@ -119,10 +121,12 @@
var registration = new RegistrationModel(); var registration = new RegistrationModel();
//TODO: Refractor to userDataService //TODO: Refractor to userDataService
var random = new Random(); // var random = new Random();
const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; // const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
var password = new string(Enumerable.Repeat(chars, 10) // var password = new string(Enumerable.Repeat(chars, 10)
.Select(s => s[random.Next(s.Length)]).ToArray()); // .Select(s => s[random.Next(s.Length)]).ToArray());
var password = AcCharGenerator.NewPassword(AcConst.MinPasswordLength, 16);
registration.Email = userModelDtoDetail.UserDto.EmailAddress; registration.Email = userModelDtoDetail.UserDto.EmailAddress;
registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber; registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber;

View File

@ -11,12 +11,16 @@
@using TIAMWebApp.Shared.Application.Utility @using TIAMWebApp.Shared.Application.Utility
@using AyCode.Services.Loggers @using AyCode.Services.Loggers
@using AyCode.Core @using AyCode.Core
@using AyCode.Core.Consts
@using AyCode.Core.Helpers
@using TIAMWebApp.Shared.Application.Services
@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 IWizardProcessor WizardProcessor @inject IWizardProcessor WizardProcessor
@inject IUserDataService UserDataService @inject IUserDataService UserDataService
@inject AdminSignalRClient AdminSignalRClient;
<PageTitle>Users</PageTitle> <PageTitle>Users</PageTitle>
<div class="text-center m-5"> <div class="text-center m-5">
@ -185,7 +189,7 @@
MessageWizardModel.ReceiverId = item.Id; MessageWizardModel.ReceiverId = item.Id;
MessageWizardModel.ReceiverEmailAddress = item.UserDto.EmailAddress; MessageWizardModel.ReceiverEmailAddress = item.UserDto.EmailAddress;
MessageWizardModel.SenderId = SessionService.User.UserId; MessageWizardModel.SenderId = SessionService.User?.UserId ?? throw new NullReferenceException("SessionService.User == null");
MessageWizardModel.SenderEmailAddress = "info@anataworld.com"; MessageWizardModel.SenderEmailAddress = "info@anataworld.com";
// _logger.Info($"Sending mail to {MessageWizardModel.ReceiverEmailAddress} from {MessageWizardModel.SenderId}"); // _logger.Info($"Sending mail to {MessageWizardModel.ReceiverEmailAddress} from {MessageWizardModel.SenderId}");
@ -261,8 +265,6 @@
userEditModel.ServiceProviders = []; userEditModel.ServiceProviders = [];
userEditModel.UserProductMappings = []; userEditModel.UserProductMappings = [];
} }
} }
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e) async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
@ -274,14 +276,17 @@
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 random = new Random();
var password = new string(Enumerable.Repeat(chars, 10) // const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
.Select(s => s[random.Next(s.Length)]).ToArray()); // var password = new string(Enumerable.Repeat(chars, 10)
// .Select(s => s[random.Next(s.Length)]).ToArray());
registration.Email = userModelDtoDetail.UserDto.EmailAddress; registration.Email = userModelDtoDetail.UserDto.EmailAddress;
registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber; registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber;
registration.Password = password; //registration.Password = password;
registration.Password = AcCharGenerator.NewPassword(AcConst.MinPasswordLength, 16);
registration.ReferralId = null; registration.ReferralId = null;
await UserDataService.CreateGuestUser(registration); await UserDataService.CreateGuestUser(registration);
@ -318,7 +323,8 @@
async Task UpdateDataAsync() async Task UpdateDataAsync()
{ {
//refresh grid //refresh grid
UserData = (await UserDataService.GetUsersWithDetailsAsync()).OrderBy(x => x.ProfileDto?.Name).ToList(); //UserData = (await UserDataService.GetUsersWithDetailsAsync()).OrderBy(x => x.ProfileDto?.Name).ToList();
UserData = await AdminSignalRClient.GetAllAsync<List<UserModelDtoDetail>>(SignalRTags.GetAllUserModelDtoDetails) ?? [];
_logger.Info("UserData grid refreshed"); _logger.Info("UserData grid refreshed");
} }
@ -326,7 +332,7 @@
{ {
_logger = new LoggerClient<ManageUsers>(LogWriters.ToArray()); _logger = new LoggerClient<ManageUsers>(LogWriters.ToArray());
UserData = (await UserDataService.GetUsersWithDetailsAsync()).OrderBy(x => x.ProfileDto?.Name).ToList(); await UpdateDataAsync();
base.OnInitialized(); base.OnInitialized();
} }

View File

@ -34,15 +34,26 @@
EditMode="GridEditMode.EditRow" EditMode="GridEditMode.EditRow"
ColumnResizeMode="GridColumnResizeMode.NextColumn"> ColumnResizeMode="GridColumnResizeMode.NextColumn">
<Columns> <Columns>
<DxGridCommandColumn Width="150" MinWidth="150" FixedPosition="GridColumnFixedPosition.Left" /> <DxGridCommandColumn Width="150" MinWidth="150" FixedPosition="GridColumnFixedPosition.Left"
<DxGridDataColumn FieldName="Id" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" DisplayFormat="N" /> Visible="CommandColumnVisible" NewButtonVisible="NewButtonVisible" DeleteButtonVisible="DeleteButtonVisible" EditButtonVisible="EditButtonVisible" />
<DxGridDataColumn FieldName="Id" ShowInColumnChooser="AcDomain.IsDeveloperVersion" Visible="AcDomain.IsDeveloperVersion" DisplayFormat="N" ReadOnly="true" />
@{ @{
var userEmailFieldName = $"{nameof(TransferToDriver.UserProductMapping)}.{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}"; var userEmailFieldName = $"{nameof(TransferToDriver.UserProductMapping)}.{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}";
var userEmailFieldNameComboItem = $"{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}"; var userEmailFieldNameComboItem = $"{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}";
var userNameFieldNameComboItem = $"{nameof(UserProductMapping.User)}.{nameof(User.FullName)}"; var userNameFieldNameComboItem = $"{nameof(UserProductMapping.User)}.{nameof(User.FullName)}";
} }
<DxGridDataColumn FieldName="@userEmailFieldName" Caption="Driver" SortIndex="0"> <DxGridDataColumn FieldName="@userEmailFieldName" Caption="Driver" SortIndex="0" ReadOnly="!DriverId.IsNullOrEmpty()">
<CellDisplayTemplate>
@{
var email = string.Empty;
var transferToDriverDataItem = ((TransferToDriver)context.DataItem);
if (HasReadPermission(transferToDriverDataItem.UserProductMappingId))
email = transferToDriverDataItem.UserProductMapping.User.EmailAddress;
}
<text>@email</text>
</CellDisplayTemplate>
<CellEditTemplate> <CellEditTemplate>
@{ @{
var transferToDriverEditModel = (TransferToDriver)context.EditModel; var transferToDriverEditModel = (TransferToDriver)context.EditModel;
@ -51,6 +62,7 @@
<DxComboBox Data="@_drivers" <DxComboBox Data="@_drivers"
TData="@UserProductMapping" TData="@UserProductMapping"
TValue="@UserProductMapping" TValue="@UserProductMapping"
ReadOnly="!DriverId.IsNullOrEmpty()"
TextFieldName="@userEmailFieldNameComboItem" TextFieldName="@userEmailFieldNameComboItem"
Value="@_drivers.FirstOrDefault(x => x.Id == transferToDriverEditModel.UserProductMappingId)" Value="@_drivers.FirstOrDefault(x => x.Id == transferToDriverEditModel.UserProductMappingId)"
ValueChanged="v => transferToDriverEditModel.UserProductMappingId = v.Id" ValueChanged="v => transferToDriverEditModel.UserProductMappingId = v.Id"
@ -65,11 +77,11 @@
</CellEditTemplate> </CellEditTemplate>
</DxGridDataColumn> </DxGridDataColumn>
<DxGridDataColumn FieldName="CarId" Caption="Car"> <DxGridDataColumn FieldName="CarId" Caption="Car" ReadOnly="!_hasEditPermission">
<CellDisplayTemplate> <CellDisplayTemplate>
@{ @{
var transferToDriver = (TransferToDriver)context.DataItem; var transferToDriverDataItem = (TransferToDriver)context.DataItem;
<text>@_cars.FirstOrDefault(x => x.Id == transferToDriver.CarId)?.LicencePlate</text> <text>@_cars.FirstOrDefault(x => x.Id == transferToDriverDataItem.CarId)?.LicencePlate</text>
} }
</CellDisplayTemplate> </CellDisplayTemplate>
<CellEditTemplate> <CellEditTemplate>
@ -80,6 +92,7 @@
<DxComboBox Data="@_cars.Where(x=>x.UserProductMappingId == transferToDriverEditModel.UserProductMappingId)" <DxComboBox Data="@_cars.Where(x=>x.UserProductMappingId == transferToDriverEditModel.UserProductMappingId)"
TData="@Car" TData="@Car"
TValue="@Car" TValue="@Car"
ReadOnly="!_hasEditPermission"
TextFieldName="LicencePlate" TextFieldName="LicencePlate"
Value="@_cars.FirstOrDefault(x => x.Id == transferToDriverEditModel.CarId)" Value="@_cars.FirstOrDefault(x => x.Id == transferToDriverEditModel.CarId)"
ValueChanged="v => { transferToDriverEditModel.CarId = v?.Id ?? Guid.Empty; transferToDriverEditModel.LicencePlate = v?.LicencePlate ?? string.Empty; }" ValueChanged="v => { transferToDriverEditModel.CarId = v?.Id ?? Guid.Empty; transferToDriverEditModel.LicencePlate = v?.LicencePlate ?? string.Empty; }"
@ -122,18 +135,43 @@
</DxGridDataColumn>*@ </DxGridDataColumn>*@
<DxGridDataColumn FieldName="Price" /> <DxGridDataColumn FieldName="Price" ReadOnly="!_hasEditPermission">
<CellDisplayTemplate>
@{
var price = string.Empty;
var transferToDriverDataItem = ((TransferToDriver)context.DataItem);
if (HasReadPermission(transferToDriverDataItem.UserProductMappingId))
price = transferToDriverDataItem.Price.ToString("N0");
}
<text>@price</text>
</CellDisplayTemplate>
</DxGridDataColumn>
@* <DxGridDataColumn FieldName="LicencePlate" ReadOnly="true" /> *@ @* <DxGridDataColumn FieldName="LicencePlate" ReadOnly="true" /> *@
<DxGridDataColumn FieldName="Created" DisplayFormat="g" Width="140" CaptionAlignment="GridTextAlignment.Center" TextAlignment="GridTextAlignment.Center" /> <DxGridDataColumn FieldName="Created" DisplayFormat="g" Width="140" CaptionAlignment="GridTextAlignment.Center" TextAlignment="GridTextAlignment.Center" ReadOnly="true" />
<DxGridDataColumn FieldName="Modified" DisplayFormat="g" Width="140" CaptionAlignment="GridTextAlignment.Center" TextAlignment="GridTextAlignment.Center" /> <DxGridDataColumn FieldName="Modified" DisplayFormat="g" Width="140" CaptionAlignment="GridTextAlignment.Center" TextAlignment="GridTextAlignment.Center" ReadOnly="true"/>
</Columns> </Columns>
</TransferToDriversDetailGrid> </TransferToDriversDetailGrid>
@code { @code {
/// <summary>
/// UserProductMappingId! Not required...
/// </summary>
[Parameter] public Guid? DriverId { get; set; } = null;
[Parameter] public Guid ContextId { get; set; } [Parameter] public Guid ContextId { get; set; }
[Parameter] public ITransferToDriversRelation ParentData { get; set; } = null!; [Parameter] public ITransferToDriversRelation ParentData { get; set; } = null!;
[Parameter] public EventCallback<TransferToDriver> OnTransferToDriverChanged { get; set; } [Parameter] public EventCallback<TransferToDriver> OnTransferToDriverChanged { get; set; }
[Parameter] public bool CommandColumnVisible { get; set; } = true;
[Parameter] public bool NewButtonVisible { get; set; } = true;
[Parameter] public bool EditButtonVisible { get; set; } = true;
[Parameter] public bool DeleteButtonVisible { get; set; } = true;
private bool _hasEditPermission = true;
private bool HasReadPermission(Guid userProductMappingId) => DriverId.IsNullOrEmpty() || DriverId == userProductMappingId;
private TransferToDriversDetailGrid _transferToDriversGrid = null!; private TransferToDriversDetailGrid _transferToDriversGrid = null!;
private LoggerClient<TransferToDriverGridComponent> _logger = null!; private LoggerClient<TransferToDriverGridComponent> _logger = null!;
@ -161,6 +199,7 @@
void CustomizeEditModel(GridCustomizeEditModelEventArgs e) void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
{ {
_hasEditPermission = HasReadPermission(((TransferToDriver)e.DataItem).UserProductMappingId);
if (!e.IsNew) return; if (!e.IsNew) return;
var newDriver = (TransferToDriver)e.EditModel; var newDriver = (TransferToDriver)e.EditModel;

View File

@ -25,22 +25,22 @@ namespace TIAMWebApp.Client.Services
{ {
switch (type.Name) switch (type.Name)
{ {
case "TransferDestinationWizardModel": case nameof(TransferDestinationWizardModel):
var result = await TransferDataService.CreateTransferDestination((TransferDestination)data); var result = await TransferDataService.CreateTransferDestination((TransferDestination)data);
return result as TModelType; return result as TModelType;
case "TransferWizardModel": case nameof(TransferWizardModel):
Console.WriteLine(@"TransferWizardModel"); Console.WriteLine(@"TransferWizardModel");
var transferResult = await TransferDataService.CreateTransfer((TransferWizardModel)data); var transferResult = await TransferDataService.CreateTransfer((TransferWizardModel)data);
return transferResult as TModelType; return transferResult as TModelType;
case "MessageWizardModel": case nameof(MessageWizardModel):
EmailMessage emailMessage = ((MessageWizardModel)data).CopyToEmailMessage(); EmailMessage emailMessage = ((MessageWizardModel)data).CopyToEmailMessage();
var messageResult = await MessageSenderService.SendNoticeAsync(emailMessage, 1); var messageResult = await MessageSenderService.SendNoticeAsync(emailMessage, 1);
return messageResult as TModelType; return messageResult as TModelType;
case "ServiceProvider": //case nameof(ServiceProvider):
return null; // return null;
default: default:
return null; return null;
} }

View File

@ -289,10 +289,10 @@ namespace TIAMWebApp.Server.Controllers
if (user != null) if (user != null)
{ {
var random = new Random(); //var random = new Random();
var chars = "1234567890"; //var chars = "1234567890";
var nameExtension = new string(Enumerable.Repeat(chars, 10) //var nameExtension = new string(Enumerable.Repeat(chars, 10)
.Select(s => s[random.Next(s.Length)]).ToArray()); // .Select(s => s[random.Next(s.Length)]).ToArray());
var userId = Guid.NewGuid(); var userId = Guid.NewGuid();
@ -348,22 +348,23 @@ namespace TIAMWebApp.Server.Controllers
[AllowAnonymous] [AllowAnonymous]
[HttpGet] [HttpGet]
[Route("GetUsers")] [Route("GetUsers")]
public Task<List<UserModelDto>> GetUsers() public async Task<List<UserModelDto>> GetUsers()
{ {
//var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync(); //var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
//return users; //return users;
return userDal.GetAllUserModelDtoAsync<UserModelDto>(); return await userDal.GetAllUserModelDtoAsync<UserModelDto>();
} }
[AllowAnonymous] [AllowAnonymous]
[HttpGet] [HttpGet]
[Route(APIUrls.GetUsersWithDetailsRouteName)] [Route(APIUrls.GetUsersWithDetailsRouteName)]
public Task<List<UserModelDtoDetail>> GetUsersWithDetails() [SignalR(SignalRTags.GetAllUserModelDtoDetails)]
public async Task<List<UserModelDtoDetail>> GetUsersWithDetails()
{ {
_logger.Info("GetUsersWithDetails called"); _logger.Info("GetUsersWithDetails called");
//var users = await _userDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
//return users; var users = await userDal.GetAllUserModelDtoAsync<UserModelDtoDetail>();
return userDal.GetAllUserModelDtoAsync<UserModelDtoDetail>(); return users;
} }
[NonAction] [NonAction]
@ -388,15 +389,15 @@ namespace TIAMWebApp.Server.Controllers
public async Task<UserModelDto>? GetUserByEmail(string email) public async Task<UserModelDto>? GetUserByEmail(string email)
{ {
_logger.Info($"GetUserByEmail called with email: {email}"); _logger.Info($"GetUserByEmail called with email: {email}");
var result = userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false); var result = await userDal.GetUserModelDtoByEmailAsync<UserModelDto>(email, false);
if (result.Result == null) if (result == null)
{ {
UserModelDto resultDto = new UserModelDto(); UserModelDto resultDto = new UserModelDto();
return resultDto; return resultDto;
} }
else else
{ {
return result.Result; return result;
} }
} }
@ -404,10 +405,10 @@ namespace TIAMWebApp.Server.Controllers
[AllowAnonymous] [AllowAnonymous]
[HttpPost] [HttpPost]
[Route("GetUserById")] [Route("GetUserById")]
public Task<UserModelDto?> GetUserById([FromBody] Guid id) public async Task<UserModelDto?> GetUserById([FromBody] Guid id)
{ {
_logger.Info($"GetUserById called with id: {id}"); _logger.Info($"GetUserById called with id: {id}");
return userDal.GetUserModelDtoByIdAsync<UserModelDto>(id, true); return await userDal.GetUserModelDtoByIdAsync<UserModelDto>(id, true);
} }
[AllowAnonymous] [AllowAnonymous]