merge
This commit is contained in:
commit
07a36c2329
|
|
@ -236,7 +236,12 @@ namespace TIAM.Database.DataLayers.Admins
|
||||||
|
|
||||||
public Task<List<Company>> GetServiceProvidersAsync()
|
public Task<List<Company>> GetServiceProvidersAsync()
|
||||||
{
|
{
|
||||||
return Context.ServiceProviders.ToListAsync();
|
return SessionAsync(ctx => ctx.ServiceProviders.ToList());
|
||||||
|
}
|
||||||
|
|
||||||
|
public Task<string> GetServiceProvidersAsyncJson()
|
||||||
|
{
|
||||||
|
return SessionAsync(ctx => ctx.ServiceProviders.ToJson());
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual Task<Company?> GetServiceProviderByIdAsync(Guid id)
|
public virtual Task<Company?> GetServiceProviderByIdAsync(Guid id)
|
||||||
|
|
|
||||||
|
|
@ -43,14 +43,24 @@ namespace TIAMMobileApp.Services
|
||||||
|
|
||||||
if (userModelDto != null)
|
if (userModelDto != null)
|
||||||
{
|
{
|
||||||
|
Dictionary<Guid, string> userProperties = new Dictionary<Guid, string>();
|
||||||
//get user's properties
|
//get user's properties
|
||||||
var hasProperties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
|
bool hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : userModelDto.ServiceProviders.Count == 0 ? false : false;
|
||||||
|
if (hasProperties)
|
||||||
|
{
|
||||||
|
|
||||||
if (hasProperties != null)
|
//var Properties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
|
||||||
_logger.Info($"{hasProperties.Count} properties found");
|
var Properties = userModelDto.ServiceProviders;
|
||||||
|
|
||||||
|
_logger.Info($"{Properties.Count} properties found");
|
||||||
|
foreach ( var property in Properties )
|
||||||
|
{
|
||||||
|
userProperties.Add(property.Id, property.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//create user session model
|
//create user session model
|
||||||
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, hasProperties, 1);
|
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, userProperties, 1);
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -422,6 +422,7 @@ new HeroSliderItem
|
||||||
"Destination",
|
"Destination",
|
||||||
"PickupAddress",
|
"PickupAddress",
|
||||||
"ProductId",
|
"ProductId",
|
||||||
|
"PaymentId",
|
||||||
"FlightNumber",
|
"FlightNumber",
|
||||||
"TripDate",
|
"TripDate",
|
||||||
"FirstName",
|
"FirstName",
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,7 @@
|
||||||
"Id",
|
"Id",
|
||||||
"UserId",
|
"UserId",
|
||||||
"ProductId",
|
"ProductId",
|
||||||
|
"PaymentId",
|
||||||
"FirstName",
|
"FirstName",
|
||||||
"LastName",
|
"LastName",
|
||||||
"UserProductMappingId",
|
"UserProductMappingId",
|
||||||
|
|
|
||||||
|
|
@ -97,6 +97,7 @@ new HeroSliderItem
|
||||||
"Id",
|
"Id",
|
||||||
"UserId",
|
"UserId",
|
||||||
"ProductId",
|
"ProductId",
|
||||||
|
"PaymentId",
|
||||||
"TripDate",
|
"TripDate",
|
||||||
"FirstName",
|
"FirstName",
|
||||||
"LastName",
|
"LastName",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,119 @@
|
||||||
|
@using TIAM.Entities.Products
|
||||||
|
@using TIAM.Entities.ServiceProviders
|
||||||
|
@using TIAM.Entities.Transfers
|
||||||
|
@using TIAM.Entities.Drivers
|
||||||
|
@using TIAM.Entities.Users
|
||||||
|
@using TIAM.Models.Dtos.Users
|
||||||
|
@using TIAMWebApp.Shared.Application.Interfaces
|
||||||
|
@using TIAMWebApp.Shared.Application.Utility
|
||||||
|
@using AyCode.Services.Loggers
|
||||||
|
@using TIAM.Core.Loggers
|
||||||
|
@inject IServiceProviderDataService ServiceProviderDataService
|
||||||
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
|
|
||||||
|
<div class="mb-2">
|
||||||
|
UserProductMapping
|
||||||
|
</div>
|
||||||
|
<DxGrid Data="_detailGridData"
|
||||||
|
PageSize="5"
|
||||||
|
AutoExpandAllGroupRows="true"
|
||||||
|
KeyboardNavigationEnabled="KeyboardNavigationEnabled"
|
||||||
|
KeyFieldName="Id"
|
||||||
|
ValidationEnabled="false"
|
||||||
|
CustomizeEditModel="CustomizeEditModel"
|
||||||
|
EditModelSaving="EditModelSaving"
|
||||||
|
DataItemDeleting="DataItemDeleting"
|
||||||
|
EditMode="GridEditMode.EditForm"
|
||||||
|
ColumnResizeMode="GridColumnResizeMode.NextColumn"
|
||||||
|
ShowFilterRow="true">
|
||||||
|
<Columns>
|
||||||
|
<DxGridCommandColumn NewButtonVisible="true" Width="8%" FixedPosition="GridColumnFixedPosition.Left" />
|
||||||
|
<DxGridDataColumn FieldName="Id" GroupIndex="0" />
|
||||||
|
<DxGridDataColumn FieldName="UserId" />
|
||||||
|
<DxGridDataColumn FieldName="ServiceProviderId" Width="40%" />
|
||||||
|
@* <DxGridDataColumn FieldName="Permissions" /> *@
|
||||||
|
</Columns>
|
||||||
|
<EditFormTemplate Context="EditFormContext">
|
||||||
|
@{
|
||||||
|
var transfer2 = (UserToCompany)EditFormContext.EditModel;
|
||||||
|
}
|
||||||
|
<DxFormLayout CssClass="w-100">
|
||||||
|
<DxFormLayoutItem Caption="UserId" ColSpanMd="4">
|
||||||
|
@EditFormContext.GetEditor("UserId")
|
||||||
|
</DxFormLayoutItem>
|
||||||
|
<DxFormLayoutItem Caption="User:" ColSpanMd="4">
|
||||||
|
<DxComboBox Data="@_availableUsers" TextFieldName="Name" @bind-Value="((UserToCompany)EditFormContext.EditModel).UserId" />
|
||||||
|
</DxFormLayoutItem>
|
||||||
|
@* <DxFormLayoutItem Caption="Permissions" ColSpanMd="4">
|
||||||
|
@EditFormContext.GetEditor("Permissions")
|
||||||
|
</DxFormLayoutItem> *@
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</DxFormLayout>
|
||||||
|
</EditFormTemplate>
|
||||||
|
|
||||||
|
</DxGrid>
|
||||||
|
|
||||||
|
@code {
|
||||||
|
[Parameter]
|
||||||
|
public bool KeyboardNavigationEnabled { get; set; }
|
||||||
|
[Parameter]
|
||||||
|
public Company CurrentCompany { get; set; }
|
||||||
|
|
||||||
|
List<UserToCompany> _detailGridData;
|
||||||
|
|
||||||
|
List<User> _availableUsers;
|
||||||
|
|
||||||
|
public UserModelDtoDetail UserInfo;
|
||||||
|
|
||||||
|
ILogger _logger;
|
||||||
|
|
||||||
|
protected override async Task OnInitializedAsync()
|
||||||
|
{
|
||||||
|
_logger = new LoggerClient<CompaniesNestedUserProductMapping>(LogWriters.ToArray());
|
||||||
|
|
||||||
|
_detailGridData = CurrentCompany.UserToServiceProviders ?? new List<UserToCompany>();
|
||||||
|
|
||||||
|
_logger.Info($"DetailGridData: {_detailGridData.Count}");
|
||||||
|
}
|
||||||
|
|
||||||
|
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
|
{
|
||||||
|
if (!e.IsNew) return;
|
||||||
|
|
||||||
|
var newProductMapping = new UserToCompany
|
||||||
|
{
|
||||||
|
ServiceProviderId = CurrentCompany.Id,
|
||||||
|
UserId = Guid.Empty
|
||||||
|
};
|
||||||
|
|
||||||
|
e.EditModel = newProductMapping;
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
|
{
|
||||||
|
if (e.IsNew)
|
||||||
|
//add new orderData to orderData array
|
||||||
|
_logger.Info("New user added to the company");
|
||||||
|
|
||||||
|
else
|
||||||
|
_logger.Info("orderData updated");
|
||||||
|
|
||||||
|
await UpdateDataAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
|
{
|
||||||
|
//remove orderData from orderData array
|
||||||
|
_logger.Info("orderData deleted");
|
||||||
|
//await UpdateDataAsync();
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task UpdateDataAsync()
|
||||||
|
{
|
||||||
|
//refresh grid
|
||||||
|
_logger.Info("orderData grid refreshed");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -1,9 +1,11 @@
|
||||||
@page "/user/companies"
|
@page "/user/companies"
|
||||||
|
@using AyCode.Core.Helpers
|
||||||
@using BlazorAnimation
|
@using BlazorAnimation
|
||||||
@using TIAM.Core.Enums
|
@using TIAM.Core.Enums
|
||||||
@using TIAM.Entities.ServiceProviders
|
@using TIAM.Entities.ServiceProviders
|
||||||
@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.Shared
|
@using TIAMSharedUI.Shared
|
||||||
@using TIAMWebApp.Shared.Application.Interfaces
|
@using TIAMWebApp.Shared.Application.Interfaces
|
||||||
|
|
@ -22,6 +24,7 @@
|
||||||
@inject IStringLocalizer<TIAMResources> localizer
|
@inject IStringLocalizer<TIAMResources> localizer
|
||||||
@inject IWizardProcessor wizardProcessor
|
@inject IWizardProcessor wizardProcessor
|
||||||
@inject IServiceProviderDataService serviceProviderDataService
|
@inject IServiceProviderDataService serviceProviderDataService
|
||||||
|
@inject IUserDataService userDataService
|
||||||
@inject ISessionService sessionService
|
@inject ISessionService sessionService
|
||||||
@inject DevAdminSignalClient devAdminSignalClient;
|
@inject DevAdminSignalClient devAdminSignalClient;
|
||||||
<PageTitle>Admin - Companies</PageTitle>
|
<PageTitle>Admin - Companies</PageTitle>
|
||||||
|
|
@ -31,9 +34,24 @@
|
||||||
<h2 style="font-size:small">Manage transfers here!</h2>
|
<h2 style="font-size:small">Manage transfers here!</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<DxPopup
|
||||||
|
@bind-Visible="@SetOwnerPopupVisible"
|
||||||
|
ShowFooter="true"
|
||||||
|
HeaderText="Set owner"
|
||||||
|
>
|
||||||
|
<BodyContentTemplate>
|
||||||
|
<DxTextBox CssClass="form-field" @Bind-Text="@UpdateOwnerIdText">
|
||||||
|
|
||||||
|
</DxTextBox>
|
||||||
|
</BodyContentTemplate>
|
||||||
|
<FooterContentTemplate>
|
||||||
|
<DxButton CssClass="popup-button my-1 ms-2" RenderStyle="ButtonRenderStyle.Primary" Text="OK" Click="@(() => SetOwnerPopupVisible = false)" />
|
||||||
|
@* <DxButton CssClass="popup-button my-1 ms-2" RenderStyle="ButtonRenderStyle.Secondary" Text="Cancel" Click="@(() => SetOwnerPopupVisible = false)" /> *@
|
||||||
|
</FooterContentTemplate>
|
||||||
|
</DxPopup>
|
||||||
|
|
||||||
<DxPopup CssClass="popup-demo-events"
|
<DxPopup CssClass="popup-demo-events"
|
||||||
@bind-Visible="@PopupVisible"
|
@bind-Visible="@SendMailPopupVisible"
|
||||||
ShowFooter="true"
|
ShowFooter="true"
|
||||||
CloseOnEscape="true"
|
CloseOnEscape="true"
|
||||||
CloseOnOutsideClick="false"
|
CloseOnOutsideClick="false"
|
||||||
|
|
@ -77,38 +95,44 @@
|
||||||
KeyFieldName="Id">
|
KeyFieldName="Id">
|
||||||
|
|
||||||
<Columns>
|
<Columns>
|
||||||
<DxGridCommandColumn NewButtonVisible="false" Width="8%" FixedPosition="GridColumnFixedPosition.Left" />
|
<DxGridCommandColumn NewButtonVisible="true" Width="8%" FixedPosition="GridColumnFixedPosition.Left" />
|
||||||
<DxGridDataColumn FieldName="Id" ShowInColumnChooser="false" SortIndex="0" Visible="false" />
|
<DxGridDataColumn FieldName="Id" ShowInColumnChooser="false" SortIndex="0" Visible="false" />
|
||||||
<DxGridDataColumn FieldName="Name" />
|
<DxGridDataColumn FieldName="Name" />
|
||||||
<DxGridDataColumn FieldName="OwnerId" />
|
<DxGridDataColumn FieldName="OwnerId">
|
||||||
|
<CellDisplayTemplate>
|
||||||
|
@{
|
||||||
|
var keyField = context.Value;
|
||||||
|
var keyItem = (Company)context.DataItem;
|
||||||
|
string buttonText = "Set owner";
|
||||||
|
if(keyField == null)
|
||||||
|
{
|
||||||
|
<DxButton Click="() => SetOwnerPopup(keyItem)" Text="@buttonText" RenderStyle="ButtonRenderStyle.Primary" />
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</CellDisplayTemplate>
|
||||||
|
</DxGridDataColumn>
|
||||||
<DxGridDataColumn FieldName="AffiliateId" />
|
<DxGridDataColumn FieldName="AffiliateId" />
|
||||||
<DxGridDataColumn FieldName="CommissionPercent" />
|
<DxGridDataColumn FieldName="CommissionPercent" />
|
||||||
<DxGridDataColumn FieldName="Created" />
|
<DxGridDataColumn FieldName="Created" />
|
||||||
@* <DxGridDataColumn FieldName="ContactEmail">
|
@* <DxGridDataColumn FieldName="ContactEmail">
|
||||||
<CellDisplayTemplate>
|
|
||||||
@{
|
|
||||||
var keyField = context.Value;
|
|
||||||
|
|
||||||
var keyItem = (TiamServiceProvider)context.DataItem;
|
|
||||||
string buttonText = "Contact";
|
|
||||||
<DxButton Click="() => SendMail(keyItem.)" Text="@buttonText" RenderStyle="ButtonRenderStyle.Primary" />
|
|
||||||
}
|
|
||||||
</CellDisplayTemplate>
|
|
||||||
</DxGridDataColumn> *@
|
</DxGridDataColumn> *@
|
||||||
<DxGridDataColumn FieldName="PassengerCount" />
|
|
||||||
|
|
||||||
</Columns>
|
</Columns>
|
||||||
<DetailRowTemplate>
|
<DetailRowTemplate>
|
||||||
<Grid_MasterDetail_NestedGrid_DetailContent Customer="(TIAM.Entities.Transfers.Transfer)context.DataItem" KeyboardNavigationEnabled="true" />
|
<CompaniesNestedUserProductMapping CurrentCompany="(TIAM.Entities.ServiceProviders.Company)context.DataItem" KeyboardNavigationEnabled="true" />
|
||||||
</DetailRowTemplate>
|
</DetailRowTemplate>
|
||||||
<EditFormTemplate Context="EditFormContext">
|
<EditFormTemplate Context="EditFormContext">
|
||||||
@{
|
@{
|
||||||
var transfer2 = (Transfer)EditFormContext.EditModel;
|
var transfer2 = (Company)EditFormContext.EditModel;
|
||||||
}
|
}
|
||||||
<DxFormLayout CssClass="w-100">
|
<DxFormLayout CssClass="w-100">
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.LastName) ColSpanMd="6" ColSpanLg="6" ColSpanSm="12">
|
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.LastName) ColSpanMd="6" ColSpanLg="6" ColSpanSm="12">
|
||||||
@EditFormContext.GetEditor("Name")
|
@EditFormContext.GetEditor("Name")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
|
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.LastName) ColSpanMd="6" ColSpanLg="6" ColSpanSm="12">
|
||||||
|
@EditFormContext.GetEditor("CommissionPercent")
|
||||||
|
</DxFormLayoutItem>
|
||||||
|
|
||||||
|
|
||||||
</DxFormLayout>
|
</DxFormLayout>
|
||||||
|
|
@ -135,9 +159,10 @@
|
||||||
|
|
||||||
//public Transfer myModel = new Transfer();
|
//public Transfer myModel = new Transfer();
|
||||||
|
|
||||||
public Dictionary<Guid, string> ServiceProviderDataList { get; set; }
|
public List<Company> ServiceProviderDataList { get; set; }
|
||||||
|
|
||||||
bool PopupVisible { get; set; }
|
bool SendMailPopupVisible { get; set; }
|
||||||
|
bool SetOwnerPopupVisible { get; set; }
|
||||||
public List<string> IgnoreList =
|
public List<string> IgnoreList =
|
||||||
[
|
[
|
||||||
"ReceiverEmailAddress",
|
"ReceiverEmailAddress",
|
||||||
|
|
@ -149,23 +174,8 @@
|
||||||
"ContextId",
|
"ContextId",
|
||||||
];
|
];
|
||||||
|
|
||||||
public List<TransferStatusModel> Statuses { get; set; } =
|
|
||||||
[
|
|
||||||
new(Convert.ToInt16(TransferStatusType.OrderSubmitted), "Order submitted"),
|
|
||||||
new(Convert.ToInt16(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
|
||||||
new(Convert.ToInt16(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
|
||||||
new(Convert.ToInt16(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
|
||||||
new(Convert.ToInt16(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
|
||||||
new(Convert.ToInt16(TransferStatusType.PassengerPickup), "Passenger in car"),
|
|
||||||
new(Convert.ToInt16(TransferStatusType.Finished), "Finished"),
|
|
||||||
new(Convert.ToInt16(TransferStatusType.UserCanceled), "User cancelled"),
|
|
||||||
new(Convert.ToInt16(TransferStatusType.AdminDenied), "Admin cancelled")
|
|
||||||
];
|
|
||||||
|
|
||||||
private MessageWizardModel _messageWizardModel = new();
|
private MessageWizardModel _messageWizardModel = new();
|
||||||
|
private string UpdateOwnerIdText;
|
||||||
public List<AppointmentModel> AppointmentModels { get; set; }
|
|
||||||
|
|
||||||
DateTime StartDate { get; set; } = DateTime.Today;
|
DateTime StartDate { get; set; } = DateTime.Today;
|
||||||
DxSchedulerDataStorage _dataStorage = new();
|
DxSchedulerDataStorage _dataStorage = new();
|
||||||
|
|
||||||
|
|
@ -178,13 +188,41 @@
|
||||||
_messageWizardModel.SenderEmailAddress = "";
|
_messageWizardModel.SenderEmailAddress = "";
|
||||||
_messageWizardModel.ReceiverEmailAddress = "";
|
_messageWizardModel.ReceiverEmailAddress = "";
|
||||||
_messageWizardModel.ReceiverFullName = "";
|
_messageWizardModel.ReceiverFullName = "";
|
||||||
PopupVisible = true;
|
SendMailPopupVisible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void SetOwnerPopup(Company item)
|
||||||
|
{
|
||||||
|
_logger.Info($"Setting owner of {item.OwnerId}, {item.Id}");
|
||||||
|
|
||||||
|
SetOwnerPopupVisible = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
async Task<bool> SetOwner(Guid CompanyId)
|
||||||
|
{
|
||||||
|
//get user id from DB
|
||||||
|
var userModelDto = await userDataService.GetUserByEmailAsync(UpdateOwnerIdText);
|
||||||
|
|
||||||
|
//overwrite ServiceProvider ownerid
|
||||||
|
var target = await serviceProviderDataService.GetServiceProviderByIdAsync(CompanyId);
|
||||||
|
if (target == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
target.OwnerId = userModelDto.Id;
|
||||||
|
var result = await serviceProviderDataService.UpdateServiceProviderAsync(target);
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CancelCreateClick()
|
void CancelCreateClick()
|
||||||
{
|
{
|
||||||
|
|
||||||
PopupVisible = false;
|
SendMailPopupVisible = false;
|
||||||
}
|
}
|
||||||
void EulaPopupClosed()
|
void EulaPopupClosed()
|
||||||
{
|
{
|
||||||
|
|
@ -227,43 +265,26 @@
|
||||||
|
|
||||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 5)
|
//TODO mark non active partners
|
||||||
{
|
|
||||||
e.CssClass = "bg-important";
|
|
||||||
}
|
|
||||||
else if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") > 5 && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") < 35)
|
|
||||||
{
|
|
||||||
e.CssClass = "bg-attention";
|
|
||||||
}
|
|
||||||
else if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 35)
|
|
||||||
{
|
|
||||||
e.CssClass = "bg-finished";
|
|
||||||
}
|
|
||||||
else if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") > 35)
|
|
||||||
{
|
|
||||||
e.CssClass = "bg-cancel";
|
|
||||||
}
|
|
||||||
if (e.ElementType == GridElementType.HeaderCell)
|
|
||||||
{
|
|
||||||
e.Style = "background-color: rgba(0, 0, 0, 0.08)";
|
|
||||||
e.CssClass = "header-bold";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
{
|
{
|
||||||
if (!e.IsNew) return;
|
if (!e.IsNew)
|
||||||
|
{
|
||||||
|
|
||||||
var transferEditModel = (Transfer)e.EditModel; //TODO not valid cast
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
var transferEditModel = (Company)e.EditModel; //TODO not valid cast
|
||||||
transferEditModel.Id = Guid.NewGuid();
|
transferEditModel.Id = Guid.NewGuid();
|
||||||
transferEditModel.ToAddress = "Where to?";
|
transferEditModel.AffiliateId = Guid.NewGuid();
|
||||||
transferEditModel.FromAddress = "From where?";
|
transferEditModel.Name = "Company name";
|
||||||
transferEditModel.Appointment = DateTime.UtcNow.AddDays(3);
|
transferEditModel.OwnerId = Guid.Empty;
|
||||||
transferEditModel.PassengerCount = 1;
|
transferEditModel.ProfileId = Guid.NewGuid();
|
||||||
transferEditModel.FirstName = "John";
|
}
|
||||||
transferEditModel.LastName = "Doe";
|
|
||||||
transferEditModel.ContactPhone = "+00000000000";
|
|
||||||
transferEditModel.ContactEmail = "your@email.address";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
|
|
@ -311,7 +332,8 @@
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
ServiceProviderDataList = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(sessionService.User.UserId);
|
ServiceProviderDataList = await serviceProviderDataService.GetServiceProvidersAsync();
|
||||||
|
//StateHasChanged();
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -319,20 +341,21 @@
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<ManageServiceProviders>(LogWriters.ToArray());
|
_logger = new LoggerClient<ManageServiceProviders>(LogWriters.ToArray());
|
||||||
|
|
||||||
// devAdminSignalClient.SendRequestToServerAsync(SignalRTags.GetTransfersAsync, responseBytes =>
|
await UpdateDataAsync();
|
||||||
// {
|
|
||||||
// var transfers = responseBytes.MessagePackTo<string>(ContractlessStandardResolver.Options).JsonTo<List<Transfer>>();
|
|
||||||
|
|
||||||
// ServiceProviderDataList = transfers;
|
//var transfers = await devAdminSignalClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersAsync);
|
||||||
// StateHasChanged();
|
//InitializeDataSources(transfers ?? []);
|
||||||
// }).Forget();
|
|
||||||
|
|
||||||
|
|
||||||
base.OnInitialized();
|
//InitializeDataSources(await transferDataService.GetTransfersAsync());
|
||||||
|
|
||||||
|
base.OnInitializedAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void ColumnChooserButton_Click()
|
void ColumnChooserButton_Click()
|
||||||
{
|
{
|
||||||
Grid2.ShowColumnChooser();
|
Grid2.ShowColumnChooser();
|
||||||
|
|
|
||||||
|
|
@ -94,6 +94,7 @@
|
||||||
<DxGridCommandColumn NewButtonVisible="false" Width="8%" FixedPosition="GridColumnFixedPosition.Left" />
|
<DxGridCommandColumn NewButtonVisible="false" Width="8%" FixedPosition="GridColumnFixedPosition.Left" />
|
||||||
<DxGridDataColumn FieldName="Id" ShowInColumnChooser="false" SortIndex="0" Visible="false" />
|
<DxGridDataColumn FieldName="Id" ShowInColumnChooser="false" SortIndex="0" Visible="false" />
|
||||||
<DxGridDataColumn FieldName="OrderId" />
|
<DxGridDataColumn FieldName="OrderId" />
|
||||||
|
<DxGridDataColumn FieldName="PaymentId" />
|
||||||
<DxGridDataColumn FieldName="FromAddress" />
|
<DxGridDataColumn FieldName="FromAddress" />
|
||||||
<DxGridDataColumn FieldName="ToAddress" />
|
<DxGridDataColumn FieldName="ToAddress" />
|
||||||
<DxGridDataColumn FieldName="Appointment" DisplayFormat="f" />
|
<DxGridDataColumn FieldName="Appointment" DisplayFormat="f" />
|
||||||
|
|
@ -352,8 +353,8 @@
|
||||||
{
|
{
|
||||||
_logger.Info("orderData updated at id " + ((Transfer)e.EditModel).Id);
|
_logger.Info("orderData updated at id " + ((Transfer)e.EditModel).Id);
|
||||||
|
|
||||||
transfer = await devAdminSignalClient.UpdateAsync(SignalRTags.UpdateTransferAsync, (Transfer)e.EditModel);
|
//transfer = await devAdminSignalClient.UpdateAsync(SignalRTags.UpdateTransferAsync, (Transfer)e.EditModel);
|
||||||
//transfer = await transferDataService.UpdateTransferAsync((Transfer)e.EditModel);
|
transfer = await transferDataService.UpdateTransferAsync((Transfer)e.EditModel);
|
||||||
|
|
||||||
}
|
}
|
||||||
//get transfer from TransferData by Id
|
//get transfer from TransferData by Id
|
||||||
|
|
|
||||||
|
|
@ -66,6 +66,11 @@
|
||||||
Transfers
|
Transfers
|
||||||
</NavLink>
|
</NavLink>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="nav-item px-3">
|
||||||
|
<NavLink class="nav-link" href="user/companies">
|
||||||
|
Destinations
|
||||||
|
</NavLink>
|
||||||
|
</div>
|
||||||
<div class="nav-item px-3">
|
<div class="nav-item px-3">
|
||||||
<NavLink class="nav-link" href="user/users">
|
<NavLink class="nav-link" href="user/users">
|
||||||
Users
|
Users
|
||||||
|
|
|
||||||
|
|
@ -52,14 +52,24 @@ namespace TIAMWebApp.Client.Services
|
||||||
|
|
||||||
if (userModelDto != null)
|
if (userModelDto != null)
|
||||||
{
|
{
|
||||||
|
Dictionary<Guid, string> userProperties = new Dictionary<Guid, string>();
|
||||||
//get user's properties
|
//get user's properties
|
||||||
var hasProperties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
|
bool hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : userModelDto.ServiceProviders.Count == 0 ? false : false;
|
||||||
|
if (hasProperties)
|
||||||
|
{
|
||||||
|
|
||||||
if (hasProperties != null)
|
//var Properties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
|
||||||
_logger.Info($"{hasProperties.Count} properties found");
|
var Properties = userModelDto.ServiceProviders;
|
||||||
|
|
||||||
|
_logger.Info($"{Properties.Count} properties found");
|
||||||
|
foreach ( var property in Properties )
|
||||||
|
{
|
||||||
|
userProperties.Add(property.Id, property.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//create user session model
|
//create user session model
|
||||||
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, hasProperties, 1);
|
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, userProperties, 1);
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -79,11 +79,9 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route(APIUrls.GetServiceProvidersRouteName)]
|
[Route(APIUrls.GetServiceProvidersRouteName)]
|
||||||
public Task<List<Company>> GetServiceProviders()
|
public async Task<string> GetServiceProviders()
|
||||||
{
|
{
|
||||||
//var users = await _serviceProviderDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
|
return await _adminDal.GetServiceProvidersAsyncJson();
|
||||||
//return users;
|
|
||||||
return _adminDal.GetServiceProvidersAsync();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//18.
|
//18.
|
||||||
|
|
|
||||||
|
|
@ -405,7 +405,7 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[Route(APIUrls.UpdateTransferRouteName)]
|
[Route(APIUrls.UpdateTransferRouteName)]
|
||||||
public async Task<Transfer> UpdateTransfer(Transfer transferToModify)
|
public async Task<Transfer> UpdateTransfer(Transfer transferToModify)
|
||||||
{
|
{
|
||||||
_logger.Info("UpdateTransfer called!");
|
_logger.Info($"UpdateTransfer called! + {Request.ReadFormAsync()}");
|
||||||
await _adminDal.UpdateTransferAsync(transferToModify);
|
await _adminDal.UpdateTransferAsync(transferToModify);
|
||||||
|
|
||||||
return transferToModify;
|
return transferToModify;
|
||||||
|
|
|
||||||
|
|
@ -81,6 +81,10 @@ public class DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController
|
||||||
await transferDataAPIController.UpdateTransfer(transfer);
|
await transferDataAPIController.UpdateTransfer(transfer);
|
||||||
await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, transfer.ToJson()), requestId);
|
await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, transfer.ToJson()), requestId);
|
||||||
}
|
}
|
||||||
|
else if (messageTag == SignalRTags.GetCompaniesAsync)
|
||||||
|
{
|
||||||
|
await ResponseToCaller(messageTag, new SignalResponseMessage<string>(SignalResponseStatus.Success, await serviceProviderAPIController.GetServiceProviders()), requestId);
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
|
|
||||||
|
|
@ -123,9 +123,12 @@ namespace TIAMWebApp.Shared.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
//16.
|
//16.
|
||||||
public Task<List<Company>> GetServiceProvidersAsync()
|
public async Task<List<Company>> GetServiceProvidersAsync()
|
||||||
{
|
{
|
||||||
throw new NotImplementedException();
|
var companies = await _devAdminSignalClient.GetAllAsync<List<Company>>(SignalRTags.GetCompaniesAsync);
|
||||||
|
if (companies != null) _logger.DetailConditional($"companies: {string.Join("; ", companies.Count)}");
|
||||||
|
|
||||||
|
return companies;
|
||||||
}
|
}
|
||||||
|
|
||||||
//24.
|
//24.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue