Compare commits
No commits in common. "2a3c61c3f3b8a6244268b9db3a0b69f86d021c35" and "04c70480e59ff00393e3036c01e09c2a250c7fdb" have entirely different histories.
2a3c61c3f3
...
04c70480e5
|
|
@ -11,7 +11,6 @@ public class SignalRTags : AcSignalRTags
|
||||||
public const int GetTransfersByDriverId = 4;
|
public const int GetTransfersByDriverId = 4;
|
||||||
public const int GetTransfersByProductId = 5;
|
public const int GetTransfersByProductId = 5;
|
||||||
public const int GetTransfersByCompanyId = 6;
|
public const int GetTransfersByCompanyId = 6;
|
||||||
public const int GetTransfersByUserProductMappingId = 701;
|
|
||||||
|
|
||||||
public const int GetTransfersByFilterText = 301;
|
public const int GetTransfersByFilterText = 301;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,6 @@
|
||||||
@inject IJSRuntime JSRuntime
|
@inject IJSRuntime JSRuntime
|
||||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
@inject IUserDataService UserDataService
|
@inject IUserDataService UserDataService
|
||||||
@inject IServiceProviderDataService ServiceProviderDataService
|
|
||||||
@inject ISecureStorageHandler SecureStorageHandler
|
@inject ISecureStorageHandler SecureStorageHandler
|
||||||
@inject ISessionService sessionService;
|
@inject ISessionService sessionService;
|
||||||
@inject HttpClient http;
|
@inject HttpClient http;
|
||||||
|
|
@ -110,9 +109,9 @@
|
||||||
string _userId = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.NameId).Value;
|
string _userId = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.NameId).Value;
|
||||||
string _email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value;
|
string _email = jsontoken.Claims.First(claim => claim.Type == JwtRegisteredClaimNames.Email).Value;
|
||||||
var user = await UserDataService.IsLoggedInAsync(Guid.Parse(_userId));
|
var user = await UserDataService.IsLoggedInAsync(Guid.Parse(_userId));
|
||||||
await SaveToSessionInfo(user);
|
SaveToSessionInfo(user);
|
||||||
_logger.Info($"Saved user in db is: {user.DisplayName}, setting autenthicated state");
|
_logger.Info($"Saved user in db is: {user.DisplayName}, setting autenthicated state");
|
||||||
|
|
||||||
//NavManager.NavigateTo("/");
|
//NavManager.NavigateTo("/");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -124,13 +123,12 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected async Task SaveToSessionInfo(UserSessionModel user)
|
protected void SaveToSessionInfo(UserSessionModel user)
|
||||||
{
|
{
|
||||||
sessionService.User = user;
|
sessionService.User = user;
|
||||||
sessionService.IsAuthenticated = true;
|
sessionService.IsAuthenticated = true;
|
||||||
sessionService.HasCompany = user.UserModelDto.UserProductMappings.Count > 0;
|
sessionService.HasCompany = user.UserModelDto.UserProductMappings.Count > 0;
|
||||||
_logger.Debug($"Checking driver for: {user.UserModelDto.UserProductMappings.Count} mapping");
|
sessionService.IsDriver = CheckIfDriver(user.UserModelDto.UserProductMappings);
|
||||||
sessionService.IsDriver = await CheckIfDriver(user.UserModelDto.UserProductMappings);
|
|
||||||
if (user.UserModelDto.Id == TiamConstClient.DevAdminIds[0] || user.UserModelDto.Id == TiamConstClient.DevAdminIds[1])
|
if (user.UserModelDto.Id == TiamConstClient.DevAdminIds[0] || user.UserModelDto.Id == TiamConstClient.DevAdminIds[1])
|
||||||
{
|
{
|
||||||
sessionService.IsDevAdmin = true;
|
sessionService.IsDevAdmin = true;
|
||||||
|
|
@ -145,16 +143,12 @@
|
||||||
_logger.Debug($"Saved to session: IsAuthenticated: {sessionService.IsAuthenticated}, HasCompany: {sessionService.HasCompany}, IsDriver: {sessionService.IsDriver}, IsDevAdmin: {sessionService.IsDevAdmin}, IsSysAdmin: {sessionService.IsSysAdmin}");
|
_logger.Debug($"Saved to session: IsAuthenticated: {sessionService.IsAuthenticated}, HasCompany: {sessionService.HasCompany}, IsDriver: {sessionService.IsDriver}, IsDevAdmin: {sessionService.IsDevAdmin}, IsSysAdmin: {sessionService.IsSysAdmin}");
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> CheckIfDriver(List<UserProductMapping> Permissions)
|
public bool CheckIfDriver(List<UserProductMapping> Permissions)
|
||||||
{
|
{
|
||||||
bool _isDriver = false;
|
bool _isDriver = false;
|
||||||
|
|
||||||
foreach (UserProductMapping Permission in Permissions)
|
foreach (UserProductMapping Permission in Permissions)
|
||||||
{
|
{
|
||||||
var permissionToCheck = await ServiceProviderDataService.GetUserProductMappingByIdAsync(Permission.Id);
|
if (IsPowerOfTwoInSum(2, Permission.Permissions))
|
||||||
_logger.Debug($"calling IsPowerOf with values: {Permission.Id}, {Permission.Permissions}, {permissionToCheck.Permissions}, {3}");
|
|
||||||
var driverPermissionResult = IsBitSet(permissionToCheck.Permissions, 3);
|
|
||||||
if (driverPermissionResult)
|
|
||||||
{
|
{
|
||||||
_isDriver = true;
|
_isDriver = true;
|
||||||
sessionService.DriverPersmissionId = Permission.Id;
|
sessionService.DriverPersmissionId = Permission.Id;
|
||||||
|
|
@ -163,16 +157,10 @@
|
||||||
return _isDriver;
|
return _isDriver;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool IsBitSet(int number, int power)
|
public static bool IsPowerOfTwoInSum(int number, int power)
|
||||||
{
|
{
|
||||||
_logger.Debug($"called IsBitSet with values: {number}, {power}");
|
|
||||||
|
|
||||||
int powerOfTwo = 1 << power; // Calculate 2^power
|
int powerOfTwo = 1 << power; // Calculate 2^power
|
||||||
|
return (number & powerOfTwo) != 0; // Check if the bit at position `power` is set
|
||||||
_logger.Debug($"powerOfTwo: {powerOfTwo}, {power}");
|
|
||||||
|
|
||||||
bool result = (number & powerOfTwo) != 0; // Check if the bit at position `power` is set
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<(string, string)> GetLocalSettings()
|
public async Task<(string, string)> GetLocalSettings()
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
@page "/driver/cars/{driverId:guid}"
|
@page "/driver/cars/{driverId}"
|
||||||
@using BlazorAnimation
|
@using BlazorAnimation
|
||||||
@using TIAM.Entities.Drivers
|
|
||||||
@using TIAM.Models.Dtos.Users
|
@using TIAM.Models.Dtos.Users
|
||||||
@using TIAM.Resources
|
@using TIAM.Resources
|
||||||
@using TIAM.Services
|
@using TIAM.Services
|
||||||
|
|
@ -32,9 +31,14 @@
|
||||||
<Animation Effect="@Effect.FadeInUp" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
<Animation Effect="@Effect.FadeInUp" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="d-flex flex-column mb-4 pb-2">
|
<div class="d-flex flex-column mb-4 pb-2">
|
||||||
|
<div class="align-self-end pl-2 pb-2">
|
||||||
|
<DxButton Text="Column Chooser"
|
||||||
|
RenderStyle="ButtonRenderStyle.Secondary"
|
||||||
|
IconCssClass="btn-column-chooser"
|
||||||
|
Click="ColumnChooserButton_Click" />
|
||||||
|
</div>
|
||||||
|
|
||||||
<CarDetailGridComponent DetailExpandButtonDisplayMode="GridDetailExpandButtonDisplayMode.Auto" ContextId="driverId" GetAllTag="SignalRTags.GetCarsForUserProductMapping"></CarDetailGridComponent>
|
<CarDetailGridComponent DetailExpandButtonDisplayMode="GridDetailExpandButtonDisplayMode.Auto" ContextId="Guid.Parse(driverId)" GetAllTag="SignalRTags.GetCarsForUserProductMapping"></CarDetailGridComponent>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -50,11 +54,126 @@
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
[Parameter] public Guid driverId { get; set; }
|
[Parameter] public string driverId { get; set; }
|
||||||
|
|
||||||
private LoggerClient<DriverManageCars> _logger;
|
private LoggerClient<DriverManageCars> _logger;
|
||||||
|
//public UserModelDtoDetail UserModelDtoDetail = new();
|
||||||
|
|
||||||
|
|
||||||
|
bool PopupVisible { get; set; }
|
||||||
|
|
||||||
|
IGrid Grid { get; set; }
|
||||||
|
//object? MasterGridData { get; set; }
|
||||||
|
|
||||||
|
public List<string> IgnoreList =
|
||||||
|
[
|
||||||
|
"ReceiverEmailAddress",
|
||||||
|
"ReceiverId",
|
||||||
|
"SenderEmailAddress",
|
||||||
|
"SenderId",
|
||||||
|
"ContextId"
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.ElementType == GridElementType.DataRow && e.VisibleIndex % 2 == 1)
|
||||||
|
{
|
||||||
|
e.CssClass = "bg-alt";
|
||||||
|
}
|
||||||
|
else if (e.ElementType == GridElementType.HeaderCell)
|
||||||
|
{
|
||||||
|
e.Style = "background-color: rgba(0, 0, 0, 0.08); font-style=bold";
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
|
{
|
||||||
|
if (!e.IsNew) return;
|
||||||
|
|
||||||
|
var userEditModel = (UserModelDtoDetail)e.EditModel; //TODO not valid cast
|
||||||
|
userEditModel.Id = Guid.NewGuid();
|
||||||
|
|
||||||
|
userEditModel.UserDto = new UserDtoDetail
|
||||||
|
{
|
||||||
|
AffiliateId = Guid.NewGuid(),
|
||||||
|
EmailAddress = "",
|
||||||
|
PhoneNumber = ""
|
||||||
|
};
|
||||||
|
|
||||||
|
userEditModel.ProfileDto = new TIAM.Entities.Profiles.Profile
|
||||||
|
{
|
||||||
|
Name = "New user"
|
||||||
|
};
|
||||||
|
|
||||||
|
userEditModel.Products = [];
|
||||||
|
userEditModel.ServiceProviders = [];
|
||||||
|
userEditModel.UserProductMappings = [];
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
|
{
|
||||||
|
var userModelDtoDetail = ((UserModelDtoDetail)e.EditModel);
|
||||||
|
|
||||||
|
if (e.IsNew)
|
||||||
|
{
|
||||||
|
//add new orderData to orderData array
|
||||||
|
var registration = new RegistrationModel();
|
||||||
|
//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 = userModelDtoDetail.UserDto.EmailAddress;
|
||||||
|
registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber;
|
||||||
|
registration.Password = password;
|
||||||
|
registration.ReferralId = null;
|
||||||
|
|
||||||
|
await UserDataService.CreateGuestUser(registration);
|
||||||
|
_logger.Info("New user created added");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_logger.Info("orderData updated at id " + userModelDtoDetail.Id);
|
||||||
|
|
||||||
|
//await transferDataService.UpdateTransferAsync((TransferWizardModel)e.EditModel);
|
||||||
|
//modify transferData where transferData.Id == e.EditModel.Id
|
||||||
|
}
|
||||||
|
//get transfer from TransferData by Id
|
||||||
|
|
||||||
|
// foreach (var transferToModify in (List<Transfer>)TransferData)
|
||||||
|
// {
|
||||||
|
// myModel = (Transfer)e.EditModel;
|
||||||
|
|
||||||
|
// if (transferToModify.Id == myModel.Id)
|
||||||
|
// {
|
||||||
|
// //transferToModify.Driver = myModel.Driver;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
//TODO: ne a teljes grid-et refresh-eljük, elég lenne csak az adott sort! - J.
|
||||||
|
await UpdateDataAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
|
{
|
||||||
|
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
||||||
|
//remove orderData from orderData array
|
||||||
|
_logger.Info("orderData deleted");
|
||||||
|
//await UpdateDataAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task UpdateDataAsync()
|
||||||
|
{
|
||||||
|
//refresh grid
|
||||||
|
|
||||||
|
_logger.Info("orderData grid refreshed");
|
||||||
|
}
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<DriverManageCars>(LogWriters.ToArray());
|
_logger = new LoggerClient<DriverManageCars>(LogWriters.ToArray());
|
||||||
|
|
@ -62,4 +181,9 @@
|
||||||
base.OnInitialized();
|
base.OnInitialized();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ColumnChooserButton_Click()
|
||||||
|
{
|
||||||
|
Grid.ShowColumnChooser();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,12 +1,10 @@
|
||||||
@page "/driver/transfers/{driverId:guid}"
|
@page "/driver/transfers/{driverId}"
|
||||||
@using BlazorAnimation
|
@using BlazorAnimation
|
||||||
@using TIAM.Core.Enums
|
@using TIAM.Core.Enums
|
||||||
@using TIAM.Entities.Emails
|
@using TIAM.Entities.Emails
|
||||||
@using TIAM.Entities.Transfers
|
@using TIAM.Entities.Transfers
|
||||||
@using TIAM.Resources
|
@using TIAM.Resources
|
||||||
@using TIAM.Services
|
|
||||||
@using TIAMSharedUI.Pages.Components
|
@using TIAMSharedUI.Pages.Components
|
||||||
@using TIAMSharedUI.Pages.User.SysAdmins
|
|
||||||
@using TIAMSharedUI.Shared
|
@using TIAMSharedUI.Shared
|
||||||
@using TIAMWebApp.Shared.Application.Interfaces
|
@using TIAMWebApp.Shared.Application.Interfaces
|
||||||
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI
|
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI
|
||||||
|
|
@ -82,22 +80,22 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<TransferDetailGrid @ref="_gridTransfer"
|
<TransferDetailGrid @ref="_gridTransfer"
|
||||||
Logger="_logger"
|
Logger="_logger"
|
||||||
GetAllMessageTag="SignalRTags.GetTransfersByUserProductMappingId"
|
SignalRClient="AdminSignalRClient"
|
||||||
SignalRClient="AdminSignalRClient"
|
ContextIds="new object[] {DriverId}"
|
||||||
ContextIds="new object[] {driverId}"
|
FilterText="@_filterText"
|
||||||
OnDataSourceChanged="DataSourceChanged"
|
OnDataSourceChanged="DataSourceChanged"
|
||||||
OnGridItemChanging="DataSourceItemChanging"
|
OnGridItemChanging="DataSourceItemChanging"
|
||||||
OnGridItemChanged="DataSourceItemChanged"
|
OnGridItemChanged="DataSourceItemChanged"
|
||||||
OnGridItemDeleting="DataItemDeleting"
|
OnGridItemDeleting="DataItemDeleting"
|
||||||
OnGridEditModelSaving="DataItemSaving"
|
OnGridEditModelSaving="DataItemSaving"
|
||||||
CustomizeElement="Grid_CustomizeElement"
|
CustomizeElement="Grid_CustomizeElement"
|
||||||
CustomizeEditModel="Grid_CustomizeEditModel"
|
CustomizeEditModel="Grid_CustomizeEditModel"
|
||||||
EditMode="GridEditMode.EditForm"
|
EditMode="GridEditMode.EditForm"
|
||||||
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
||||||
AllowSelectRowByClick="false"
|
AllowSelectRowByClick="false"
|
||||||
PageSize="13"
|
PageSize="13"
|
||||||
ShowFilterRow="true">
|
ShowFilterRow="true">
|
||||||
|
|
||||||
<Columns>
|
<Columns>
|
||||||
<DxGridCommandColumn NewButtonVisible="false" DeleteButtonVisible="AcDomain.IsDeveloperVersion" Width="80" MinWidth="80" FixedPosition="GridColumnFixedPosition.Left" />
|
<DxGridCommandColumn NewButtonVisible="false" DeleteButtonVisible="AcDomain.IsDeveloperVersion" Width="80" MinWidth="80" FixedPosition="GridColumnFixedPosition.Left" />
|
||||||
|
|
@ -198,7 +196,14 @@
|
||||||
</DxFormLayout>
|
</DxFormLayout>
|
||||||
</EditFormTemplate>
|
</EditFormTemplate>
|
||||||
|
|
||||||
|
<ToolbarTemplate>
|
||||||
|
<div>
|
||||||
|
<DxTagBox Data="@Statuses" Values="@_selectedCategories" @ref="_filterTag"
|
||||||
|
ValuesChanged="(IEnumerable<TransferStatusModel> values) => TagBox_ValuesChanged(values)"
|
||||||
|
ValueFieldName="StatusValue" TextFieldName="StatusName" NullText="Select status type..."
|
||||||
|
ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto" aria-label="Select status type" />
|
||||||
|
</div>
|
||||||
|
</ToolbarTemplate>
|
||||||
</TransferDetailGrid>
|
</TransferDetailGrid>
|
||||||
</div>
|
</div>
|
||||||
</DxTabPage>
|
</DxTabPage>
|
||||||
|
|
@ -233,12 +238,14 @@
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
[Parameter] public Guid DriverId { get; set; }
|
[Parameter] public Guid DriverId { get; set; }
|
||||||
private Guid driverId;
|
|
||||||
private LoggerClient<DriverManageTransfers> _logger;
|
private LoggerClient<DriverManageTransfers> _logger;
|
||||||
|
|
||||||
private bool _popupVisible;
|
private bool _popupVisible;
|
||||||
private TransferGrid _gridTransfer;
|
private TransferGrid _gridTransfer;
|
||||||
|
|
||||||
|
private DxTagBox<TransferStatusModel, TransferStatusModel> _filterTag;
|
||||||
|
|
||||||
public List<string> IgnoreList =
|
public List<string> IgnoreList =
|
||||||
[
|
[
|
||||||
"ReceiverEmailAddress",
|
"ReceiverEmailAddress",
|
||||||
|
|
@ -253,14 +260,14 @@
|
||||||
private static readonly List<TransferStatusModel> Statuses =
|
private static readonly List<TransferStatusModel> Statuses =
|
||||||
[
|
[
|
||||||
new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
|
new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
|
||||||
new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
||||||
new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
||||||
new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
||||||
new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
||||||
new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
||||||
new(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
new(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
||||||
new(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
|
new(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
|
||||||
new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
|
new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
|
||||||
];
|
];
|
||||||
|
|
||||||
private static List<TransferStatusModel> _selectedCategories = Statuses.Where(x => /* x.StatusValue != (byte)TransferStatusType.OrderSubmitted && */ x.StatusValue != (byte)TransferStatusType.Finished && x.StatusValue != (byte)TransferStatusType.UserCanceled && x.StatusValue != (byte)TransferStatusType.AdminDenied).ToList();
|
private static List<TransferStatusModel> _selectedCategories = Statuses.Where(x => /* x.StatusValue != (byte)TransferStatusType.OrderSubmitted && */ x.StatusValue != (byte)TransferStatusType.Finished && x.StatusValue != (byte)TransferStatusType.UserCanceled && x.StatusValue != (byte)TransferStatusType.AdminDenied).ToList();
|
||||||
|
|
@ -273,11 +280,6 @@
|
||||||
DateTime StartDate { get; set; } = DateTime.Today;
|
DateTime StartDate { get; set; } = DateTime.Today;
|
||||||
DxSchedulerDataStorage _dataStorage = new();
|
DxSchedulerDataStorage _dataStorage = new();
|
||||||
|
|
||||||
protected override Task OnParametersSetAsync()
|
|
||||||
{
|
|
||||||
driverId = DriverId;
|
|
||||||
return base.OnParametersSetAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
void SendMail(Transfer item)
|
void SendMail(Transfer item)
|
||||||
{
|
{
|
||||||
|
|
@ -323,7 +325,7 @@
|
||||||
return $@"
|
return $@"
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
<p>Dear {messageModel.ReceiverFullName},</p>
|
<p>Dear {messageModel.SenderFullName},</p>
|
||||||
<p>{messageModel.Content}:</p>
|
<p>{messageModel.Content}:</p>
|
||||||
<p>Best regards,<br/>Tour I Am team</p>
|
<p>Best regards,<br/>Tour I Am team</p>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
||||||
|
|
@ -26,13 +26,10 @@
|
||||||
<DxMenuItem Text="Driver" Visible="@IsDriver" IconCssClass="menu-icon-products menu-icon">
|
<DxMenuItem Text="Driver" Visible="@IsDriver" IconCssClass="menu-icon-products menu-icon">
|
||||||
<Items>
|
<Items>
|
||||||
<DxMenuItem NavigateUrl="driver/dashboard" Text="Dashboard" />
|
<DxMenuItem NavigateUrl="driver/dashboard" Text="Dashboard" />
|
||||||
|
<DxMenuItem NavigateUrl="driver/transfers" Text="My transfers" />
|
||||||
|
|
||||||
@{
|
@{
|
||||||
string url1 = $"driver/transfers/{SessionService.DriverPersmissionId}";
|
string url = $"driver/cars/{SessionService.DriverPersmissionId.ToString()}";
|
||||||
string url2 = $"driver/cars/{SessionService.DriverPersmissionId}";
|
<DxMenuItem NavigateUrl="@url" Text="My cars" />
|
||||||
<DxMenuItem NavigateUrl="@url1" Text="My transfers" />
|
|
||||||
<DxMenuItem NavigateUrl="@url2" Text="My cars" />
|
|
||||||
}
|
}
|
||||||
|
|
||||||
<DxMenuItem NavigateUrl="sysadmin/users" Text="Users" />
|
<DxMenuItem NavigateUrl="sysadmin/users" Text="Users" />
|
||||||
|
|
|
||||||
|
|
@ -556,7 +556,6 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
[NonAction]
|
|
||||||
[SignalR(SignalRTags.GetTransfersByFilterText)]
|
[SignalR(SignalRTags.GetTransfersByFilterText)]
|
||||||
public async Task<List<Transfer>> GetTransfersByFilterText(string criteriaOperatorText)
|
public async Task<List<Transfer>> GetTransfersByFilterText(string criteriaOperatorText)
|
||||||
{
|
{
|
||||||
|
|
@ -576,17 +575,6 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
[Authorize]
|
|
||||||
[HttpGet]
|
|
||||||
[Route(APIUrls.GetTransfersByUserProductMappingIdRouteName)]
|
|
||||||
[SignalR(SignalRTags.GetTransfersByUserProductMappingId)]
|
|
||||||
public async Task<string> GetTransfersByDriverId(Guid userProductMappingId)
|
|
||||||
{
|
|
||||||
_logger.Debug($"GetTransferByDriverId called!!!");
|
|
||||||
var result = await _adminDal.GetTransfersByUserProductMappingIdAsync(userProductMappingId);
|
|
||||||
return result.ToJson();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,6 @@ namespace TIAMWebApp.Shared.Application.Interfaces
|
||||||
|
|
||||||
//23. (IServiceProviderDataService) Get Assigned Users By ProductId
|
//23. (IServiceProviderDataService) Get Assigned Users By ProductId
|
||||||
public Task<List<UserProductMapping>> GetUserProductMappingsByProductIdAsync(Guid productId);
|
public Task<List<UserProductMapping>> GetUserProductMappingsByProductIdAsync(Guid productId);
|
||||||
public Task<UserProductMapping> GetUserProductMappingByIdAsync(Guid productId);
|
|
||||||
|
|
||||||
//24. (IServiceProviderDataService) Remove Assigned Users from Product
|
//24. (IServiceProviderDataService) Remove Assigned Users from Product
|
||||||
public Task RemoveUserProductMappingsByContextIdAsync(Guid productId);
|
public Task RemoveUserProductMappingsByContextIdAsync(Guid productId);
|
||||||
|
|
|
||||||
|
|
@ -111,12 +111,6 @@ namespace TIAMWebApp.Shared.Application.Models
|
||||||
public const string GetTransferByIdRouteName = "GetTransferById";
|
public const string GetTransferByIdRouteName = "GetTransferById";
|
||||||
public const string GetTransferById = TransferDataAPI + GetTransferByIdRouteName;
|
public const string GetTransferById = TransferDataAPI + GetTransferByIdRouteName;
|
||||||
|
|
||||||
public const string GetTransfersByDriverIdRouteName = "GetTransfersByDriverId";
|
|
||||||
public const string GetTransfersByDriverId = TransferDataAPI + GetTransfersByDriverIdRouteName;
|
|
||||||
|
|
||||||
public const string GetTransfersByUserProductMappingIdRouteName = "GetTransfersByUserProductMappingId";
|
|
||||||
public const string GetTransfersByUserProductMappingId = TransferDataAPI + GetTransfersByUserProductMappingIdRouteName;
|
|
||||||
|
|
||||||
public const string CreateTransferRouteName = "CreateTransfer";
|
public const string CreateTransferRouteName = "CreateTransfer";
|
||||||
public const string CreateTransfer = TransferDataAPI + CreateTransferRouteName;
|
public const string CreateTransfer = TransferDataAPI + CreateTransferRouteName;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -109,13 +109,7 @@ namespace TIAMWebApp.Shared.Application.Services
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
throw new NotImplementedException();
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<UserProductMapping> GetUserProductMappingByIdAsync(Guid userProductMappingId)
|
|
||||||
{
|
|
||||||
var result = await _adminSignalRClient.GetByIdAsync<UserProductMapping>(SignalRTags.GetUserProductMappingById, userProductMappingId);
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
//17.
|
//17.
|
||||||
public Task GetPropertiesByOwnerIdAsync(Guid id, Action<Dictionary<Guid, string>?> callback)
|
public Task GetPropertiesByOwnerIdAsync(Guid id, Action<Dictionary<Guid, string>?> callback)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue