Compare commits
No commits in common. "e0bed5c5e839d6f1fd0887744bf3fb1d3540f1b0" and "5f7df7ad9ebcf14a84f95a0a241a8dd52544d64b" have entirely different histories.
e0bed5c5e8
...
5f7df7ad9e
|
|
@ -236,12 +236,7 @@ namespace TIAM.Database.DataLayers.Admins
|
||||||
|
|
||||||
public Task<List<Company>> GetServiceProvidersAsync()
|
public Task<List<Company>> GetServiceProvidersAsync()
|
||||||
{
|
{
|
||||||
return SessionAsync(ctx => ctx.ServiceProviders.ToList());
|
return Context.ServiceProviders.ToListAsync();
|
||||||
}
|
|
||||||
|
|
||||||
public Task<string> GetServiceProvidersAsyncJson()
|
|
||||||
{
|
|
||||||
return SessionAsync(ctx => ctx.ServiceProviders.ToJson());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual Task<Company?> GetServiceProviderByIdAsync(Guid id)
|
public virtual Task<Company?> GetServiceProviderByIdAsync(Guid id)
|
||||||
|
|
|
||||||
|
|
@ -7,5 +7,4 @@ public class SignalRTags : AcSignalRTags
|
||||||
public const int GetTransfersAsync = 5;
|
public const int GetTransfersAsync = 5;
|
||||||
public const int GetPropertiesByOwnerIdAsync = 6;
|
public const int GetPropertiesByOwnerIdAsync = 6;
|
||||||
public const int UpdateTransferAsync = 7;
|
public const int UpdateTransferAsync = 7;
|
||||||
public const int GetCompaniesAsync = 8;
|
|
||||||
}
|
}
|
||||||
|
|
@ -43,24 +43,14 @@ 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
|
||||||
bool hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : userModelDto.ServiceProviders.Count == 0 ? false : false;
|
var hasProperties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
|
||||||
if (hasProperties)
|
|
||||||
{
|
|
||||||
|
|
||||||
//var Properties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
|
if (hasProperties != null)
|
||||||
var Properties = userModelDto.ServiceProviders;
|
_logger.Info($"{hasProperties.Count} properties found");
|
||||||
|
|
||||||
_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, userProperties, 1);
|
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, hasProperties, 1);
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -422,7 +422,6 @@ new HeroSliderItem
|
||||||
"Destination",
|
"Destination",
|
||||||
"PickupAddress",
|
"PickupAddress",
|
||||||
"ProductId",
|
"ProductId",
|
||||||
"PaymentId",
|
|
||||||
"FlightNumber",
|
"FlightNumber",
|
||||||
"TripDate",
|
"TripDate",
|
||||||
"FirstName",
|
"FirstName",
|
||||||
|
|
|
||||||
|
|
@ -130,8 +130,7 @@
|
||||||
{
|
{
|
||||||
"Id",
|
"Id",
|
||||||
"UserId",
|
"UserId",
|
||||||
"ProductId",
|
"ProductId",
|
||||||
"PaymentId",
|
|
||||||
"FirstName",
|
"FirstName",
|
||||||
"LastName",
|
"LastName",
|
||||||
"UserProductMappingId",
|
"UserProductMappingId",
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,6 @@ new HeroSliderItem
|
||||||
"Id",
|
"Id",
|
||||||
"UserId",
|
"UserId",
|
||||||
"ProductId",
|
"ProductId",
|
||||||
"PaymentId",
|
|
||||||
"TripDate",
|
"TripDate",
|
||||||
"FirstName",
|
"FirstName",
|
||||||
"LastName",
|
"LastName",
|
||||||
|
|
|
||||||
|
|
@ -1,119 +0,0 @@
|
||||||
@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,11 +1,9 @@
|
||||||
@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
|
||||||
|
|
@ -24,7 +22,6 @@
|
||||||
@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>
|
||||||
|
|
@ -34,24 +31,9 @@
|
||||||
<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="@SendMailPopupVisible"
|
@bind-Visible="@PopupVisible"
|
||||||
ShowFooter="true"
|
ShowFooter="true"
|
||||||
CloseOnEscape="true"
|
CloseOnEscape="true"
|
||||||
CloseOnOutsideClick="false"
|
CloseOnOutsideClick="false"
|
||||||
|
|
@ -95,44 +77,38 @@
|
||||||
KeyFieldName="Id">
|
KeyFieldName="Id">
|
||||||
|
|
||||||
<Columns>
|
<Columns>
|
||||||
<DxGridCommandColumn NewButtonVisible="true" 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="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>
|
||||||
</DxGridDataColumn> *@
|
@{
|
||||||
|
var keyField = context.Value;
|
||||||
|
|
||||||
|
var keyItem = (TiamServiceProvider)context.DataItem;
|
||||||
|
string buttonText = "Contact";
|
||||||
|
<DxButton Click="() => SendMail(keyItem.)" Text="@buttonText" RenderStyle="ButtonRenderStyle.Primary" />
|
||||||
|
}
|
||||||
|
</CellDisplayTemplate>
|
||||||
|
</DxGridDataColumn> *@
|
||||||
|
<DxGridDataColumn FieldName="PassengerCount" />
|
||||||
|
|
||||||
</Columns>
|
</Columns>
|
||||||
<DetailRowTemplate>
|
<DetailRowTemplate>
|
||||||
<CompaniesNestedUserProductMapping CurrentCompany="(TIAM.Entities.ServiceProviders.Company)context.DataItem" KeyboardNavigationEnabled="true" />
|
<Grid_MasterDetail_NestedGrid_DetailContent Customer="(TIAM.Entities.Transfers.Transfer)context.DataItem" KeyboardNavigationEnabled="true" />
|
||||||
</DetailRowTemplate>
|
</DetailRowTemplate>
|
||||||
<EditFormTemplate Context="EditFormContext">
|
<EditFormTemplate Context="EditFormContext">
|
||||||
@{
|
@{
|
||||||
var transfer2 = (Company)EditFormContext.EditModel;
|
var transfer2 = (Transfer)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>
|
||||||
|
|
@ -140,7 +116,7 @@
|
||||||
|
|
||||||
|
|
||||||
</DxGrid>
|
</DxGrid>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -159,10 +135,9 @@
|
||||||
|
|
||||||
//public Transfer myModel = new Transfer();
|
//public Transfer myModel = new Transfer();
|
||||||
|
|
||||||
public List<Company> ServiceProviderDataList { get; set; }
|
public Dictionary<Guid, string> ServiceProviderDataList { get; set; }
|
||||||
|
|
||||||
bool SendMailPopupVisible { get; set; }
|
bool PopupVisible { get; set; }
|
||||||
bool SetOwnerPopupVisible { get; set; }
|
|
||||||
public List<string> IgnoreList =
|
public List<string> IgnoreList =
|
||||||
[
|
[
|
||||||
"ReceiverEmailAddress",
|
"ReceiverEmailAddress",
|
||||||
|
|
@ -174,8 +149,23 @@
|
||||||
"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();
|
||||||
|
|
||||||
|
|
@ -188,41 +178,13 @@
|
||||||
_messageWizardModel.SenderEmailAddress = "";
|
_messageWizardModel.SenderEmailAddress = "";
|
||||||
_messageWizardModel.ReceiverEmailAddress = "";
|
_messageWizardModel.ReceiverEmailAddress = "";
|
||||||
_messageWizardModel.ReceiverFullName = "";
|
_messageWizardModel.ReceiverFullName = "";
|
||||||
SendMailPopupVisible = true;
|
PopupVisible = 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()
|
||||||
{
|
{
|
||||||
|
|
||||||
SendMailPopupVisible = false;
|
PopupVisible = false;
|
||||||
}
|
}
|
||||||
void EulaPopupClosed()
|
void EulaPopupClosed()
|
||||||
{
|
{
|
||||||
|
|
@ -242,7 +204,7 @@
|
||||||
{
|
{
|
||||||
var messageModel = result as MessageWizardModel;
|
var messageModel = result as MessageWizardModel;
|
||||||
messageModel.ContextId = _messageWizardModel.ContextId;
|
messageModel.ContextId = _messageWizardModel.ContextId;
|
||||||
//messageModel.SenderId = sessionService.User.UserId;
|
//messageModel.SenderId = sessionService.User.UserId;
|
||||||
|
|
||||||
string FormatEmailContent()
|
string FormatEmailContent()
|
||||||
{
|
{
|
||||||
|
|
@ -250,7 +212,7 @@
|
||||||
<html>
|
<html>
|
||||||
<body>
|
<body>
|
||||||
<p>Dear {messageModel.SenderFullName},</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>
|
||||||
</html>";
|
</html>";
|
||||||
|
|
@ -265,26 +227,43 @@
|
||||||
|
|
||||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||||
{
|
{
|
||||||
//TODO mark non active partners
|
if (e.ElementType == GridElementType.DataRow && (System.Byte)e.Grid.GetRowValue(e.VisibleIndex, "TransferStatusType") == 5)
|
||||||
|
{
|
||||||
|
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)
|
if (!e.IsNew) return;
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var transferEditModel = (Company)e.EditModel; //TODO not valid cast
|
|
||||||
transferEditModel.Id = Guid.NewGuid();
|
|
||||||
transferEditModel.AffiliateId = Guid.NewGuid();
|
|
||||||
transferEditModel.Name = "Company name";
|
|
||||||
transferEditModel.OwnerId = Guid.Empty;
|
|
||||||
transferEditModel.ProfileId = Guid.NewGuid();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
var transferEditModel = (Transfer)e.EditModel; //TODO not valid cast
|
||||||
|
transferEditModel.Id = Guid.NewGuid();
|
||||||
|
transferEditModel.ToAddress = "Where to?";
|
||||||
|
transferEditModel.FromAddress = "From where?";
|
||||||
|
transferEditModel.Appointment = DateTime.UtcNow.AddDays(3);
|
||||||
|
transferEditModel.PassengerCount = 1;
|
||||||
|
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)
|
||||||
|
|
@ -332,8 +311,7 @@
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
ServiceProviderDataList = await serviceProviderDataService.GetServiceProvidersAsync();
|
ServiceProviderDataList = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(sessionService.User.UserId);
|
||||||
//StateHasChanged();
|
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -341,20 +319,19 @@
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<ManageServiceProviders>(LogWriters.ToArray());
|
_logger = new LoggerClient<ManageServiceProviders>(LogWriters.ToArray());
|
||||||
|
|
||||||
await UpdateDataAsync();
|
// devAdminSignalClient.SendRequestToServerAsync(SignalRTags.GetTransfersAsync, responseBytes =>
|
||||||
|
// {
|
||||||
|
// var transfers = responseBytes.MessagePackTo<string>(ContractlessStandardResolver.Options).JsonTo<List<Transfer>>();
|
||||||
|
|
||||||
//var transfers = await devAdminSignalClient.GetAllAsync<List<Transfer>>(SignalRTags.GetTransfersAsync);
|
// ServiceProviderDataList = transfers;
|
||||||
//InitializeDataSources(transfers ?? []);
|
// StateHasChanged();
|
||||||
|
// }).Forget();
|
||||||
|
|
||||||
|
|
||||||
|
base.OnInitialized();
|
||||||
//InitializeDataSources(await transferDataService.GetTransfersAsync());
|
|
||||||
|
|
||||||
base.OnInitializedAsync();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void ColumnChooserButton_Click()
|
void ColumnChooserButton_Click()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,6 @@
|
||||||
<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" />
|
||||||
|
|
@ -353,8 +352,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,11 +66,6 @@
|
||||||
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,24 +52,14 @@ 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
|
||||||
bool hasProperties = userModelDto.ServiceProviders.Count > 0 ? true : userModelDto.ServiceProviders.Count == 0 ? false : false;
|
var hasProperties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
|
||||||
if (hasProperties)
|
|
||||||
{
|
|
||||||
|
|
||||||
//var Properties = await serviceProviderDataService.GetPropertiesByOwnerIdAsync(userModelDto.Id);
|
if (hasProperties != null)
|
||||||
var Properties = userModelDto.ServiceProviders;
|
_logger.Info($"{hasProperties.Count} properties found");
|
||||||
|
|
||||||
_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, userProperties, 1);
|
var user = new UserSessionModel(userModelDto.Id, UserType.User, userModelDto, hasProperties, 1);
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -79,9 +79,11 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[AllowAnonymous]
|
[AllowAnonymous]
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[Route(APIUrls.GetServiceProvidersRouteName)]
|
[Route(APIUrls.GetServiceProvidersRouteName)]
|
||||||
public async Task<string> GetServiceProviders()
|
public Task<List<Company>> GetServiceProviders()
|
||||||
{
|
{
|
||||||
return await _adminDal.GetServiceProvidersAsyncJson();
|
//var users = await _serviceProviderDal.Ctx.Users.ToListAsync();//.GetUsersAsync();
|
||||||
|
//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! + {Request.ReadFormAsync()}");
|
_logger.Info("UpdateTransfer called!");
|
||||||
await _adminDal.UpdateTransferAsync(transferToModify);
|
await _adminDal.UpdateTransferAsync(transferToModify);
|
||||||
|
|
||||||
return transferToModify;
|
return transferToModify;
|
||||||
|
|
|
||||||
|
|
@ -80,10 +80,6 @@ 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,12 +123,9 @@ namespace TIAMWebApp.Shared.Application.Services
|
||||||
}
|
}
|
||||||
|
|
||||||
//16.
|
//16.
|
||||||
public async Task<List<Company>> GetServiceProvidersAsync()
|
public Task<List<Company>> GetServiceProvidersAsync()
|
||||||
{
|
{
|
||||||
var companies = await _devAdminSignalClient.GetAllAsync<List<Company>>(SignalRTags.GetCompaniesAsync);
|
throw new NotImplementedException();
|
||||||
if (companies != null) _logger.DetailConditional($"companies: {string.Join("; ", companies.Count)}");
|
|
||||||
|
|
||||||
return companies;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//24.
|
//24.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue