driver transfers
This commit is contained in:
parent
d3714d491d
commit
70105d5d9c
|
|
@ -11,6 +11,7 @@ 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,6 +18,7 @@
|
||||||
@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;
|
||||||
|
|
@ -109,9 +110,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));
|
||||||
SaveToSessionInfo(user);
|
await 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
|
||||||
|
|
@ -123,12 +124,13 @@
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void SaveToSessionInfo(UserSessionModel user)
|
protected async Task 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;
|
||||||
sessionService.IsDriver = CheckIfDriver(user.UserModelDto.UserProductMappings);
|
_logger.Debug($"Checking driver for: {user.UserModelDto.UserProductMappings.Count} mapping");
|
||||||
|
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;
|
||||||
|
|
@ -143,12 +145,16 @@
|
||||||
_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 bool CheckIfDriver(List<UserProductMapping> Permissions)
|
public async Task<bool> CheckIfDriver(List<UserProductMapping> Permissions)
|
||||||
{
|
{
|
||||||
bool _isDriver = false;
|
bool _isDriver = false;
|
||||||
|
|
||||||
foreach (UserProductMapping Permission in Permissions)
|
foreach (UserProductMapping Permission in Permissions)
|
||||||
{
|
{
|
||||||
if (IsPowerOfTwoInSum(2, Permission.Permissions))
|
var permissionToCheck = await ServiceProviderDataService.GetUserProductMappingByIdAsync(Permission.Id);
|
||||||
|
_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;
|
||||||
|
|
@ -157,10 +163,16 @@
|
||||||
return _isDriver;
|
return _isDriver;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsPowerOfTwoInSum(int number, int power)
|
public bool IsBitSet(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,5 +1,6 @@
|
||||||
@page "/driver/cars/{driverId}"
|
@page "/driver/cars/{driverId:guid}"
|
||||||
@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
|
||||||
|
|
@ -31,14 +32,9 @@
|
||||||
<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="Guid.Parse(driverId)" GetAllTag="SignalRTags.GetCarsForUserProductMapping"></CarDetailGridComponent>
|
<CarDetailGridComponent DetailExpandButtonDisplayMode="GridDetailExpandButtonDisplayMode.Auto" ContextId="driverId" GetAllTag="SignalRTags.GetCarsForUserProductMapping"></CarDetailGridComponent>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
@ -54,126 +50,11 @@
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
|
|
||||||
[Parameter] public string driverId { get; set; }
|
[Parameter] public Guid 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());
|
||||||
|
|
@ -181,9 +62,4 @@
|
||||||
base.OnInitialized();
|
base.OnInitialized();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColumnChooserButton_Click()
|
|
||||||
{
|
|
||||||
Grid.ShowColumnChooser();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
@page "/driver/transfers/{driverId}"
|
@page "/driver/transfers/{driverId:guid}"
|
||||||
@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
|
||||||
|
|
@ -80,22 +82,22 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<TransferDetailGrid @ref="_gridTransfer"
|
<TransferDetailGrid @ref="_gridTransfer"
|
||||||
Logger="_logger"
|
Logger="_logger"
|
||||||
SignalRClient="AdminSignalRClient"
|
GetAllMessageTag="SignalRTags.GetTransfersByUserProductMappingId"
|
||||||
ContextIds="new object[] {DriverId}"
|
SignalRClient="AdminSignalRClient"
|
||||||
FilterText="@_filterText"
|
ContextIds="new object[] {driverId}"
|
||||||
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" />
|
||||||
|
|
@ -196,14 +198,7 @@
|
||||||
</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>
|
||||||
|
|
@ -238,14 +233,12 @@
|
||||||
|
|
||||||
@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",
|
||||||
|
|
@ -260,14 +253,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();
|
||||||
|
|
@ -280,6 +273,11 @@
|
||||||
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)
|
||||||
{
|
{
|
||||||
|
|
@ -325,7 +323,7 @@
|
||||||
return $@"
|
return $@"
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
<p>Dear {messageModel.SenderFullName},</p>
|
<p>Dear {messageModel.ReceiverFullName},</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,10 +26,13 @@
|
||||||
<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 url = $"driver/cars/{SessionService.DriverPersmissionId.ToString()}";
|
string url1 = $"driver/transfers/{SessionService.DriverPersmissionId}";
|
||||||
<DxMenuItem NavigateUrl="@url" Text="My cars" />
|
string url2 = $"driver/cars/{SessionService.DriverPersmissionId}";
|
||||||
|
<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,6 +556,7 @@ 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)
|
||||||
{
|
{
|
||||||
|
|
@ -575,6 +576,17 @@ 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,6 +39,7 @@ 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,6 +111,12 @@ 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,7 +109,13 @@ 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