TourIAm/TIAMSharedUI/Pages/User/Hotels/CreateAndManageTransfer.razor

98 lines
3.4 KiB
Plaintext

@page "/user/createAndManageTransfer"
@using TIAM.Entities.Products
@using TIAM.Entities.Transfers
@using TIAM.Services
@using TIAMSharedUI.Pages.Components.EditComponents
@using TIAMSharedUI.Shared
@using AyCode.Services.Loggers
@using TIAMWebApp.Shared.Application.Interfaces;
@using TIAMWebApp.Shared.Application.Models.ClientSide.UI.WizardModels
@using TIAMWebApp.Shared.Application.Services
@using TIAMWebApp.Shared.Application.Utility
@layout AdminLayout
@inject IPopulationStructureDataProvider DataProvider
@inject ISessionService SessionService
@inject IUserDataService UserDataService
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
@inject AdminSignalRClient _adminSignalRClient
<PageTitle>Create transfer</PageTitle>
<div class="text-center m-5">
<h1>Drivers</h1>
<h2 style="font-size:small">Manage drivers here!</h2>
</div>
<!--We need to check if the user is owner of a swerviceprovider-->
<div class="container-fluid">
<h3>Selected Hotel:</h3>
<DxComboBox Data="@Hotels"
@bind-Value="@SelectedHotel"
SearchMode="@ListSearchMode.AutoSearch"
SearchFilterCondition="@ListSearchFilterCondition.Contains"
ListRenderMode="ListRenderMode.Virtual"
TextFieldName="Name"></DxComboBox>
<div class="row py-3">
<div class=" col-12 col-xl-3">
</div>
<DynamicEditForm Data="Data" isEditing="true" IgnoreReflection="TransferIgnorList" OnSubmit="SubmitForm"></DynamicEditForm>
</div>
</div>
@code {
private LoggerClient<CreateAndManageTransfer> _logger;
private TransferWizardModel Data;
private List<Product> Hotels = new List<Product>();
private Product SelectedHotel;
public List<string> TransferIgnorList = new List<string>
{
nameof(TransferWizardModel.Id),
nameof(TransferWizardModel.UserId),
nameof(TransferWizardModel.ProductId),
nameof(TransferWizardModel.FirstName),
nameof(TransferWizardModel.LastName),
nameof(TransferWizardModel.UserProductMappingId),
nameof(TransferWizardModel.UserProductToCarId),
nameof(TransferWizardModel.ReferralId),
nameof(TransferWizardModel.Price)
};
protected override void OnInitialized()
{
_logger = new LoggerClient<CreateAndManageTransfer>(LogWriters.ToArray());
if (SessionService.User.UserModelDto.Products.Count() > 0)
{
if (SessionService.User.UserModelDto.Products.Any(x => x.ProductType == TIAM.Core.Enums.ProductType.Hotel))
{
Hotels = SessionService.User.UserModelDto.Products.Where(x => x.ProductType == TIAM.Core.Enums.ProductType.Hotel).ToList();
SelectedHotel = Hotels[0];
}
}
Data = new TransferWizardModel();
base.OnInitialized();
}
public async Task SubmitForm(object result)
{
var valami = ((TransferWizardModel)result).CopyToTransfer();
valami.Id = Guid.NewGuid();
valami.ProductId = SelectedHotel.Id;
//valami.ProductId = SessionService.User.UserId; //TODO ProductID!
// await WizardProcessor.ProcessWizardAsync<TransferDestinationWizardModel>(result.GetType(), result);
var saveResult = await _adminSignalRClient.PostDataAsync<Transfer>(SignalRTags.AddTransfer, valami);
_logger.Info($"Submitted nested form: {result.GetType().FullName}, {valami.ToAddress}, {valami.FromAddress}, {valami.ProductId}");
}
}