merge
This commit is contained in:
commit
3140c1bed6
|
|
@ -39,8 +39,8 @@ namespace TIAM.Database.DataLayers.Admins
|
||||||
|
|
||||||
#region Transfer
|
#region Transfer
|
||||||
|
|
||||||
public Task<List<Transfer>> GetTransfersAsync() => SessionAsync(ctx => ctx.GetTransfers().ToList());
|
public Task<List<Transfer>> GetTransfersAsync() => SessionAsync(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToList());
|
||||||
public Task<string> GetTransfersJsonAsync() => SessionAsync(ctx => ctx.GetTransfers().ToJson());
|
public Task<string> GetTransfersJsonAsync() => SessionAsync(ctx => ctx.GetTransfers().OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToJson());
|
||||||
public Transfer? GetTransferById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId));
|
public Transfer? GetTransferById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId));
|
||||||
public string? GetTransferJsonById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId)?.ToJson());
|
public string? GetTransferJsonById(Guid transferId) => Session(ctx => ctx.GetTransferById(transferId)?.ToJson());
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
@using TIAM.Core.Loggers
|
@using TIAM.Core.Loggers
|
||||||
@using AyCode.Core.Loggers
|
@using AyCode.Core.Loggers
|
||||||
@using AyCode.Services.Loggers
|
@using AyCode.Services.Loggers
|
||||||
@inject IUserDataService NwindDataService
|
@inject IUserDataService UserDataService
|
||||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -42,10 +42,10 @@
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public Transfer Customer { get; set; }
|
public Transfer Customer { get; set; }
|
||||||
|
|
||||||
private ILogger _logger;
|
private LoggerClient<Grid_MasterDetail_NestedGrid_DetailContent> _logger;
|
||||||
List<TransferToDriver> DetailGridData { get; set; }
|
List<TransferToDriver> DetailGridData { get; set; }
|
||||||
|
|
||||||
public UserModelDtoDetail UserInfo;
|
public UserModelDtoDetail? UserModelDtoDetail;
|
||||||
public string PhoneNumber = "";
|
public string PhoneNumber = "";
|
||||||
public string EmailAddress = "";
|
public string EmailAddress = "";
|
||||||
|
|
||||||
|
|
@ -53,27 +53,28 @@
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<Grid_MasterDetail_NestedGrid_DetailContent>(LogWriters.ToArray());
|
_logger = new LoggerClient<Grid_MasterDetail_NestedGrid_DetailContent>(LogWriters.ToArray());
|
||||||
|
|
||||||
UserInfo = await NwindDataService.GetUserDetailByIdAsync(Customer.UserId);
|
UserModelDtoDetail = await UserDataService.GetUserDetailByIdAsync(Customer.UserId);
|
||||||
PhoneNumber = UserInfo.UserDto.PhoneNumber;
|
|
||||||
EmailAddress = UserInfo.UserDto.EmailAddress;
|
if (UserModelDtoDetail == null) return;
|
||||||
|
|
||||||
|
PhoneNumber = UserModelDtoDetail.UserDto.PhoneNumber;
|
||||||
|
EmailAddress = UserModelDtoDetail.UserDto.EmailAddress;
|
||||||
DetailGridData = Customer.TransferToDrivers;
|
DetailGridData = Customer.TransferToDrivers;
|
||||||
|
|
||||||
_logger.Info($"DetailGridData: {DetailGridData.Count}");
|
_logger.Info($"DetailGridData: {DetailGridData.Count}");
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.IsNew)
|
if (!e.IsNew) return;
|
||||||
{
|
|
||||||
var newDriver = (TransferToDriver)e.EditModel;
|
|
||||||
newDriver.Id = Guid.NewGuid();
|
|
||||||
newDriver.CarId = Guid.Empty;
|
|
||||||
newDriver.LicencePlate = "";
|
|
||||||
newDriver.Car = new Car();
|
|
||||||
newDriver.Price = 0;
|
|
||||||
newDriver.TransferId = Customer.Id;
|
|
||||||
|
|
||||||
|
var newDriver = (TransferToDriver)e.EditModel;
|
||||||
}
|
newDriver.Id = Guid.NewGuid();
|
||||||
|
newDriver.CarId = Guid.Empty;
|
||||||
|
newDriver.LicencePlate = "";
|
||||||
|
newDriver.Car = new Car();
|
||||||
|
newDriver.Price = 0;
|
||||||
|
newDriver.TransferId = Customer.Id;
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
|
|
@ -81,26 +82,22 @@
|
||||||
if (e.IsNew)
|
if (e.IsNew)
|
||||||
//add new orderData to orderData array
|
//add new orderData to orderData array
|
||||||
_logger.Info("New orderData added");
|
_logger.Info("New orderData added");
|
||||||
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
|
|
||||||
else
|
else
|
||||||
_logger.Info("orderData updated");
|
_logger.Info("orderData updated");
|
||||||
|
|
||||||
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
|
|
||||||
|
|
||||||
await UpdateDataAsync();
|
await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
|
async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
|
||||||
//remove orderData from orderData array
|
//remove orderData from orderData array
|
||||||
_logger.Info("orderData deleted");
|
_logger.Info("orderData deleted");
|
||||||
//await UpdateDataAsync();
|
//await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
|
|
||||||
//refresh grid
|
//refresh grid
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -30,7 +30,7 @@
|
||||||
Click="ColumnChooserButton_Click" />
|
Click="ColumnChooserButton_Click" />
|
||||||
</div>
|
</div>
|
||||||
<DxGrid @ref="Grid"
|
<DxGrid @ref="Grid"
|
||||||
Data="ProductDataFromDb"
|
Data="_productWizardModels"
|
||||||
PageSize="8"
|
PageSize="8"
|
||||||
KeyFieldName="Id"
|
KeyFieldName="Id"
|
||||||
ValidationEnabled="false"
|
ValidationEnabled="false"
|
||||||
|
|
|
||||||
|
|
@ -18,33 +18,33 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
{
|
{
|
||||||
public partial class ManageProducts :ComponentBase
|
public partial class ManageProducts :ComponentBase
|
||||||
{
|
{
|
||||||
private ILogger _logger;
|
private LoggerClient<ManageProducts> _logger;
|
||||||
|
|
||||||
IGrid Grid { get; set; }
|
IGrid Grid { get; set; }
|
||||||
object? ProductData { get; set; }
|
private List<ProductWizardModel> ProductWizardModels { get; set; } = [];
|
||||||
|
|
||||||
public void ColumnChooserButton_Click()
|
public void ColumnChooserButton_Click()
|
||||||
{
|
{
|
||||||
Grid.ShowColumnChooser();
|
Grid.ShowColumnChooser();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ProductWizardModel myModel = new ProductWizardModel();
|
//public ProductWizardModel productWizardModel = new();
|
||||||
|
|
||||||
|
|
||||||
public MessageWizardModel messageWizardModel = new MessageWizardModel();
|
public MessageWizardModel MessageWizardModel = new();
|
||||||
|
|
||||||
[Inject]
|
[Inject]
|
||||||
public IServiceProviderDataService serviceProviderDataService { get; set; }
|
public IServiceProviderDataService ServiceProviderDataService { get; set; }
|
||||||
|
|
||||||
|
|
||||||
object? ProductArray = new ProductWizardModel[]
|
//List<ProductWizardModel> _productArray =
|
||||||
{
|
//[
|
||||||
new ProductWizardModel(new TiamServiceProvider(), ProductType.Hotel, "XY hotel", "XYHotel description is here ", 10.0f, ""),
|
// new ProductWizardModel(new TiamServiceProvider(), ProductType.Hotel, "XY hotel", "XYHotel description is here ", 10.0f, ""),
|
||||||
new ProductWizardModel(new TiamServiceProvider(), ProductType.Hotel, "XY hotel", "XYHotel description is here ", 10.0f, ""),
|
// new ProductWizardModel(new TiamServiceProvider(), ProductType.Hotel, "XY hotel", "XYHotel description is here ", 10.0f, ""),
|
||||||
new ProductWizardModel(new TiamServiceProvider(), ProductType.Hotel, "XY hotel", "XYHotel description is here ", 10.0f, ""),
|
// new ProductWizardModel(new TiamServiceProvider(), ProductType.Hotel, "XY hotel", "XYHotel description is here ", 10.0f, "")
|
||||||
};
|
//];
|
||||||
|
|
||||||
object? ProductDataFromDb = new ProductWizardModel[] { };
|
private readonly List<ProductWizardModel> _productWizardModels = [];
|
||||||
|
|
||||||
void CancelCreateClick()
|
void CancelCreateClick()
|
||||||
{
|
{
|
||||||
|
|
@ -53,12 +53,12 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
void EulaPopupClosed()
|
void EulaPopupClosed()
|
||||||
{
|
{
|
||||||
//cancel clicked
|
//cancel clicked
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EulaPopupClosing(PopupClosingEventArgs args)
|
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||||
{
|
{
|
||||||
//myModel = new TransferWizardModel();
|
//myModel = new TransferWizardModel();
|
||||||
messageWizardModel = new MessageWizardModel();
|
MessageWizardModel = new MessageWizardModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------
|
||||||
|
|
@ -79,16 +79,13 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
|
|
||||||
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.IsNew)
|
if (!e.IsNew) return;
|
||||||
{
|
|
||||||
var newProduct = (ProductWizardModel)e.EditModel;
|
|
||||||
newProduct.Id = Guid.NewGuid();
|
|
||||||
newProduct.Name = "ghjgkg hkgh ghjkghgkjgh";
|
|
||||||
newProduct.Description = "ghjgkg hkgh ghjkghgkjgh";
|
|
||||||
newProduct.ProductType = ProductType.NotDefined;
|
|
||||||
|
|
||||||
|
|
||||||
}
|
var newProduct = (ProductWizardModel)e.EditModel;
|
||||||
|
newProduct.Id = Guid.NewGuid();
|
||||||
|
newProduct.Name = "ghjgkg hkgh ghjkghgkjgh";
|
||||||
|
newProduct.Description = "ghjgkg hkgh ghjkghgkjgh";
|
||||||
|
newProduct.ProductType = ProductType.NotDefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||||
|
|
@ -98,12 +95,12 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
|
|
||||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
{
|
{
|
||||||
|
var productWizardModel = (ProductWizardModel)e.EditModel;
|
||||||
|
|
||||||
if (e.IsNew)
|
if (e.IsNew)
|
||||||
{
|
{
|
||||||
//add new row to grid
|
|
||||||
myModel = (ProductWizardModel)e.EditModel;
|
|
||||||
//add mymodel to transferData array
|
//add mymodel to transferData array
|
||||||
ProductData = ((ProductWizardModel[])ProductData).Append(myModel);
|
ProductWizardModels.Add(productWizardModel);
|
||||||
|
|
||||||
//add new orderData to orderData array
|
//add new orderData to orderData array
|
||||||
_logger.Info("New orderData added");
|
_logger.Info("New orderData added");
|
||||||
|
|
@ -116,28 +113,24 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
//modify transferData where transferData.Id == e.EditModel.Id
|
//modify transferData where transferData.Id == e.EditModel.Id
|
||||||
//get transfer from TransferData by Id
|
//get transfer from TransferData by Id
|
||||||
|
|
||||||
foreach (var productToModify in (ProductWizardModel[])ProductData)
|
foreach (var productToModify in ProductWizardModels)
|
||||||
{
|
{
|
||||||
myModel = (ProductWizardModel)e.EditModel;
|
if (productToModify.Id != productWizardModel.Id) continue;
|
||||||
|
|
||||||
if (productToModify.Id == myModel.Id)
|
productToModify.ProductType = productWizardModel.ProductType;
|
||||||
{
|
productToModify.Name = productWizardModel.Name;
|
||||||
myModel = (ProductWizardModel)e.EditModel;
|
productToModify.Description = productWizardModel.Description;
|
||||||
productToModify.ProductType = myModel.ProductType;
|
productToModify.Price = productWizardModel.Price;
|
||||||
productToModify.Name = myModel.Name;
|
productToModify.JsonDetails = productWizardModel.JsonDetails;
|
||||||
productToModify.Description = myModel.Description;
|
|
||||||
productToModify.Price = myModel.Price;
|
|
||||||
productToModify.JsonDetails = myModel.JsonDetails;
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
|
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
|
||||||
|
|
||||||
|
//TODO: ne a teljes grid-et refresh-eljük, elég lenne csak az adott sort! - J.
|
||||||
await UpdateDataAsync();
|
await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
||||||
|
|
@ -145,10 +138,12 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
_logger.Info("orderData deleted");
|
_logger.Info("orderData deleted");
|
||||||
//await UpdateDataAsync();
|
//await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
|
|
||||||
//refresh grid
|
//refresh grid
|
||||||
|
await FillGridDataSource();
|
||||||
|
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -158,18 +153,21 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
|
|
||||||
_logger = new LoggerClient<ManageProducts>(LogWriters.ToArray());
|
_logger = new LoggerClient<ManageProducts>(LogWriters.ToArray());
|
||||||
|
|
||||||
var a = await serviceProviderDataService.GetProductsForServiceProviderAsync(Guid.Parse("3587F169-683C-4EEE-BCB5-E8D57F8C6DCE"));
|
await FillGridDataSource();
|
||||||
_logger.Info($"ProductDataFromDb: {((ProductWizardModel[])ProductDataFromDb).Length}");
|
|
||||||
|
|
||||||
foreach (var item in a)
|
|
||||||
{
|
|
||||||
//add new transferwizardmodel to transferData array
|
|
||||||
ProductDataFromDb = ((ProductWizardModel[])ProductDataFromDb).Append(
|
|
||||||
new ProductWizardModel(item.ServiceProvider, item.ProductType, item.Name, item.Description, item.Price, item.JsonDetails));
|
|
||||||
|
|
||||||
_logger.Info($"TransferDataFromDb: {item.Name}");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private async Task FillGridDataSource()
|
||||||
|
{
|
||||||
|
var productForServiceProcvider = await ServiceProviderDataService.GetProductsForServiceProviderAsync(Guid.Parse("3587F169-683C-4EEE-BCB5-E8D57F8C6DCE"));
|
||||||
|
|
||||||
|
foreach (var item in productForServiceProcvider)
|
||||||
|
{
|
||||||
|
_productWizardModels.Add(new ProductWizardModel(item.ServiceProvider, item.ProductType, item.Name, item.Description, item.Price, item.JsonDetails));
|
||||||
|
|
||||||
|
_logger.DetailConditional($"_productWizardModels add: {item.Name}");
|
||||||
|
}
|
||||||
|
|
||||||
|
_logger.Info($"_productWizardModels: {_productWizardModels.Count}");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,9 +41,9 @@
|
||||||
Closing="EulaPopupClosing"
|
Closing="EulaPopupClosing"
|
||||||
Closed="EulaPopupClosed">
|
Closed="EulaPopupClosed">
|
||||||
<BodyContentTemplate>
|
<BodyContentTemplate>
|
||||||
<InputWizard Data=@messageWizardModel
|
<InputWizard Data=@MessageWizardModel
|
||||||
OnSubmit="SubmitForm"
|
OnSubmit="SubmitForm"
|
||||||
IgnoreReflection=@ignoreList
|
IgnoreReflection=@IgnoreList
|
||||||
TitleResourceString="NewMessage"
|
TitleResourceString="NewMessage"
|
||||||
SubtitleResourceString="NewMessageSubtitle"
|
SubtitleResourceString="NewMessageSubtitle"
|
||||||
SubmitButtonText="@localizer.GetString("ButtonSend")"></InputWizard>
|
SubmitButtonText="@localizer.GetString("ButtonSend")"></InputWizard>
|
||||||
|
|
@ -75,7 +75,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<DxGrid @ref="Grid2"
|
<DxGrid @ref="Grid2"
|
||||||
Data="TransferData"
|
Data="TransferDataList"
|
||||||
AutoCollapseDetailRow="AutoCollapseDetailRow"
|
AutoCollapseDetailRow="AutoCollapseDetailRow"
|
||||||
KeyboardNavigationEnabled="true"
|
KeyboardNavigationEnabled="true"
|
||||||
CustomizeElement="Grid_CustomizeElement"
|
CustomizeElement="Grid_CustomizeElement"
|
||||||
|
|
@ -166,7 +166,7 @@
|
||||||
<DxTabPage Text="Calendar">
|
<DxTabPage Text="Calendar">
|
||||||
<div class="d-flex flex-column mb-4 pb-2">
|
<div class="d-flex flex-column mb-4 pb-2">
|
||||||
<DxScheduler @bind-StartDate="@StartDate"
|
<DxScheduler @bind-StartDate="@StartDate"
|
||||||
DataStorage="@DataStorage"
|
DataStorage="@_dataStorage"
|
||||||
CssClass="w-100">
|
CssClass="w-100">
|
||||||
<DxSchedulerTimelineView Duration="@TimeSpan.FromHours(48)" CellMinWidth="80">
|
<DxSchedulerTimelineView Duration="@TimeSpan.FromHours(48)" CellMinWidth="80">
|
||||||
<Scales>
|
<Scales>
|
||||||
|
|
@ -199,15 +199,15 @@
|
||||||
|
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
private ILogger _logger;
|
private LoggerClient<ManageTransfers> _logger;
|
||||||
|
|
||||||
public Transfer myModel = new Transfer();
|
//public Transfer myModel = new Transfer();
|
||||||
|
|
||||||
public List<Transfer> TransferData { get; set; }
|
public List<Transfer> TransferDataList { get; set; }
|
||||||
|
|
||||||
bool PopupVisible { get; set; }
|
bool PopupVisible { get; set; }
|
||||||
public List<string> ignoreList = new List<string>
|
public List<string> IgnoreList =
|
||||||
{
|
[
|
||||||
"ReceiverEmailAddress",
|
"ReceiverEmailAddress",
|
||||||
"ReceiverFullName",
|
"ReceiverFullName",
|
||||||
"ReceiverId",
|
"ReceiverId",
|
||||||
|
|
@ -217,28 +217,33 @@
|
||||||
"ContextId"
|
"ContextId"
|
||||||
};
|
};
|
||||||
|
|
||||||
public List<TransferStatusModel>? Statuses { get; set; }
|
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")
|
||||||
|
];
|
||||||
|
|
||||||
public MessageWizardModel messageWizardModel = new MessageWizardModel();
|
public MessageWizardModel MessageWizardModel = new();
|
||||||
|
|
||||||
public List<AppointmentModel>? AppoinmentData { get; set; }
|
public List<AppointmentModel> AppointmentModels { get; set; }
|
||||||
|
|
||||||
DateTime StartDate { get; set; } = DateTime.Today;
|
DateTime StartDate { get; set; } = DateTime.Today;
|
||||||
DxSchedulerDataStorage DataStorage = new DxSchedulerDataStorage();
|
DxSchedulerDataStorage _dataStorage = new();
|
||||||
|
|
||||||
|
|
||||||
void SendMail(Transfer Item)
|
void SendMail(Transfer item)
|
||||||
{
|
{
|
||||||
_logger.Info($"Sending mail to {Item.ContactEmail}, {Item.Id}");
|
_logger.Info($"Sending mail to {item.ContactEmail}, {item.Id}");
|
||||||
|
|
||||||
Guid? nullableGuid = Item.Id;
|
MessageWizardModel.ContextId = item.Id;
|
||||||
if (nullableGuid.HasValue)
|
MessageWizardModel.SenderFullName = item.FullName; //Miért nullable a FullName? - J.
|
||||||
{
|
|
||||||
Guid nonNullableGuid = nullableGuid.Value;
|
|
||||||
messageWizardModel.ContextId = nonNullableGuid;
|
|
||||||
}
|
|
||||||
messageWizardModel.ReceiverEmailAddress = Item.ContactEmail;
|
|
||||||
messageWizardModel.ReceiverFullName = Item.FullName;
|
|
||||||
PopupVisible = true;
|
PopupVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -255,16 +260,16 @@
|
||||||
void EulaPopupClosing(PopupClosingEventArgs args)
|
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||||
{
|
{
|
||||||
//myModel = new TransferWizardModel();
|
//myModel = new TransferWizardModel();
|
||||||
messageWizardModel = new MessageWizardModel();
|
MessageWizardModel = new MessageWizardModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
public async Task SubmitForm(object Result)
|
public async Task SubmitForm(object result)
|
||||||
{
|
{
|
||||||
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()
|
||||||
|
|
@ -281,9 +286,9 @@
|
||||||
messageModel.Content = FormatEmailContent();
|
messageModel.Content = FormatEmailContent();
|
||||||
|
|
||||||
_logger.Info(messageModel.Content);
|
_logger.Info(messageModel.Content);
|
||||||
var email = await wizardProcessor.ProcessWizardAsync<MessageWizardModel>(Result.GetType(), messageModel);
|
var email = await wizardProcessor.ProcessWizardAsync<MessageWizardModel>(result.GetType(), messageModel);
|
||||||
|
|
||||||
_logger.Info($"Submitted nested form: {Result.GetType().FullName}");
|
_logger.Info($"Submitted nested form: {result.GetType().FullName}");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||||
|
|
@ -313,19 +318,18 @@
|
||||||
|
|
||||||
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.IsNew)
|
if (!e.IsNew) return;
|
||||||
{
|
|
||||||
var transferEditModel = (Transfer)e.EditModel; //TODO not valid cast
|
var transferEditModel = (Transfer)e.EditModel; //TODO not valid cast
|
||||||
transferEditModel.Id = Guid.NewGuid();
|
transferEditModel.Id = Guid.NewGuid();
|
||||||
transferEditModel.ToAddress = "Where to?";
|
transferEditModel.ToAddress = "Where to?";
|
||||||
transferEditModel.FromAddress = "From where?";
|
transferEditModel.FromAddress = "From where?";
|
||||||
transferEditModel.Appointment = DateTime.UtcNow.AddDays(3);
|
transferEditModel.Appointment = DateTime.UtcNow.AddDays(3);
|
||||||
transferEditModel.PassengerCount = 1;
|
transferEditModel.PassengerCount = 1;
|
||||||
transferEditModel.FirstName = "John";
|
transferEditModel.FirstName = "John";
|
||||||
transferEditModel.LastName = "Doe";
|
transferEditModel.LastName = "Doe";
|
||||||
transferEditModel.ContactPhone = "+00000000000";
|
transferEditModel.ContactPhone = "+00000000000";
|
||||||
transferEditModel.ContactEmail = "your@email.address";
|
transferEditModel.ContactEmail = "your@email.address";
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
|
|
@ -355,9 +359,14 @@
|
||||||
// //transferToModify.Driver = myModel.Driver;
|
// //transferToModify.Driver = myModel.Driver;
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
if (success)
|
if (success)
|
||||||
|
{
|
||||||
|
//TODO: ne a teljes grid-et refresh-eljük, elég lenne csak az adott sort! - J.
|
||||||
await UpdateDataAsync();
|
await UpdateDataAsync();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
||||||
|
|
@ -365,10 +374,10 @@
|
||||||
_logger.Info("orderData deleted");
|
_logger.Info("orderData deleted");
|
||||||
//await UpdateDataAsync();
|
//await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
//refresh grid
|
TransferDataList = await transferDataService.GetTransfersAsync();
|
||||||
TransferData = await transferDataService.GetTransfersAsync();
|
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -376,21 +385,10 @@
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<ManageTransfers>(LogWriters.ToArray());
|
_logger = new LoggerClient<ManageTransfers>(LogWriters.ToArray());
|
||||||
|
|
||||||
Statuses = new List<TransferStatusModel>
|
TransferDataList = await transferDataService.GetTransfersAsync();
|
||||||
{
|
AppointmentModels = new List<AppointmentModel>(TransferDataList.Count);
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.OrderSubmitted), "Order submitted"),
|
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
foreach (var transfer in TransferDataList)
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.PassengerPickup), "Passenger in car"),
|
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.Finished), "Finished"),
|
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.UserCanceled), "User cancelled"),
|
|
||||||
new TransferStatusModel(Convert.ToInt16(TransferStatusType.AdminDenied), "Admin cancelled")
|
|
||||||
};
|
|
||||||
TransferData = (await transferDataService.GetTransfersAsync()).OrderBy(x => x.TransferStatusType).ThenByDescending(x => x.OrderId).ToList();
|
|
||||||
AppoinmentData = new List<AppointmentModel>();
|
|
||||||
foreach (var transfer in TransferData)
|
|
||||||
{
|
{
|
||||||
// var bnm = DataStorage.CreateAppointmentItem();
|
// var bnm = DataStorage.CreateAppointmentItem();
|
||||||
// bnm.Start = transfer.Appointment;
|
// bnm.Start = transfer.Appointment;
|
||||||
|
|
@ -398,11 +396,12 @@
|
||||||
// bnm.Location = transfer.FromAddress;
|
// bnm.Location = transfer.FromAddress;
|
||||||
// bnm.Subject = "Simple transfer";
|
// bnm.Subject = "Simple transfer";
|
||||||
|
|
||||||
AppoinmentData.Add(new AppointmentModel { StartDate = transfer.Appointment, EndDate=transfer.Appointment.AddMinutes(30), Description = $"{transfer.FullName}, {transfer.ToAddress}", Location = transfer.FromAddress, Caption = "Simple transfer" });
|
AppointmentModels.Add(new AppointmentModel { StartDate = transfer.Appointment, EndDate=transfer.Appointment.AddMinutes(30), Description = $"{transfer.FullName}, {transfer.ToAddress}", Location = transfer.FromAddress, Caption = "Simple transfer" });
|
||||||
}
|
}
|
||||||
|
|
||||||
DataStorage = new DxSchedulerDataStorage();
|
_dataStorage = new DxSchedulerDataStorage
|
||||||
DataStorage.AppointmentMappings = new DxSchedulerAppointmentMappings()
|
{
|
||||||
|
AppointmentMappings = new DxSchedulerAppointmentMappings()
|
||||||
{
|
{
|
||||||
Type = "AppointmentType",
|
Type = "AppointmentType",
|
||||||
Start = "StartDate",
|
Start = "StartDate",
|
||||||
|
|
@ -414,12 +413,13 @@
|
||||||
LabelId = "Label",
|
LabelId = "Label",
|
||||||
StatusId = "Status",
|
StatusId = "Status",
|
||||||
RecurrenceInfo = "Recurrence"
|
RecurrenceInfo = "Recurrence"
|
||||||
};
|
},
|
||||||
DataStorage.AppointmentsSource = AppoinmentData;
|
|
||||||
|
AppointmentsSource = AppointmentModels
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
base.OnInitialized();
|
base.OnInitialized();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColumnChooserButton_Click()
|
void ColumnChooserButton_Click()
|
||||||
|
|
@ -441,13 +441,12 @@
|
||||||
void AutoCollapseDetailRow_Changed(bool newValue)
|
void AutoCollapseDetailRow_Changed(bool newValue)
|
||||||
{
|
{
|
||||||
AutoCollapseDetailRow = newValue;
|
AutoCollapseDetailRow = newValue;
|
||||||
if (newValue)
|
if (!newValue) return;
|
||||||
{
|
|
||||||
Grid2.BeginUpdate();
|
Grid2.BeginUpdate();
|
||||||
Grid2.CollapseAllDetailRows();
|
Grid2.CollapseAllDetailRows();
|
||||||
Grid2.ExpandDetailRow(0);
|
Grid2.ExpandDetailRow(0);
|
||||||
Grid2.EndUpdate();
|
Grid2.EndUpdate();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -22,10 +22,10 @@
|
||||||
@using TIAM.Core.Loggers
|
@using TIAM.Core.Loggers
|
||||||
@layout AdminLayout
|
@layout AdminLayout
|
||||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
@inject IStringLocalizer<TIAMResources> localizer
|
@inject IStringLocalizer<TIAMResources> Localizer
|
||||||
@inject ISessionService sessionService
|
@inject ISessionService SessionService
|
||||||
@inject IWizardProcessor wizardProcessor
|
@inject IWizardProcessor WizardProcessor
|
||||||
@inject IUserDataService userDataService
|
@inject IUserDataService UserDataService
|
||||||
<PageTitle>Transfers</PageTitle>
|
<PageTitle>Transfers</PageTitle>
|
||||||
|
|
||||||
<div class="text-center m-5">
|
<div class="text-center m-5">
|
||||||
|
|
@ -43,9 +43,9 @@
|
||||||
Closing="EulaPopupClosing"
|
Closing="EulaPopupClosing"
|
||||||
Closed="EulaPopupClosed">
|
Closed="EulaPopupClosed">
|
||||||
<BodyContentTemplate>
|
<BodyContentTemplate>
|
||||||
<InputWizard Data=@messageWizardModel
|
<InputWizard Data=@MessageWizardModel
|
||||||
OnSubmit="SubmitForm"
|
OnSubmit="SubmitForm"
|
||||||
IgnoreReflection=@ignoreList
|
IgnoreReflection=@IgnoreList
|
||||||
TitleResourceString="NewMessage"
|
TitleResourceString="NewMessage"
|
||||||
SubtitleResourceString="NewMessageSubtitle"
|
SubtitleResourceString="NewMessageSubtitle"
|
||||||
SubmitButtonText="ButtonSend"></InputWizard>
|
SubmitButtonText="ButtonSend"></InputWizard>
|
||||||
|
|
@ -99,36 +99,36 @@
|
||||||
var keyField = context.Value;
|
var keyField = context.Value;
|
||||||
var keyItem = (UserModelDtoDetail)context.DataItem;
|
var keyItem = (UserModelDtoDetail)context.DataItem;
|
||||||
|
|
||||||
string buttonText = "Contact";
|
var buttonText = "Contact";
|
||||||
<DxButton Click="() => SendMail(keyItem)" Text="@buttonText" RenderStyle="ButtonRenderStyle.Primary" />
|
<DxButton Click="() => SendMail(keyItem)" Text="@buttonText" RenderStyle="ButtonRenderStyle.Primary" />
|
||||||
}
|
}
|
||||||
</CellDisplayTemplate>
|
</CellDisplayTemplate>
|
||||||
</DxGridDataColumn>
|
</DxGridDataColumn>
|
||||||
</Columns>
|
</Columns>
|
||||||
<DetailRowTemplate>
|
<DetailRowTemplate>
|
||||||
<UserGrid_MasterDetail_NestedGrid_UserProductMapping Customer="(UserModelDtoDetail)context.DataItem" KeyboardNavigationEnabled="true" />
|
<UserGrid_MasterDetail_NestedGrid_UserProductMapping UserModelDtoDetail="(UserModelDtoDetail)context.DataItem" KeyboardNavigationEnabled="true" />
|
||||||
</DetailRowTemplate>
|
</DetailRowTemplate>
|
||||||
<EditFormTemplate Context="EditFormContext">
|
<EditFormTemplate Context="EditFormContext">
|
||||||
@{
|
@{
|
||||||
var transfer2 = (UserModelDtoDetail)EditFormContext.EditModel;
|
var transfer2 = (UserModelDtoDetail)EditFormContext.EditModel;
|
||||||
}
|
}
|
||||||
<DxFormLayout CssClass="w-100">
|
<DxFormLayout CssClass="w-100">
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.EmailAddress) ColSpanMd="4">
|
<DxFormLayoutItem Caption=@Localizer.GetString(ResourceKeys.EmailAddress) ColSpanMd="4">
|
||||||
@EditFormContext.GetEditor("UserDto.EmailAddress")
|
@EditFormContext.GetEditor("UserDto.EmailAddress")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.EmailAddress) ColSpanMd="4">
|
<DxFormLayoutItem Caption=@Localizer.GetString(ResourceKeys.EmailAddress) ColSpanMd="4">
|
||||||
@EditFormContext.GetEditor("UserDto.EmailAddress")
|
@EditFormContext.GetEditor("UserDto.EmailAddress")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.ConfirmEmail) ColSpanMd="4">
|
<DxFormLayoutItem Caption=@Localizer.GetString(ResourceKeys.ConfirmEmail) ColSpanMd="4">
|
||||||
@EditFormContext.GetEditor("UserDto.EmailConfirmed")
|
@EditFormContext.GetEditor("UserDto.EmailConfirmed")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.PhoneNumber) ColSpanMd="4">
|
<DxFormLayoutItem Caption=@Localizer.GetString(ResourceKeys.PhoneNumber) ColSpanMd="4">
|
||||||
@EditFormContext.GetEditor("UserDto.PhoneNumber")
|
@EditFormContext.GetEditor("UserDto.PhoneNumber")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.FirstName) ColSpanMd="4">
|
<DxFormLayoutItem Caption=@Localizer.GetString(ResourceKeys.FirstName) ColSpanMd="4">
|
||||||
@EditFormContext.GetEditor("Profile.FirstName")
|
@EditFormContext.GetEditor("Profile.FirstName")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.LastName) ColSpanMd="4">
|
<DxFormLayoutItem Caption=@Localizer.GetString(ResourceKeys.LastName) ColSpanMd="4">
|
||||||
@EditFormContext.GetEditor("Profile.LastName")
|
@EditFormContext.GetEditor("Profile.LastName")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
|
|
||||||
|
|
@ -152,68 +152,68 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@code {
|
@code {
|
||||||
private ILogger _logger;
|
private LoggerClient<ManageUsers> _logger;
|
||||||
public UserModelDtoDetail myModel = new UserModelDtoDetail();
|
//public UserModelDtoDetail UserModelDtoDetail = new();
|
||||||
|
|
||||||
public List<UserModelDtoDetail>? UserData { get; set; }
|
public List<UserModelDtoDetail> UserData { get; set; }
|
||||||
|
|
||||||
bool PopupVisible { get; set; }
|
bool PopupVisible { get; set; }
|
||||||
|
|
||||||
IGrid? Grid { get; set; }
|
IGrid Grid { get; set; }
|
||||||
object? MasterGridData { get; set; }
|
//object? MasterGridData { get; set; }
|
||||||
bool AutoCollapseDetailRow { get; set; }
|
bool AutoCollapseDetailRow { get; set; }
|
||||||
|
|
||||||
public List<string> ignoreList = new List<string>
|
public List<string> IgnoreList =
|
||||||
{
|
[
|
||||||
"ReceiverEmailAddress",
|
"ReceiverEmailAddress",
|
||||||
"ReceiverId",
|
"ReceiverId",
|
||||||
"SenderEmailAddress",
|
"SenderEmailAddress",
|
||||||
"SenderId",
|
"SenderId",
|
||||||
"ContextId"
|
"ContextId"
|
||||||
};
|
];
|
||||||
|
|
||||||
public MessageWizardModel messageWizardModel = new MessageWizardModel();
|
public MessageWizardModel MessageWizardModel = new MessageWizardModel();
|
||||||
|
|
||||||
|
|
||||||
|
async void SendMail(UserModelDtoDetail item)
|
||||||
|
|
||||||
async void SendMail(UserModelDtoDetail Item)
|
|
||||||
{
|
{
|
||||||
var user = await userDataService.GetUserDetailByIdAsync(Item.Id);
|
var user = await UserDataService.GetUserDetailByIdAsync(item.Id);
|
||||||
_logger.Info($"Sending mail to {user.UserDto.EmailAddress}");
|
_logger.Info($"Sending mail to {user.UserDto.EmailAddress}");
|
||||||
|
|
||||||
messageWizardModel.ReceiverId = user.Id;
|
MessageWizardModel.ReceiverId = user.Id;
|
||||||
messageWizardModel.ReceiverEmailAddress = user.UserDto.EmailAddress;
|
MessageWizardModel.ReceiverEmailAddress = user.UserDto.EmailAddress;
|
||||||
messageWizardModel.SenderId = sessionService.User.UserId;
|
MessageWizardModel.SenderId = SessionService.User.UserId;
|
||||||
messageWizardModel.SenderEmailAddress = sessionService.User.Email;
|
MessageWizardModel.SenderEmailAddress = SessionService.User.Email;
|
||||||
_logger.Info($"Sending mail to {messageWizardModel.ReceiverEmailAddress} from {messageWizardModel.SenderId}");
|
|
||||||
|
_logger.Info($"Sending mail to {MessageWizardModel.ReceiverEmailAddress} from {MessageWizardModel.SenderId}");
|
||||||
|
|
||||||
PopupVisible = true;
|
PopupVisible = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CancelCreateClick()
|
void CancelCreateClick()
|
||||||
{
|
{
|
||||||
|
|
||||||
PopupVisible = false;
|
PopupVisible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EulaPopupClosed()
|
void EulaPopupClosed()
|
||||||
{
|
{
|
||||||
//cancel clicked
|
//cancel clicked
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EulaPopupClosing(PopupClosingEventArgs args)
|
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||||
{
|
{
|
||||||
//myModel = new TransferWizardModel();
|
//myModel = new TransferWizardModel();
|
||||||
messageWizardModel = new MessageWizardModel();
|
MessageWizardModel = new MessageWizardModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
public async Task SubmitForm(object Result)
|
public async Task SubmitForm(object result)
|
||||||
{
|
{
|
||||||
var email = await wizardProcessor.ProcessWizardAsync<MessageWizardModel>(Result.GetType(), Result);
|
var email = await WizardProcessor.ProcessWizardAsync<MessageWizardModel>(result.GetType(), result);
|
||||||
|
|
||||||
_logger.Info($"Submitted nested form: {Result.GetType().FullName}");
|
_logger.Info($"Submitted nested form: {result.GetType().FullName}");
|
||||||
}
|
}
|
||||||
|
|
||||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||||
|
|
@ -222,7 +222,7 @@
|
||||||
{
|
{
|
||||||
e.CssClass = "bg-alt";
|
e.CssClass = "bg-alt";
|
||||||
}
|
}
|
||||||
if (e.ElementType == GridElementType.HeaderCell)
|
else if (e.ElementType == GridElementType.HeaderCell)
|
||||||
{
|
{
|
||||||
e.Style = "background-color: rgba(0, 0, 0, 0.08); font-style=bold";
|
e.Style = "background-color: rgba(0, 0, 0, 0.08); font-style=bold";
|
||||||
|
|
||||||
|
|
@ -232,50 +232,54 @@
|
||||||
|
|
||||||
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.IsNew)
|
if (!e.IsNew) return;
|
||||||
|
|
||||||
|
var userEditModel = (UserModelDtoDetail)e.EditModel; //TODO not valid cast
|
||||||
|
userEditModel.Id = Guid.NewGuid();
|
||||||
|
|
||||||
|
userEditModel.UserDto = new UserDtoDetail
|
||||||
{
|
{
|
||||||
var userEditModel = (UserModelDtoDetail)e.EditModel; //TODO not valid cast
|
AffiliateId = Guid.NewGuid(),
|
||||||
userEditModel.Id = Guid.NewGuid();
|
EmailAddress = "",
|
||||||
|
PhoneNumber = ""
|
||||||
|
};
|
||||||
|
|
||||||
userEditModel.UserDto = new UserDtoDetail();
|
userEditModel.Profile = new ProfileDto
|
||||||
userEditModel.UserDto.AffiliateId = Guid.NewGuid();
|
{
|
||||||
userEditModel.UserDto.EmailAddress = "";
|
Name = "New user"
|
||||||
userEditModel.UserDto.PhoneNumber = "";
|
};
|
||||||
userEditModel.Profile = new ProfileDto();
|
|
||||||
userEditModel.Profile.Name = "New user";
|
|
||||||
|
|
||||||
userEditModel.Products = new List<Product>();
|
userEditModel.Products = [];
|
||||||
|
userEditModel.ServiceProviders = [];
|
||||||
userEditModel.ServiceProviders = new List<TiamServiceProvider>();
|
userEditModel.UserProductMappings = [];
|
||||||
|
|
||||||
userEditModel.UserProductMappings = new List<UserProductMapping>();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
{
|
{
|
||||||
|
var userModelDtoDetail = ((UserModelDtoDetail)e.EditModel);
|
||||||
|
|
||||||
if (e.IsNew)
|
if (e.IsNew)
|
||||||
{
|
{
|
||||||
//add new orderData to orderData array
|
//add new orderData to orderData array
|
||||||
RegistrationModel registration = new RegistrationModel();
|
var registration = new RegistrationModel();
|
||||||
//TODO: Refractor to userDataService
|
//TODO: Refractor to userDataService
|
||||||
Random random = new Random();
|
|
||||||
string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
|
var random = new Random();
|
||||||
string password = new string(Enumerable.Repeat(chars, 10)
|
const string chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
|
||||||
|
var password = new string(Enumerable.Repeat(chars, 10)
|
||||||
.Select(s => s[random.Next(s.Length)]).ToArray());
|
.Select(s => s[random.Next(s.Length)]).ToArray());
|
||||||
|
|
||||||
registration.Email = ((UserModelDtoDetail)e.EditModel).UserDto.EmailAddress;
|
registration.Email = userModelDtoDetail.UserDto.EmailAddress;
|
||||||
registration.PhoneNumber = ((UserModelDtoDetail)e.EditModel).UserDto.PhoneNumber;
|
registration.PhoneNumber = userModelDtoDetail.UserDto.PhoneNumber;
|
||||||
registration.Password = password;
|
registration.Password = password;
|
||||||
registration.ReferralId = null;
|
registration.ReferralId = null;
|
||||||
|
|
||||||
|
await UserDataService.CreateGuestUser(registration);
|
||||||
await userDataService.CreateGuestUser(registration);
|
|
||||||
_logger.Info("New user created added");
|
_logger.Info("New user created added");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_logger.Info("orderData updated at id " + ((UserModelDtoDetail)e.EditModel).Id);
|
_logger.Info("orderData updated at id " + userModelDtoDetail.Id);
|
||||||
|
|
||||||
//await transferDataService.UpdateTransferAsync((TransferWizardModel)e.EditModel);
|
//await transferDataService.UpdateTransferAsync((TransferWizardModel)e.EditModel);
|
||||||
//modify transferData where transferData.Id == e.EditModel.Id
|
//modify transferData where transferData.Id == e.EditModel.Id
|
||||||
|
|
@ -292,8 +296,10 @@
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
//TODO: ne a teljes grid-et refresh-eljük, elég lenne csak az adott sort! - J.
|
||||||
await UpdateDataAsync();
|
await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
||||||
|
|
@ -301,10 +307,11 @@
|
||||||
_logger.Info("orderData deleted");
|
_logger.Info("orderData deleted");
|
||||||
//await UpdateDataAsync();
|
//await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
//refresh grid
|
//refresh grid
|
||||||
UserData = await userDataService.GetUsersWithDetailsAsync();
|
UserData = (await UserDataService.GetUsersWithDetailsAsync()).OrderBy(x => x.Profile?.Name).ToList();
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -312,31 +319,31 @@
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<ManageUsers>(LogWriters.ToArray());
|
_logger = new LoggerClient<ManageUsers>(LogWriters.ToArray());
|
||||||
|
|
||||||
UserData = (await userDataService.GetUsersWithDetailsAsync())?.OrderBy(x => x.Profile?.Name).ToList();
|
UserData = (await UserDataService.GetUsersWithDetailsAsync()).OrderBy(x => x.Profile?.Name).ToList();
|
||||||
base.OnInitialized();
|
base.OnInitialized();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColumnChooserButton_Click()
|
void ColumnChooserButton_Click()
|
||||||
{
|
{
|
||||||
Grid?.ShowColumnChooser();
|
Grid.ShowColumnChooser();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override void OnAfterRender(bool firstRender)
|
protected override void OnAfterRender(bool firstRender)
|
||||||
{
|
{
|
||||||
if (firstRender)
|
if (firstRender)
|
||||||
{
|
{
|
||||||
Grid?.ExpandDetailRow(0);
|
Grid.ExpandDetailRow(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
void AutoCollapseDetailRow_Changed(bool newValue)
|
void AutoCollapseDetailRow_Changed(bool newValue)
|
||||||
{
|
{
|
||||||
AutoCollapseDetailRow = newValue;
|
AutoCollapseDetailRow = newValue;
|
||||||
if (newValue)
|
|
||||||
{
|
if (!newValue) return;
|
||||||
Grid?.BeginUpdate();
|
|
||||||
Grid?.CollapseAllDetailRows();
|
Grid.BeginUpdate();
|
||||||
Grid?.ExpandDetailRow(0);
|
Grid.CollapseAllDetailRows();
|
||||||
Grid?.EndUpdate();
|
Grid.ExpandDetailRow(0);
|
||||||
}
|
Grid.EndUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
Click="ColumnChooserButton_Click" />
|
Click="ColumnChooserButton_Click" />
|
||||||
</div>
|
</div>
|
||||||
<DxGrid @ref="Grid"
|
<DxGrid @ref="Grid"
|
||||||
Data="TransferDataFromDb"
|
Data="_transferDestinationWizardModels"
|
||||||
PageSize="8"
|
PageSize="8"
|
||||||
KeyFieldName="Id"
|
KeyFieldName="Id"
|
||||||
ValidationEnabled="false"
|
ValidationEnabled="false"
|
||||||
|
|
|
||||||
|
|
@ -20,39 +20,46 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
IGrid Grid { get; set; }
|
IGrid Grid { get; set; }
|
||||||
//object? TransferData { get; set; }
|
//object? TransferData { get; set; }
|
||||||
|
|
||||||
public TransferDestinationWizardModel myModel = new TransferDestinationWizardModel();
|
//public TransferDestinationWizardModel TransferDestinationWizardModel = new();
|
||||||
|
|
||||||
bool PopupVisible { get; set; }
|
bool PopupVisible { get; set; }
|
||||||
public List<string> ignoreList = new List<string>
|
public List<string> IgnoreList = ["ReceiverId"];
|
||||||
{
|
|
||||||
"ReceiverId"
|
|
||||||
};
|
|
||||||
|
|
||||||
public MessageWizardModel messageWizardModel = new MessageWizardModel();
|
public MessageWizardModel MessageWizardModel = new();
|
||||||
|
|
||||||
[Inject]
|
[Inject]
|
||||||
public ITransferDataService transferDataService { get; set; }
|
public ITransferDataService TransferDataService { get; set; }
|
||||||
|
|
||||||
|
|
||||||
|
/*object? TransferData = new TransferDestinationWizardModel[]
|
||||||
|
{
|
||||||
|
new TransferDestinationWizardModel(Guid.NewGuid(), "Liszt Ferenc Airport", "International airport of Budapest", "1185, Budapest, Liszt Ferenc Repülőtér" ),
|
||||||
|
new TransferDestinationWizardModel(Guid.NewGuid(), "Buda Castle", "Historical site in the heart of Budapest", "1014 Budapest, Szent György tér 2" ),
|
||||||
|
new TransferDestinationWizardModel(Guid.NewGuid(), "Hungarian National Museum", "Historical site in the heart of Budapest", "1088 Budapest, Múzeum krt. 14-16" ),
|
||||||
|
new TransferDestinationWizardModel(Guid.NewGuid(), "Parliament of Hungary", "Historical site in the heart of Budapest", "1055 Budapest, Kossuth Lajos tér 1-3" ),
|
||||||
|
new TransferDestinationWizardModel(Guid.NewGuid(), "Heroes square", "Historical site in the heart of Budapest", "1146 Budapest, Hősök tere" ),
|
||||||
|
new TransferDestinationWizardModel(Guid.NewGuid(), "Gellert Hill", "Historical site in the heart of Budapest", "1118 Budapest, Gellérthegy" ),
|
||||||
|
new TransferDestinationWizardModel(Guid.NewGuid(), "Margaret Island", "Historical site in the heart of Budapest", "1138 Budapest, Margitsziget" ),
|
||||||
|
};*/
|
||||||
|
|
||||||
private LoggerClient<TransferDestinations> _logger;
|
private LoggerClient<TransferDestinations> _logger;
|
||||||
|
|
||||||
object? TransferDataFromDb = new TransferDestinationWizardModel[] { };
|
private readonly List<TransferDestinationWizardModel> _transferDestinationWizardModels = [];
|
||||||
|
|
||||||
void CancelCreateClick()
|
void CancelCreateClick()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
PopupVisible = false;
|
PopupVisible = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void EulaPopupClosed()
|
void EulaPopupClosed()
|
||||||
{
|
{
|
||||||
//cancel clicked
|
//cancel clicked
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void EulaPopupClosing(PopupClosingEventArgs args)
|
void EulaPopupClosing(PopupClosingEventArgs args)
|
||||||
{
|
{
|
||||||
//myModel = new TransferWizardModel();
|
//myModel = new TransferWizardModel();
|
||||||
messageWizardModel = new MessageWizardModel();
|
MessageWizardModel = new MessageWizardModel();
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------------
|
||||||
|
|
@ -73,15 +80,13 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
|
|
||||||
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void Grid_CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.IsNew)
|
if (!e.IsNew) return;
|
||||||
{
|
|
||||||
var newDestination = (TransferDestinationWizardModel)e.EditModel;
|
|
||||||
newDestination.Id = Guid.NewGuid().ToString();
|
|
||||||
newDestination.Name = "Destination name";
|
|
||||||
newDestination.Description = "Type some description here";
|
|
||||||
newDestination.AddressString = "The address of the destination";
|
|
||||||
|
|
||||||
}
|
var newDestination = (TransferDestinationWizardModel)e.EditModel;
|
||||||
|
newDestination.Id = Guid.NewGuid().ToString();
|
||||||
|
newDestination.Name = "Destination name";
|
||||||
|
newDestination.Description = "Type some description here";
|
||||||
|
newDestination.AddressString = "The address of the destination";
|
||||||
}
|
}
|
||||||
|
|
||||||
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
void Grid_CustomizeElement(GridCustomizeElementEventArgs e)
|
||||||
|
|
@ -91,14 +96,11 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
|
|
||||||
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task Grid_EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
{
|
{
|
||||||
|
var transferDestinationWizardModel = (TransferDestinationWizardModel)e.EditModel;
|
||||||
|
|
||||||
if (e.IsNew)
|
if (e.IsNew)
|
||||||
{
|
{
|
||||||
//add new row to grid
|
await TransferDataService.CreateTransferDestination(TransferDestinationWizardModel.CopyToTransferDestination(transferDestinationWizardModel));
|
||||||
myModel = (TransferDestinationWizardModel)e.EditModel;
|
|
||||||
//add new orderData to orderData array
|
|
||||||
|
|
||||||
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
|
|
||||||
await transferDataService.CreateTransferDestination(TransferDestinationWizardModel.CopyToTransferDestination(myModel));
|
|
||||||
//await transferDataService.CreateTransferDestination(new TransferDestination
|
//await transferDataService.CreateTransferDestination(new TransferDestination
|
||||||
/*{
|
/*{
|
||||||
Id = Guid.NewGuid(),
|
Id = Guid.NewGuid(),
|
||||||
|
|
@ -111,7 +113,7 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
_logger.Info("New orderData added");
|
_logger.Info("New orderData added");
|
||||||
|
|
||||||
//add mymodel to transferData array
|
//add mymodel to transferData array
|
||||||
TransferDataFromDb = ((TransferDestinationWizardModel[])TransferDataFromDb).Append(myModel).ToArray();
|
_transferDestinationWizardModels.Add(transferDestinationWizardModel);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -119,45 +121,41 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
//modify transferData where transferData.Id == e.EditModel.Id
|
//modify transferData where transferData.Id == e.EditModel.Id
|
||||||
//get transfer from TransferData by Id
|
//get transfer from TransferData by Id
|
||||||
|
|
||||||
var abg = ((TransferDestinationWizardModel[])TransferDataFromDb).Length;
|
//var abg = ((TransferDestinationWizardModel[])TransferDataFromDb).Length;
|
||||||
|
|
||||||
foreach (var transferToModify in (TransferDestinationWizardModel[])TransferDataFromDb)
|
foreach (var transferToModify in _transferDestinationWizardModels)
|
||||||
{
|
{
|
||||||
myModel = (TransferDestinationWizardModel)e.EditModel;
|
if (transferToModify.Id != transferDestinationWizardModel.Id)
|
||||||
|
continue;
|
||||||
|
|
||||||
if (transferToModify.Id == myModel.Id)
|
transferToModify.Id = transferDestinationWizardModel.Id;
|
||||||
{
|
transferToModify.Name = transferDestinationWizardModel.Name;
|
||||||
|
transferToModify.Description = transferDestinationWizardModel.Description;
|
||||||
transferToModify.Id = myModel.Id;
|
transferToModify.AddressString = transferDestinationWizardModel.AddressString;
|
||||||
transferToModify.Name = myModel.Name;
|
transferToModify.Price = transferDestinationWizardModel.Price;
|
||||||
transferToModify.Description = myModel.Description;
|
transferToModify.PriceType = transferDestinationWizardModel.PriceType;
|
||||||
transferToModify.AddressString = myModel.AddressString;
|
|
||||||
transferToModify.Price = myModel.Price;
|
|
||||||
transferToModify.PriceType = myModel.PriceType;
|
|
||||||
|
|
||||||
await transferDataService.UpdateTransferDestination(TransferDestinationWizardModel.CopyToTransferDestination(transferToModify));
|
await TransferDataService.UpdateTransferDestination(TransferDestinationWizardModel.CopyToTransferDestination(transferToModify));
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
|
//TODO: ne a teljes grid-et refresh-eljük, elég lenne csak az adott sort! - J.
|
||||||
|
|
||||||
await UpdateDataAsync();
|
await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
async Task Grid_DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
|
||||||
//remove orderData from orderData array
|
//remove orderData from orderData array
|
||||||
_logger.Info("orderData deleted");
|
_logger.Info("orderData deleted");
|
||||||
//await UpdateDataAsync();
|
//await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
|
//await TransferDataService.GetDestinationsAsync();
|
||||||
await transferDataService.GetDestinationsAsync();
|
|
||||||
//refresh grid
|
//refresh grid
|
||||||
|
|
||||||
|
await FillGridDataSource();
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -167,24 +165,26 @@ namespace TIAMSharedUI.Pages.User.SysAdmins
|
||||||
|
|
||||||
_logger = new LoggerClient<TransferDestinations>(LogWriters.ToArray());
|
_logger = new LoggerClient<TransferDestinations>(LogWriters.ToArray());
|
||||||
|
|
||||||
var a = await transferDataService.GetDestinationsAsync();
|
await FillGridDataSource();
|
||||||
_logger.Info($"TransferDataFromDb: {((TransferDestinationWizardModel[])TransferDataFromDb).Length}");
|
}
|
||||||
foreach (var item in a)
|
|
||||||
|
private async Task FillGridDataSource()
|
||||||
|
{
|
||||||
|
var destinations = await TransferDataService.GetDestinationsAsync();
|
||||||
|
|
||||||
|
foreach (var item in destinations)
|
||||||
{
|
{
|
||||||
//add new transferwizardmodel to transferData array
|
_transferDestinationWizardModels.Add(new TransferDestinationWizardModel(item.Id, item.Name, item.Description, item.AddressString, item.Price, item.Price2, item.Price3, item.Address));
|
||||||
TransferDataFromDb = ((TransferDestinationWizardModel[])TransferDataFromDb).Append(
|
|
||||||
new TransferDestinationWizardModel(item.Id, item.Name, item.Description, item.AddressString, item.Price, item.Price2, item.Price3, item.Address)).ToArray();
|
|
||||||
|
|
||||||
_logger.DetailConditional($"TransferDataFromDb: {item.Name}");
|
|
||||||
|
|
||||||
|
_logger.DetailConditional($"_transferDestinationWizardModels add: {item.Name}");
|
||||||
}
|
}
|
||||||
_logger.Info($"TransferDataFromDb: {((TransferDestinationWizardModel[])TransferDataFromDb).Length}");
|
|
||||||
|
_logger.Info($"_transferDestinationWizardModels: {_transferDestinationWizardModels.Count}");
|
||||||
}
|
}
|
||||||
|
|
||||||
void ColumnChooserButton_Click()
|
void ColumnChooserButton_Click()
|
||||||
{
|
{
|
||||||
Grid.ShowColumnChooser();
|
Grid.ShowColumnChooser();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,13 +8,13 @@
|
||||||
@using TIAMWebApp.Shared.Application.Utility
|
@using TIAMWebApp.Shared.Application.Utility
|
||||||
@using AyCode.Services.Loggers
|
@using AyCode.Services.Loggers
|
||||||
@using TIAM.Core.Loggers
|
@using TIAM.Core.Loggers
|
||||||
@inject IServiceProviderDataService serviceProviderDataService
|
@inject IServiceProviderDataService ServiceProviderDataService
|
||||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
|
|
||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
UserProductMapping
|
UserProductMapping
|
||||||
</div>
|
</div>
|
||||||
<DxGrid Data="DetailGridData"
|
<DxGrid Data="_detailGridData"
|
||||||
PageSize="5"
|
PageSize="5"
|
||||||
AutoExpandAllGroupRows="true"
|
AutoExpandAllGroupRows="true"
|
||||||
KeyboardNavigationEnabled="KeyboardNavigationEnabled"
|
KeyboardNavigationEnabled="KeyboardNavigationEnabled"
|
||||||
|
|
@ -42,7 +42,7 @@
|
||||||
@EditFormContext.GetEditor("UserId")
|
@EditFormContext.GetEditor("UserId")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption="Product:" ColSpanMd="4">
|
<DxFormLayoutItem Caption="Product:" ColSpanMd="4">
|
||||||
<DxComboBox Data="@AvailableServices" TextFieldName="Name" @bind-Value="((UserProductMapping)EditFormContext.EditModel).ProductId" />
|
<DxComboBox Data="@_availableServices" TextFieldName="Name" @bind-Value="((UserProductMapping)EditFormContext.EditModel).ProductId" />
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption="Permissions" ColSpanMd="4">
|
<DxFormLayoutItem Caption="Permissions" ColSpanMd="4">
|
||||||
@EditFormContext.GetEditor("Permissions")
|
@EditFormContext.GetEditor("Permissions")
|
||||||
|
|
@ -59,11 +59,11 @@
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public bool KeyboardNavigationEnabled { get; set; }
|
public bool KeyboardNavigationEnabled { get; set; }
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public UserModelDtoDetail Customer { get; set; }
|
public UserModelDtoDetail UserModelDtoDetail { get; set; }
|
||||||
|
|
||||||
List<TiamServiceProvider> DetailGridData;
|
List<TiamServiceProvider> _detailGridData;
|
||||||
|
|
||||||
List<TiamServiceProvider> AvailableServices;
|
List<TiamServiceProvider> _availableServices;
|
||||||
|
|
||||||
public UserModelDtoDetail UserInfo;
|
public UserModelDtoDetail UserInfo;
|
||||||
|
|
||||||
|
|
@ -73,27 +73,24 @@
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<UserGrid_MasterDetail_NestedGrid_ServiceProviders>(LogWriters.ToArray());
|
_logger = new LoggerClient<UserGrid_MasterDetail_NestedGrid_ServiceProviders>(LogWriters.ToArray());
|
||||||
|
|
||||||
//get userproductmappings by customer id
|
_detailGridData = UserModelDtoDetail.ServiceProviders ?? new List<TiamServiceProvider>();
|
||||||
if (Customer.ServiceProviders == null)
|
_availableServices = await ServiceProviderDataService.GetServiceProvidersAsync();
|
||||||
DetailGridData = new List<TiamServiceProvider>();
|
|
||||||
else
|
|
||||||
DetailGridData = Customer.ServiceProviders;
|
|
||||||
|
|
||||||
AvailableServices = await serviceProviderDataService.GetServiceProvidersAsync();
|
_logger.Info($"DetailGridData: {_detailGridData.Count}");
|
||||||
_logger.Info($"DetailGridData: {DetailGridData.Count}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.IsNew)
|
if (!e.IsNew) return;
|
||||||
{
|
|
||||||
UserProductMapping newProductMapping = new UserProductMapping();
|
|
||||||
newProductMapping.ProductId = Guid.NewGuid();
|
|
||||||
newProductMapping.UserId = Customer.Id;
|
|
||||||
newProductMapping.Permissions = 1;
|
|
||||||
|
|
||||||
e.EditModel = newProductMapping;
|
var newProductMapping = new UserProductMapping
|
||||||
}
|
{
|
||||||
|
ProductId = Guid.NewGuid(),
|
||||||
|
UserId = UserModelDtoDetail.Id,
|
||||||
|
Permissions = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
e.EditModel = newProductMapping;
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
|
|
@ -101,24 +98,21 @@
|
||||||
if (e.IsNew)
|
if (e.IsNew)
|
||||||
//add new orderData to orderData array
|
//add new orderData to orderData array
|
||||||
_logger.Info("New orderData added");
|
_logger.Info("New orderData added");
|
||||||
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
|
|
||||||
else
|
else
|
||||||
_logger.Info("orderData updated");
|
_logger.Info("orderData updated");
|
||||||
|
|
||||||
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
|
|
||||||
|
|
||||||
await UpdateDataAsync();
|
await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
|
async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
|
||||||
//remove orderData from orderData array
|
//remove orderData from orderData array
|
||||||
_logger.Info("orderData deleted");
|
_logger.Info("orderData deleted");
|
||||||
//await UpdateDataAsync();
|
//await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
|
|
||||||
//refresh grid
|
//refresh grid
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,13 @@
|
||||||
@using TIAM.Core.Loggers
|
@using TIAM.Core.Loggers
|
||||||
@using AyCode.Core.Loggers
|
@using AyCode.Core.Loggers
|
||||||
@using AyCode.Services.Loggers
|
@using AyCode.Services.Loggers
|
||||||
@inject IUserDataService NwindDataService
|
@inject IServiceProviderDataService ServiceProviderDataService
|
||||||
@inject IServiceProviderDataService serviceProviderDataService
|
|
||||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
|
|
||||||
<div class="mb-2">
|
<div class="mb-2">
|
||||||
UserProductMapping
|
UserProductMapping
|
||||||
</div>
|
</div>
|
||||||
<DxGrid Data="DetailGridData"
|
<DxGrid Data="_detailGridData"
|
||||||
PageSize="5"
|
PageSize="5"
|
||||||
AutoExpandAllGroupRows="true"
|
AutoExpandAllGroupRows="true"
|
||||||
KeyboardNavigationEnabled="KeyboardNavigationEnabled"
|
KeyboardNavigationEnabled="KeyboardNavigationEnabled"
|
||||||
|
|
@ -43,7 +42,7 @@
|
||||||
@EditFormContext.GetEditor("UserId")
|
@EditFormContext.GetEditor("UserId")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption="Product:" ColSpanMd="4">
|
<DxFormLayoutItem Caption="Product:" ColSpanMd="4">
|
||||||
<DxComboBox Data="@AvailableProducts" TextFieldName="Name" @bind-Value="((UserProductMapping)EditFormContext.EditModel).ProductId" />
|
<DxComboBox Data="@_availableProducts" TextFieldName="Name" @bind-Value="((UserProductMapping)EditFormContext.EditModel).ProductId" />
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption="Permissions" ColSpanMd="4">
|
<DxFormLayoutItem Caption="Permissions" ColSpanMd="4">
|
||||||
@EditFormContext.GetEditor("Permissions")
|
@EditFormContext.GetEditor("Permissions")
|
||||||
|
|
@ -60,40 +59,35 @@
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public bool KeyboardNavigationEnabled { get; set; }
|
public bool KeyboardNavigationEnabled { get; set; }
|
||||||
[Parameter]
|
[Parameter]
|
||||||
public UserModelDtoDetail Customer { get; set; }
|
public UserModelDtoDetail UserModelDtoDetail { get; set; }
|
||||||
|
|
||||||
private ILogger _logger;
|
private LoggerClient<UserGrid_MasterDetail_NestedGrid_UserProductMapping> _logger;
|
||||||
List<UserProductMapping> DetailGridData;
|
|
||||||
|
|
||||||
List<Product> AvailableProducts;
|
List<UserProductMapping> _detailGridData;
|
||||||
|
List<Product> _availableProducts;
|
||||||
public UserModelDtoDetail UserInfo;
|
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
{
|
{
|
||||||
_logger = new LoggerClient<UserGrid_MasterDetail_NestedGrid_UserProductMapping>(LogWriters.ToArray());
|
_logger = new LoggerClient<UserGrid_MasterDetail_NestedGrid_UserProductMapping>(LogWriters.ToArray());
|
||||||
|
|
||||||
//get userproductmappings by customer id
|
_detailGridData = UserModelDtoDetail.UserProductMappings ?? new List<UserProductMapping>();
|
||||||
if (Customer.UserProductMappings == null)
|
_availableProducts = await ServiceProviderDataService.GetAllProductsAsync();
|
||||||
DetailGridData = new List<UserProductMapping>();
|
|
||||||
else
|
|
||||||
DetailGridData = Customer.UserProductMappings;
|
|
||||||
|
|
||||||
AvailableProducts = await serviceProviderDataService.GetAllProductsAsync();
|
_logger.Info($"DetailGridData: {_detailGridData.Count}");
|
||||||
_logger.Info($"DetailGridData: {DetailGridData.Count}");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
void CustomizeEditModel(GridCustomizeEditModelEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.IsNew)
|
if (!e.IsNew) return;
|
||||||
{
|
|
||||||
UserProductMapping newProductMapping = new UserProductMapping();
|
|
||||||
newProductMapping.ProductId = Guid.NewGuid();
|
|
||||||
newProductMapping.UserId = Customer.Id;
|
|
||||||
newProductMapping.Permissions = 1;
|
|
||||||
|
|
||||||
e.EditModel = newProductMapping;
|
var newProductMapping = new UserProductMapping
|
||||||
}
|
{
|
||||||
|
ProductId = Guid.NewGuid(),
|
||||||
|
UserId = UserModelDtoDetail.Id,
|
||||||
|
Permissions = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
e.EditModel = newProductMapping;
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task EditModelSaving(GridEditModelSavingEventArgs e)
|
async Task EditModelSaving(GridEditModelSavingEventArgs e)
|
||||||
|
|
@ -101,24 +95,21 @@
|
||||||
if (e.IsNew)
|
if (e.IsNew)
|
||||||
//add new orderData to orderData array
|
//add new orderData to orderData array
|
||||||
_logger.Info("New orderData added");
|
_logger.Info("New orderData added");
|
||||||
//await NwindDataService.InsertEmployeeAsync((EditableEmployee)e.EditModel);
|
|
||||||
else
|
else
|
||||||
_logger.Info("orderData updated");
|
_logger.Info("orderData updated");
|
||||||
|
|
||||||
//await NwindDataService.UpdateEmployeeAsync((EditableEmployee)e.DataItem, (EditableEmployee)e.EditModel);
|
|
||||||
|
|
||||||
await UpdateDataAsync();
|
await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
|
async Task DataItemDeleting(GridDataItemDeletingEventArgs e)
|
||||||
{
|
{
|
||||||
//await NwindDataService.RemoveEmployeeAsync((EditableEmployee)e.DataItem);
|
|
||||||
//remove orderData from orderData array
|
//remove orderData from orderData array
|
||||||
_logger.Info("orderData deleted");
|
_logger.Info("orderData deleted");
|
||||||
//await UpdateDataAsync();
|
//await UpdateDataAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
async Task UpdateDataAsync()
|
async Task UpdateDataAsync()
|
||||||
{
|
{
|
||||||
//DataSource = await NwindDataService.GetEmployeesEditableAsync();
|
|
||||||
//refresh grid
|
//refresh grid
|
||||||
_logger.Info("orderData grid refreshed");
|
_logger.Info("orderData grid refreshed");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -169,16 +169,15 @@ namespace TIAMWebApp.Client.Services
|
||||||
return await http.GetFromJsonAsync<List<UserModelDto>>(APIUrls.GetUsers);
|
return await http.GetFromJsonAsync<List<UserModelDto>>(APIUrls.GetUsers);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<List<UserModelDtoDetail>?> GetUsersWithDetailsAsync()
|
public async Task<List<UserModelDtoDetail>> GetUsersWithDetailsAsync()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUsersWithDetails}";
|
var url = $"{Setting.ApiBaseUrl}/{APIUrls.GetUsersWithDetails}";
|
||||||
|
|
||||||
_logger.Info("GetUserByEmailAsync url: " + url + "!");
|
_logger.Info("GetUserByEmailAsync url: " + url + "!");
|
||||||
var response = await http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
|
var response = await http.GetFromJsonAsync<List<UserModelDtoDetail>>(APIUrls.GetUsersWithDetails);
|
||||||
//var result = await response.Content.ReadAsStringAsync();
|
//var result = await response.Content.ReadAsStringAsync();
|
||||||
//var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
//var user = JsonConvert.DeserializeObject<UserModelDto>(result);
|
||||||
return response;
|
return response ?? [];
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ namespace TIAMWebApp.Shared.Application.Interfaces
|
||||||
|
|
||||||
public Task<List<UserModelDto>?> GetUsersAsync();
|
public Task<List<UserModelDto>?> GetUsersAsync();
|
||||||
|
|
||||||
public Task<List<UserModelDtoDetail>?> GetUsersWithDetailsAsync();
|
public Task<List<UserModelDtoDetail>> GetUsersWithDetailsAsync();
|
||||||
|
|
||||||
public Task<UserModelDto?> GetUserByIdAsync(Guid id);
|
public Task<UserModelDto?> GetUserByIdAsync(Guid id);
|
||||||
public Task<UserModelDtoDetail?> GetUserDetailByIdAsync(Guid id);
|
public Task<UserModelDtoDetail?> GetUserDetailByIdAsync(Guid id);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue