improvements, fixes, etc...
This commit is contained in:
parent
42b351262a
commit
adb855843c
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -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>
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
|
|
|
||||||
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -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]
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue