improvements, fixes
This commit is contained in:
parent
05b76fe8a4
commit
17529c008f
|
|
@ -11,22 +11,24 @@
|
|||
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI
|
||||
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
|
||||
@using AyCode.Services.Loggers
|
||||
@using TIAMSharedUI.Pages.User.Hotels
|
||||
@using TIAMWebApp.Shared.Application.Models.PageModels
|
||||
@using TIAMWebApp.Shared.Application.Services
|
||||
@using TIAMWebApp.Shared.Application.Utility
|
||||
@inherits BasePageComponent
|
||||
@inject NavigationManager navManager
|
||||
@inject IAcLogWriterClientBase BrowserConsoleLogWriter
|
||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||
@inject IWizardProcessor WizardProcessor
|
||||
@inject IUserDataService UserDataService
|
||||
@inject AdminSignalRClient _adminSignalRClient
|
||||
<PageTitle>Transfer</PageTitle>
|
||||
|
||||
<HeroSlider SliderItems="sliders" Height="30vh"></HeroSlider>
|
||||
<HeroSlider SliderItems="_sliders" Height="30vh"></HeroSlider>
|
||||
<div class="container-fluid" style="position: relative; z-index: 2;">
|
||||
<div class="row d-flex justify-content-center">
|
||||
|
||||
|
||||
@{
|
||||
if (displayHelp)
|
||||
if (_displayHelp)
|
||||
{
|
||||
<div class="col-md-6 col-12 px-5">
|
||||
<!-- Step 1 -->
|
||||
|
|
@ -164,18 +166,18 @@
|
|||
<DxToolbarItem Alignment="ToolbarItemAlignment.Right" Text="Help" RenderStyle="ButtonRenderStyle.Secondary" IconCssClass="grid-icon-column-chooser" Click="ShowHelp_Click" />
|
||||
</Items>
|
||||
</DxToolbar>
|
||||
|
||||
|
||||
|
||||
|
||||
<DxTabs>
|
||||
|
||||
<DxTabPage TabIconCssClass="fa-solid fa-plane-departure" Click="ToAirport" Text="To the Airport">
|
||||
|
||||
<DynamicEditForm Data="myModel" TitleString="@($"To: {myModel.Destination}")" isEditing="true" IgnoreReflection="TransferIgnorList1" OnSubmit="SubmitForm"></DynamicEditForm>
|
||||
<DynamicEditForm Data="_myModel" TitleString="@($"To: {_myModel.Destination}")" isEditing="true" IgnoreReflection="_transferIgnorList1" OnSubmit="SubmitForm"></DynamicEditForm>
|
||||
|
||||
</DxTabPage>
|
||||
<DxTabPage TabIconCssClass="fa-solid fa-plane-arrival" Click="FromAirport" Text="From the Airport">
|
||||
|
||||
<DynamicEditForm Data="myModel" TitleString="@($"From: {myModel.Destination}")" isEditing="true" IgnoreReflection="TransferIgnorList2" OnSubmit="SubmitForm"></DynamicEditForm>
|
||||
<DynamicEditForm Data="_myModel" TitleString="@($"From: {_myModel.Destination}")" isEditing="true" IgnoreReflection="_transferIgnorList2" OnSubmit="SubmitForm"></DynamicEditForm>
|
||||
|
||||
</DxTabPage>
|
||||
</DxTabs>
|
||||
|
|
@ -187,8 +189,8 @@
|
|||
SubtitleResourceString="TransferSubtitle"></InputWizard> *@
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -234,83 +236,88 @@
|
|||
|
||||
|
||||
@code {
|
||||
public TransferWizardModel myModel = new TransferWizardModel();
|
||||
private LoggerClient<TransferPage> _logger;
|
||||
|
||||
public List<HeroSliderItem> sliders = new List<HeroSliderItem>
|
||||
{
|
||||
new HeroSliderItem
|
||||
{
|
||||
Title = "Welcome to TIAM",
|
||||
ImageUrl = "_content/TIAMSharedUI/images/f1_1.png"
|
||||
},
|
||||
new HeroSliderItem
|
||||
{
|
||||
Title = "Welcome to TIAM",
|
||||
ImageUrl = "_content/TIAMSharedUI/images/f1_2.png"
|
||||
},
|
||||
new HeroSliderItem
|
||||
{
|
||||
Title = "Welcome to TIAM",
|
||||
ImageUrl = "_content/TIAMSharedUI/images/f1_3.png"
|
||||
},
|
||||
};
|
||||
private readonly TransferWizardModel _myModel = new TransferWizardModel();
|
||||
|
||||
public List<string> TransferIgnorList1 = new List<string>
|
||||
{
|
||||
"Id",
|
||||
"Destination",
|
||||
"UserId",
|
||||
"ProductId",
|
||||
"PaymentId",
|
||||
"TripDate",
|
||||
"FirstName",
|
||||
"LastName",
|
||||
"UserProductMappingId",
|
||||
"UserProductToCarId",
|
||||
"ReferralId",
|
||||
"Price"
|
||||
};
|
||||
private readonly List<HeroSliderItem> _sliders =
|
||||
[
|
||||
new HeroSliderItem
|
||||
{
|
||||
Title = "Welcome to TIAM",
|
||||
ImageUrl = "_content/TIAMSharedUI/images/f1_1.png"
|
||||
},
|
||||
|
||||
public List<string> TransferIgnorList2 = new List<string>
|
||||
{
|
||||
"Id",
|
||||
"PickupAddress",
|
||||
"UserId",
|
||||
"ProductId",
|
||||
"PaymentId",
|
||||
"TripDate",
|
||||
"FirstName",
|
||||
"LastName",
|
||||
"UserProductMappingId",
|
||||
"UserProductToCarId",
|
||||
"ReferralId",
|
||||
"Price"
|
||||
};
|
||||
new HeroSliderItem
|
||||
{
|
||||
Title = "Welcome to TIAM",
|
||||
ImageUrl = "_content/TIAMSharedUI/images/f1_2.png"
|
||||
},
|
||||
|
||||
new HeroSliderItem
|
||||
{
|
||||
Title = "Welcome to TIAM",
|
||||
ImageUrl = "_content/TIAMSharedUI/images/f1_3.png"
|
||||
}
|
||||
];
|
||||
|
||||
private readonly List<string> _transferIgnorList1 =
|
||||
[
|
||||
"Id",
|
||||
"Destination",
|
||||
"UserId",
|
||||
"ProductId",
|
||||
"PaymentId",
|
||||
"TripDate",
|
||||
"FirstName",
|
||||
"LastName",
|
||||
"UserProductMappingId",
|
||||
"UserProductToCarId",
|
||||
"ReferralId",
|
||||
"Price"
|
||||
];
|
||||
|
||||
private readonly List<string> _transferIgnorList2 =
|
||||
[
|
||||
"Id",
|
||||
"PickupAddress",
|
||||
"UserId",
|
||||
"ProductId",
|
||||
"PaymentId",
|
||||
"TripDate",
|
||||
"FirstName",
|
||||
"LastName",
|
||||
"UserProductMappingId",
|
||||
"UserProductToCarId",
|
||||
"ReferralId",
|
||||
"Price"
|
||||
];
|
||||
|
||||
/*protected override void OnAfterRender(bool isFirst)
|
||||
{
|
||||
message = " Target destination is " + slider.SliderElementId.ToString();
|
||||
}*/
|
||||
|
||||
private bool toAirport = true;
|
||||
private bool _toAirport = true;
|
||||
|
||||
private bool displayHelp = false;
|
||||
private bool _displayHelp = false;
|
||||
|
||||
public void ToAirport()
|
||||
{
|
||||
toAirport = true;
|
||||
myModel.Destination = "Budapest, 1185";
|
||||
_toAirport = true;
|
||||
_myModel.Destination = "Budapest, 1185";
|
||||
}
|
||||
|
||||
public void FromAirport()
|
||||
{
|
||||
toAirport = false;
|
||||
myModel.PickupAddress = "Budapest, 1185";
|
||||
_toAirport = false;
|
||||
_myModel.PickupAddress = "Budapest, 1185";
|
||||
}
|
||||
|
||||
public async Task SubmitForm(object Result)
|
||||
public async Task SubmitForm(object result)
|
||||
{
|
||||
TransferWizardModel resModel = (TransferWizardModel)Result;
|
||||
var resModel = (TransferWizardModel)result;
|
||||
|
||||
//let's check if user exists with this email
|
||||
var user = await UserDataService.GetUserByEmailAsync(resModel.EmailAddress!);
|
||||
if (user != null && user.Id != Guid.Empty)
|
||||
|
|
@ -382,6 +389,7 @@ new HeroSliderItem
|
|||
//something wrong
|
||||
}
|
||||
}
|
||||
|
||||
resModel.ReferralId = userDetail.UserDto.RefferalId;
|
||||
}
|
||||
|
||||
|
|
@ -394,20 +402,23 @@ new HeroSliderItem
|
|||
}
|
||||
}
|
||||
}
|
||||
var transfer = await WizardProcessor.ProcessWizardAsync<TransferWizardModel>(Result.GetType(), Result);
|
||||
BrowserConsoleLogWriter.Info($"Submitted nested form: {Result.GetType().FullName}");
|
||||
|
||||
var transfer = await WizardProcessor.ProcessWizardAsync<TransferWizardModel>(result.GetType(), result);
|
||||
_logger.Info($"Submitted nested form: {result.GetType().FullName}");
|
||||
navManager.NavigateTo($"/transfer2/{resModel.Id}");
|
||||
}
|
||||
|
||||
protected override Task OnInitializedAsync()
|
||||
{
|
||||
_logger = new LoggerClient<TransferPage>(LogWriters.ToArray());
|
||||
|
||||
ToAirport();
|
||||
return base.OnInitializedAsync();
|
||||
}
|
||||
|
||||
private void ShowHelp_Click()
|
||||
{
|
||||
displayHelp = !displayHelp;
|
||||
_displayHelp = !_displayHelp;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -109,10 +109,10 @@
|
|||
@RenderDetailsItem("fa-solid fa-hashtag", "Comment", Context.Comment)
|
||||
</div>
|
||||
<div class="col-12 col-md-6">
|
||||
@RenderDetailsItem("fa-solid fa-list-check", "Status", AllStatuses.FirstOrDefault(x => x.StatusValue == (byte)Context.TransferStatusType).StatusName)
|
||||
@RenderDetailsItem("fa-solid fa-list-check", "Status", TransferStatusModel.AllStatuses.FirstOrDefault(x => x.StatusValue == Context.TransferStatusType)!.StatusName)
|
||||
</div>
|
||||
<div class="col-9 col-md-5">
|
||||
<DxComboBox Data="@Statuses"
|
||||
<DxComboBox Data="@DriverStatuses"
|
||||
@bind-Value="@CurrentStatusType"
|
||||
NullText="Select new status"
|
||||
CssClass="form-field"
|
||||
|
|
@ -178,27 +178,18 @@
|
|||
|
||||
|
||||
|
||||
private static readonly IEnumerable<TransferStatusModel> Statuses = new[]
|
||||
{
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
|
||||
};
|
||||
private static readonly IEnumerable<TransferStatusModel> DriverStatuses = TransferStatusModel.AllStatuses.Where(x => x.StatusValue is TransferStatusType.DriverConfirmed or
|
||||
TransferStatusType.DriverEnRoute or TransferStatusType.PassengerPickup or TransferStatusType.Finished or TransferStatusType.UserCanceled);
|
||||
|
||||
// private static readonly IEnumerable<TransferStatusModel> Statuses = new[]
|
||||
// {
|
||||
// new TransferStatusModel(TransferStatusType.DriverConfirmed, "Driver confirmed"),
|
||||
// new TransferStatusModel(TransferStatusType.DriverEnRoute, "Driver enroute"),
|
||||
// new TransferStatusModel(TransferStatusType.PassengerPickup, "Passenger in car"),
|
||||
// new TransferStatusModel(TransferStatusType.Finished, "Finished"),
|
||||
// new TransferStatusModel(TransferStatusType.UserCanceled, "User cancelled"),
|
||||
// };
|
||||
|
||||
private static readonly List<TransferStatusModel> AllStatuses = new()
|
||||
{
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
|
||||
new TransferStatusModel(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
|
||||
};
|
||||
|
||||
private TransferStatusModel _currentStatusType;
|
||||
public TransferStatusModel CurrentStatusType
|
||||
|
|
@ -241,7 +232,7 @@
|
|||
var result = await AdminSignalRClient.PostDataAsync<Transfer>(SignalRTags.UpdateTransfer, Context);
|
||||
if (result != null)
|
||||
{
|
||||
if (AllStatuses.FirstOrDefault(x => x.StatusValue == (byte)result.TransferStatusType) == CurrentStatusType)
|
||||
if (TransferStatusModel.AllStatuses.FirstOrDefault(x => x.StatusValue == result.TransferStatusType) == CurrentStatusType)
|
||||
{
|
||||
msg = $"Stataus saved";
|
||||
StateHasChanged();
|
||||
|
|
@ -278,12 +269,13 @@
|
|||
{
|
||||
_logger = new LoggerClient<TransferCardComponent>(LogWriters.ToArray());
|
||||
sysAdmins = await AdminSignalRClient.GetByIdAsync<List<UserModelDtoDetail>>(SignalRTags.GetAllUserModelDtoDetails, TiamConstClient.SysAdmins[0]);
|
||||
|
||||
await base.OnInitializedAsync();
|
||||
}
|
||||
|
||||
protected override Task OnParametersSetAsync()
|
||||
{
|
||||
CurrentStatusType = AllStatuses.FirstOrDefault(x => x.StatusValue == (byte)Context.TransferStatusType);
|
||||
CurrentStatusType = TransferStatusModel.AllStatuses.FirstOrDefault(x => x.StatusValue == Context.TransferStatusType)!;
|
||||
|
||||
return base.OnParametersSetAsync();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -227,19 +227,6 @@
|
|||
"ContextId",
|
||||
];
|
||||
|
||||
private static readonly List<TransferStatusModel> Statuses =
|
||||
[
|
||||
new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
|
||||
new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
||||
new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
||||
new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
||||
new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
||||
new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
||||
new(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
||||
new(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
|
||||
new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
|
||||
];
|
||||
|
||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||
{
|
||||
try
|
||||
|
|
|
|||
|
|
@ -69,15 +69,16 @@
|
|||
private LoggerClient<CreateAndManageTransfer> _logger;
|
||||
private TransferWizardModel _data = new();
|
||||
private List<Product> _hotels = [];
|
||||
private Product selectedHotel { get; set; }
|
||||
public Product SelectedHotel
|
||||
|
||||
private static Product? _selectedHotel;
|
||||
public Product? SelectedHotel
|
||||
{
|
||||
get => selectedHotel;
|
||||
get => _selectedHotel;
|
||||
set
|
||||
{
|
||||
if (selectedHotel == value) return;
|
||||
if (_selectedHotel == value) return;
|
||||
|
||||
selectedHotel = value;
|
||||
_selectedHotel = value;
|
||||
StateHasChanged();
|
||||
}
|
||||
}
|
||||
|
|
@ -96,7 +97,6 @@
|
|||
];
|
||||
|
||||
private bool _isReloadVisible = false;
|
||||
private bool _selectedHotelInitialized = false;
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
|
|
@ -109,11 +109,7 @@
|
|||
if (_sessionService.User.UserModelDto.Products.Any(x => x.ProductType == ProductType.Hotel))
|
||||
{
|
||||
_hotels = _sessionService.GetHotels();
|
||||
if (!_selectedHotelInitialized)
|
||||
{
|
||||
SelectedHotel = _hotels[0];
|
||||
_selectedHotelInitialized = true;
|
||||
}
|
||||
SelectedHotel = _hotels.FirstOrDefault(x => x.Id == _selectedHotel?.Id) ?? _hotels[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -123,9 +119,16 @@
|
|||
|
||||
public async Task SubmitForm(object result)
|
||||
{
|
||||
if (_selectedHotel == null)
|
||||
{
|
||||
_logger.Error($"_selectedHotel == null");
|
||||
return;
|
||||
}
|
||||
|
||||
var valami = ((TransferWizardModel)result).CopyToTransfer();
|
||||
valami.Id = Guid.NewGuid();
|
||||
valami.ProductId = SelectedHotel.Id;
|
||||
valami.ProductId = _selectedHotel.Id;
|
||||
|
||||
var user = await UserDataService.GetUserByEmailAsync(valami.ContactEmail);
|
||||
if (user != null && user.Id != Guid.Empty)
|
||||
{
|
||||
|
|
@ -151,7 +154,7 @@
|
|||
registration.PhoneNumber = valami.ContactPhone;
|
||||
registration.Password = password;
|
||||
//get list with one member!
|
||||
var productOwner = await _adminSignalRClient.GetByIdAsync<List<Company>>(SignalRTags.GetCompaniesById, SelectedHotel.ServiceProviderId);
|
||||
var productOwner = await _adminSignalRClient.GetByIdAsync<List<Company>>(SignalRTags.GetCompaniesById, _selectedHotel.ServiceProviderId);
|
||||
|
||||
registration.ReferralId = productOwner[0].AffiliateId;
|
||||
|
||||
|
|
@ -165,6 +168,7 @@
|
|||
}
|
||||
_logger.Info("New user created added");
|
||||
}
|
||||
|
||||
//valami.ProductId = SessionService.User.UserId; //TODO ProductID!
|
||||
// await WizardProcessor.ProcessWizardAsync<TransferDestinationWizardModel>(result.GetType(), result);
|
||||
|
||||
|
|
|
|||
|
|
@ -44,9 +44,9 @@
|
|||
</div>
|
||||
|
||||
<div class="d-flex flex-column mb-4 pb-2">
|
||||
<h4> Hotel name: <span class="small text-muted"> @hotelName </span></h4>
|
||||
<h4> Address: <span class="small text-muted"> @hotelAddress </span></h4>
|
||||
<h4> Contact name: <span class="small text-muted"> @hotelContactName</span></h4>
|
||||
<h4> Hotel name: <span class="small text-muted"> @_hotelName </span></h4>
|
||||
<h4> Address: <span class="small text-muted"> @_hotelAddress </span></h4>
|
||||
<h4> Contact name: <span class="small text-muted"> @_hotelContactName</span></h4>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-footer py-2 px-4">
|
||||
|
|
@ -71,7 +71,7 @@
|
|||
|
||||
</div>
|
||||
<div>
|
||||
<h6 class="mb-0"> <a href="/user/transfers/@productId">All transfers</a> </h6>
|
||||
<h6 class="mb-0"> <a href="/user/transfers/@ProductId">All transfers</a> </h6>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
|
||||
<TransferGrid Logger="_logger"
|
||||
SignalRClient="adminSignalRClient"
|
||||
SignalRClient="AdminSignalRClient"
|
||||
ContextIds="@(Id.IsNullOrEmpty() ? null : [Id])"
|
||||
GetAllMessageTag="@SignalRTags.GetTransfersByOrderingProductId"
|
||||
CustomizeElement="Grid_CustomizeElement"
|
||||
|
|
@ -175,7 +175,7 @@
|
|||
</Animation>
|
||||
</div>
|
||||
|
||||
<div class="col-12 col-lg-3" hidden="@accessDenied">
|
||||
<div class="col-12 col-lg-3" hidden="@_accessDenied">
|
||||
<Animation Effect="@Effect.FadeIn" Speed="@Speed.Fast" Delay="@TimeSpan.FromMilliseconds(250)">
|
||||
<div class="card card-admin" style="border-radius: 16px;">
|
||||
<div class="card-header py-2 px-4">
|
||||
|
|
@ -192,7 +192,7 @@
|
|||
<div class="card-body card-admin-body py-2 px-4">
|
||||
<div class="d-flex flex-row mb-4 pb-2">
|
||||
<TransferGrid Logger="_logger"
|
||||
SignalRClient="adminSignalRClient"
|
||||
SignalRClient="AdminSignalRClient"
|
||||
ContextIds="@(Id.IsNullOrEmpty() ? null : [Id])"
|
||||
GetAllMessageTag="@SignalRTags.GetTransfersByOrderingProductId"
|
||||
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
||||
|
|
@ -270,7 +270,7 @@
|
|||
}
|
||||
</style>
|
||||
|
||||
<DxGrid Data="@Data">
|
||||
<DxGrid Data="@_data">
|
||||
<Columns>
|
||||
<DxGridDataColumn FieldName="CompanyName" AllowSort="true" />
|
||||
<DxGridDataColumn FieldName="ContactName" />
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ using System.ComponentModel.DataAnnotations;
|
|||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.Runtime.CompilerServices;
|
||||
using AyCode.Utils.Extensions;
|
||||
using TIAM.Core.Enums;
|
||||
using TIAM.Entities.Products;
|
||||
using TIAM.Entities.ServiceProviders;
|
||||
|
|
@ -20,52 +21,45 @@ namespace TIAMSharedUI.Pages.User.Hotels
|
|||
public partial class HotelComponent : ComponentBase
|
||||
{
|
||||
|
||||
[Parameter]
|
||||
public Guid Id { get; set; }
|
||||
[Parameter] public Guid Id { get; set; }
|
||||
|
||||
[Parameter] public bool ShowSeriesPointMarkers { get; set; }
|
||||
[Parameter] public bool ShowSeriesLabels { get; set; }
|
||||
|
||||
[Inject]
|
||||
ISupplierService SupplierService { get; set; }
|
||||
[Inject] ISupplierService SupplierService { get; set; }
|
||||
|
||||
[Inject]
|
||||
IUserDataService UserDataService { get; set; }
|
||||
[Inject] IUserDataService UserDataService { get; set; }
|
||||
|
||||
[Inject]
|
||||
IServiceProviderDataService ServiceProviderDataService { get; set; }
|
||||
[Inject] IServiceProviderDataService ServiceProviderDataService { get; set; }
|
||||
|
||||
[Inject]
|
||||
AdminSignalRClient adminSignalRClient { get; set; }
|
||||
[Inject] AdminSignalRClient AdminSignalRClient { get; set; }
|
||||
|
||||
[Inject]
|
||||
IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
|
||||
[Inject] IEnumerable<IAcLogWriterClientBase> LogWriters { get; set; }
|
||||
|
||||
[Inject]
|
||||
ISessionService SessionService { get; set; }
|
||||
[Inject] ISessionService SessionService { get; set; }
|
||||
|
||||
private LoggerClient<HotelComponent> _logger;
|
||||
|
||||
object? OrderData { get; set; }
|
||||
object? AffiliateData { get; set; }
|
||||
private object? _orderData;
|
||||
private object? _affiliateData;
|
||||
|
||||
object? Data { get; set; }
|
||||
private object? _data;
|
||||
|
||||
public string ImageSource { get; set; } = "";
|
||||
|
||||
public Guid productId { get; set; }
|
||||
public Guid ProductId { get; set; }
|
||||
|
||||
private Product? hotel;
|
||||
private string hotelName;
|
||||
private string hotelAddress = "No address set";
|
||||
private string hotelContactName = "No contact name set yet";
|
||||
private Product? _hotel;
|
||||
private string _hotelName = string.Empty;
|
||||
private string _hotelAddress = "No address set";
|
||||
private string _hotelContactName = "No contact name set yet";
|
||||
|
||||
private bool isProductAdmin;
|
||||
private bool accessDenied = true;
|
||||
private bool _isProductAdmin;
|
||||
private bool _accessDenied = true;
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
productId = Id;
|
||||
ProductId = Id;
|
||||
base.OnParametersSet();
|
||||
}
|
||||
|
||||
|
|
@ -73,130 +67,103 @@ namespace TIAMSharedUI.Pages.User.Hotels
|
|||
{
|
||||
_logger = new LoggerClient<HotelComponent>(LogWriters.ToArray());
|
||||
|
||||
hotel = await adminSignalRClient.GetByIdAsync<Product>(SignalRTags.GetProductById, Id);
|
||||
if (hotel != null)
|
||||
_hotel = await AdminSignalRClient.GetByIdAsync<Product>(SignalRTags.GetProductById, Id);
|
||||
if (_hotel != null)
|
||||
{
|
||||
if (hotel.Name != null)
|
||||
{
|
||||
hotelName = hotel.Name;
|
||||
}
|
||||
if (hotel.Profile != null)
|
||||
{
|
||||
if (hotel.Profile.Address != null)
|
||||
{
|
||||
if (string.IsNullOrEmpty(hotel.Profile.Address.AddressText))
|
||||
{
|
||||
hotelAddress = hotel.Profile.Address.AddressText;
|
||||
if (!_hotel.Name.IsNullOrWhiteSpace()) _hotelName = _hotel.Name;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
hotelAddress = "Address is empty";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
hotelAddress = "No address found";
|
||||
}
|
||||
if (hotel.Profile.FullName != null)
|
||||
{
|
||||
hotelContactName = hotel.Profile.FullName;
|
||||
}
|
||||
else
|
||||
{
|
||||
hotelContactName = "No contact name has been set yet";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
hotelAddress = "No profile found";
|
||||
}
|
||||
_hotelAddress = !_hotel.Profile.Address.AddressText.IsNullOrWhiteSpace() ? _hotel.Profile.Address.AddressText : "Address is empty";
|
||||
_hotelContactName = !_hotel.Profile.FullName.IsNullOrWhiteSpace() ? _hotel.Profile.FullName : "No contact name has been set yet";
|
||||
}
|
||||
|
||||
//TEMPORARY
|
||||
isProductAdmin = SessionService.User.UserModelDto.UserProductMappings.Any(m => m.ProductId == Id && m.Permissions == 1);
|
||||
accessDenied = !isProductAdmin;
|
||||
_isProductAdmin = SessionService.User?.UserModelDto.UserProductMappings.Any(m => m.ProductId == Id && m.Permissions == 1) ?? false;
|
||||
_accessDenied = !_isProductAdmin;
|
||||
|
||||
_logger.Debug($"{hotel.Name}, {isProductAdmin}");
|
||||
_logger.Debug($"{_hotel?.Name}, {_isProductAdmin}");
|
||||
base.OnInitialized();
|
||||
|
||||
OrderData = new object[]
|
||||
_orderData = new object[]
|
||||
{
|
||||
new {
|
||||
Date = DateTime.Now.AddDays(3),
|
||||
Income = "$5",
|
||||
TransactionId = "POX987532582",
|
||||
Status = "Finished"
|
||||
},
|
||||
new {
|
||||
Date = DateTime.Today.AddDays(-2),
|
||||
Income = "$5",
|
||||
TransactionId = "POX645646382",
|
||||
Status = "Finished"
|
||||
},
|
||||
new {
|
||||
Date = DateTime.Today.AddDays(-6),
|
||||
Income = "$8",
|
||||
TransactionId = "POX645766311",
|
||||
Status = "Finished"
|
||||
},
|
||||
new
|
||||
{
|
||||
Date = DateTime.Now.AddDays(3),
|
||||
Income = "$5",
|
||||
TransactionId = "POX987532582",
|
||||
Status = "Finished"
|
||||
},
|
||||
new
|
||||
{
|
||||
Date = DateTime.Today.AddDays(-2),
|
||||
Income = "$5",
|
||||
TransactionId = "POX645646382",
|
||||
Status = "Finished"
|
||||
},
|
||||
new
|
||||
{
|
||||
Date = DateTime.Today.AddDays(-6),
|
||||
Income = "$8",
|
||||
TransactionId = "POX645766311",
|
||||
Status = "Finished"
|
||||
},
|
||||
};
|
||||
|
||||
AffiliateData = new object[]
|
||||
_affiliateData = new object[]
|
||||
{
|
||||
new {
|
||||
AffiliateId = 1,
|
||||
IncomeThisMonth = "$5",
|
||||
IncomeAlltime = "9425",
|
||||
CompanyName = "Upgen Ltd.",
|
||||
Status = "Active"
|
||||
},
|
||||
new {
|
||||
AffiliateId = 2,
|
||||
IncomeThisMonth = "$538",
|
||||
IncomeAlltime = "13425",
|
||||
CompanyName = "Kovacs hotel Ltd.",
|
||||
Status = "Active"
|
||||
},
|
||||
new {
|
||||
AffiliateId = 3,
|
||||
IncomeThisMonth = "$0",
|
||||
IncomeAlltime = "134200",
|
||||
CompanyName = "Innosaurus Ltd.",
|
||||
Status = "Passive"
|
||||
},
|
||||
new
|
||||
{
|
||||
AffiliateId = 1,
|
||||
IncomeThisMonth = "$5",
|
||||
IncomeAlltime = "9425",
|
||||
CompanyName = "Upgen Ltd.",
|
||||
Status = "Active"
|
||||
},
|
||||
new
|
||||
{
|
||||
AffiliateId = 2,
|
||||
IncomeThisMonth = "$538",
|
||||
IncomeAlltime = "13425",
|
||||
CompanyName = "Kovacs hotel Ltd.",
|
||||
Status = "Active"
|
||||
},
|
||||
new
|
||||
{
|
||||
AffiliateId = 3,
|
||||
IncomeThisMonth = "$0",
|
||||
IncomeAlltime = "134200",
|
||||
CompanyName = "Innosaurus Ltd.",
|
||||
Status = "Passive"
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
var suppliers = await SupplierService.GetSuppliersAsync();
|
||||
Data = suppliers.Select(s =>
|
||||
_data = suppliers.Select(s => new
|
||||
{
|
||||
return new
|
||||
{
|
||||
s.CompanyName,
|
||||
s.ContactName,
|
||||
s.ContactTitle,
|
||||
s.Country,
|
||||
s.City,
|
||||
s.Address,
|
||||
s.Phone
|
||||
};
|
||||
s.CompanyName,
|
||||
s.ContactName,
|
||||
s.ContactTitle,
|
||||
s.Country,
|
||||
s.City,
|
||||
s.Address,
|
||||
s.Phone
|
||||
});
|
||||
var productOwner = await adminSignalRClient.GetByIdAsync<List<Company>>(SignalRTags.GetCompaniesById, hotel.ServiceProviderId);
|
||||
if(productOwner!=null)
|
||||
|
||||
var productOwner = await AdminSignalRClient.GetByIdAsync<List<Company>>(SignalRTags.GetCompaniesById, _hotel.ServiceProviderId);
|
||||
if (productOwner != null)
|
||||
{
|
||||
ImageSource = await ServiceProviderDataService.GetQRCodeByProductIdAsync(productOwner[0].AffiliateId);
|
||||
}
|
||||
else
|
||||
{
|
||||
int width = 128;
|
||||
int height = 128;
|
||||
string base64String = "";
|
||||
const int width = 128;
|
||||
const int height = 128;
|
||||
var base64String = "";
|
||||
|
||||
// Create a new bitmap
|
||||
using (Bitmap bitmap = new Bitmap(width, height))
|
||||
using (var bitmap = new Bitmap(width, height))
|
||||
{
|
||||
// Set all pixels to black
|
||||
using (Graphics gfx = Graphics.FromImage(bitmap))
|
||||
using (var gfx = Graphics.FromImage(bitmap))
|
||||
{
|
||||
gfx.Clear(Color.Black);
|
||||
}
|
||||
|
|
@ -209,18 +176,18 @@ namespace TIAMSharedUI.Pages.User.Hotels
|
|||
ImageSource = base64String;
|
||||
}
|
||||
//SKBitmap bitmap = await ServiceProviderDataService.GetQRCodeByProductIdAsync(Guid.NewGuid());
|
||||
|
||||
|
||||
}
|
||||
|
||||
private string BitmapToBase64(Bitmap bitmap)
|
||||
{
|
||||
using (MemoryStream memoryStream = new MemoryStream())
|
||||
using (var memoryStream = new MemoryStream())
|
||||
{
|
||||
// Save bitmap to memory stream
|
||||
bitmap.Save(memoryStream, ImageFormat.Png);
|
||||
|
||||
// Convert memory stream to Base64 string
|
||||
byte[] imageBytes = memoryStream.ToArray();
|
||||
var imageBytes = memoryStream.ToArray();
|
||||
return Convert.ToBase64String(imageBytes);
|
||||
}
|
||||
}
|
||||
|
|
@ -263,19 +230,5 @@ namespace TIAMSharedUI.Pages.User.Hotels
|
|||
_logger.Error($"Grid_CustomizeElement; {ex.Message}", ex);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private static readonly List<TransferStatusModel> Statuses =
|
||||
[
|
||||
new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
|
||||
new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
||||
new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
||||
new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
||||
new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
||||
new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
||||
new(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
||||
new(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
|
||||
new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -134,7 +134,7 @@
|
|||
<CellDisplayTemplate>
|
||||
@{
|
||||
|
||||
TransferStatusModel keyField = Statuses.FirstOrDefault(x => x.StatusValue == (byte)context.Value)!;
|
||||
TransferStatusModel keyField = TransferStatusModel.AllStatuses.FirstOrDefault(x => x.StatusValue == (TransferStatusType)context.Value)!;
|
||||
string transferStatusText = keyField.StatusName;
|
||||
<text>@transferStatusText</text>
|
||||
}
|
||||
|
|
@ -200,7 +200,7 @@
|
|||
|
||||
<ToolbarTemplate>
|
||||
<div>
|
||||
<DxTagBox Data="@Statuses" Values="@_selectedCategories" @ref="_filterTag"
|
||||
<DxTagBox Data="@TransferStatusModel.AllStatuses" 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" />
|
||||
|
|
@ -249,30 +249,17 @@
|
|||
public List<string> IgnoreList =
|
||||
[
|
||||
"ReceiverEmailAddress",
|
||||
"ReceiverFullName",
|
||||
"ReceiverId",
|
||||
"SenderEmailAddress",
|
||||
"SenderFullName",
|
||||
"SenderId",
|
||||
"ContextId",
|
||||
"ContextType"
|
||||
"ReceiverFullName",
|
||||
"ReceiverId",
|
||||
"SenderEmailAddress",
|
||||
"SenderFullName",
|
||||
"SenderId",
|
||||
"ContextId",
|
||||
"ContextType"
|
||||
];
|
||||
|
||||
private static readonly List<TransferStatusModel> Statuses =
|
||||
[
|
||||
new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
|
||||
new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
||||
new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
||||
new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
||||
new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
||||
new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
||||
new(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
||||
new(Convert.ToByte(TransferStatusType.UserCanceled), "User 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 string _filterText = GetFilterText(_selectedCategories.Select(x => (TransferStatusType)x.StatusValue).ToList());
|
||||
private static List<TransferStatusModel> _selectedCategories = TransferStatusModel.AllStatuses.Where(x => x.StatusValue != TransferStatusType.Finished && x.StatusValue != TransferStatusType.UserCanceled && x.StatusValue != TransferStatusType.AdminDenied).ToList();
|
||||
private string _filterText = GetFilterText(_selectedCategories.Select(x => x.StatusValue).ToList());
|
||||
|
||||
private MessageWizardModel _messageWizardModel = new();
|
||||
|
||||
|
|
@ -319,7 +306,7 @@
|
|||
|
||||
public async Task SubmitForm(object result)
|
||||
{
|
||||
var messageModel = (result as MessageWizardModel)!;
|
||||
var messageModel = (result as MessageWizardModel)!;
|
||||
_logger.Info(messageModel.Content);
|
||||
var email = await wizardProcessor.ProcessWizardAsync<MessageWizardModel>(result.GetType(), messageModel);
|
||||
_logger.Info($"Submitted nested form: {result.GetType().FullName}");
|
||||
|
|
@ -466,23 +453,23 @@
|
|||
}
|
||||
|
||||
_dataStorage = new DxSchedulerDataStorage
|
||||
{
|
||||
AppointmentMappings = new DxSchedulerAppointmentMappings()
|
||||
{
|
||||
AppointmentMappings = new DxSchedulerAppointmentMappings()
|
||||
{
|
||||
Type = "AppointmentType",
|
||||
Start = "StartDate",
|
||||
End = "EndDate",
|
||||
Subject = "Caption",
|
||||
AllDay = "AllDay",
|
||||
Location = "Location",
|
||||
Description = "Description",
|
||||
LabelId = "Label",
|
||||
StatusId = "Status",
|
||||
RecurrenceInfo = "Recurrence"
|
||||
},
|
||||
Type = "AppointmentType",
|
||||
Start = "StartDate",
|
||||
End = "EndDate",
|
||||
Subject = "Caption",
|
||||
AllDay = "AllDay",
|
||||
Location = "Location",
|
||||
Description = "Description",
|
||||
LabelId = "Label",
|
||||
StatusId = "Status",
|
||||
RecurrenceInfo = "Recurrence"
|
||||
},
|
||||
|
||||
AppointmentsSource = AppointmentModels
|
||||
};
|
||||
AppointmentsSource = AppointmentModels
|
||||
};
|
||||
}
|
||||
|
||||
public AppointmentModel CreateAppointmentModel(Transfer transfer)
|
||||
|
|
@ -503,4 +490,5 @@
|
|||
//_gridTransfer.ExpandDetailRow(0);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -218,19 +218,6 @@
|
|||
"ContextId",
|
||||
];
|
||||
|
||||
private static readonly List<TransferStatusModel> Statuses =
|
||||
[
|
||||
new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
|
||||
new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
||||
new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
||||
new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
||||
new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
||||
new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
||||
new(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
||||
new(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
|
||||
new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
|
||||
];
|
||||
|
||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||
{
|
||||
try
|
||||
|
|
|
|||
|
|
@ -1,14 +1,29 @@
|
|||
namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI
|
||||
{
|
||||
using TIAM.Core.Enums;
|
||||
|
||||
namespace TIAMWebApp.Shared.Application.Models.ClientSide.UI
|
||||
{
|
||||
public class TransferStatusModel
|
||||
{
|
||||
public byte StatusValue { get; set; }
|
||||
public TransferStatusType StatusValue { get; set; }
|
||||
public string StatusName { get; set; }
|
||||
|
||||
public TransferStatusModel(byte statusValue, string statusName)
|
||||
public TransferStatusModel(TransferStatusType statusValue, string statusName)
|
||||
{
|
||||
StatusValue = statusValue;
|
||||
StatusName = statusName;
|
||||
}
|
||||
|
||||
public static readonly List<TransferStatusModel> AllStatuses =
|
||||
[
|
||||
new(TransferStatusType.OrderSubmitted, "Order submitted"),
|
||||
new(TransferStatusType.OrderConfirmed, "Order confirmed"),
|
||||
new(TransferStatusType.AssignedToDriver, "Assigned to driver"),
|
||||
new(TransferStatusType.DriverConfirmed, "Driver confirmed"),
|
||||
new(TransferStatusType.DriverEnRoute, "Driver enroute"),
|
||||
new(TransferStatusType.PassengerPickup, "Passenger in car"),
|
||||
new(TransferStatusType.Finished, "Finished"),
|
||||
new(TransferStatusType.UserCanceled, "User cancelled"),
|
||||
new(TransferStatusType.AdminDenied, "Admin cancelled")
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue