Merge branch 'master' of http://git2.aycode.com/Adam/TourIAm
This commit is contained in:
commit
9412a02d82
|
|
@ -88,15 +88,15 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Update="Microsoft.AspNetCore.Components.WebView.Maui" Version="8.0.60" />
|
<PackageReference Update="Microsoft.AspNetCore.Components.WebView.Maui" Version="8.0.61" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Update="Microsoft.Maui.Controls" Version="8.0.60" />
|
<PackageReference Update="Microsoft.Maui.Controls" Version="8.0.61" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Update="Microsoft.Maui.Controls.Compatibility" Version="8.0.60" />
|
<PackageReference Update="Microsoft.Maui.Controls.Compatibility" Version="8.0.61" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
@using AyCode.Core.Consts
|
@using AyCode.Core.Consts
|
||||||
@using AyCode.Core
|
@using AyCode.Core
|
||||||
@using AyCode.Core.Helpers
|
@using AyCode.Core.Helpers
|
||||||
|
@using DevExpress.Data.Filtering
|
||||||
@using TIAM.Entities.Emails
|
@using TIAM.Entities.Emails
|
||||||
@layout AdminLayout
|
@layout AdminLayout
|
||||||
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
@inject IEnumerable<IAcLogWriterClientBase> LogWriters
|
||||||
|
|
@ -132,7 +133,7 @@
|
||||||
<CellDisplayTemplate>
|
<CellDisplayTemplate>
|
||||||
@{
|
@{
|
||||||
|
|
||||||
TransferStatusModel keyField = Statuses.FirstOrDefault(x => x.StatusValue == Convert.ToInt16(context.Value));
|
TransferStatusModel keyField = Statuses.FirstOrDefault(x => x.StatusValue == (byte)context.Value)!;
|
||||||
string transferStatusText = keyField.StatusName;
|
string transferStatusText = keyField.StatusName;
|
||||||
<text>@transferStatusText</text>
|
<text>@transferStatusText</text>
|
||||||
}
|
}
|
||||||
|
|
@ -149,22 +150,22 @@
|
||||||
</DxTabPage>
|
</DxTabPage>
|
||||||
</DxTabs>
|
</DxTabs>
|
||||||
</DetailRowTemplate>
|
</DetailRowTemplate>
|
||||||
<EditFormTemplate Context="EditFormContext">
|
<EditFormTemplate Context="editFormContext">
|
||||||
@{
|
@{
|
||||||
var transfer2 = (Transfer)EditFormContext.EditModel;
|
var transfer2 = (Transfer)editFormContext.EditModel;
|
||||||
}
|
}
|
||||||
<DxFormLayout CssClass="w-100">
|
<DxFormLayout CssClass="w-100">
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.FirstName) ColSpanMd="6">
|
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.FirstName) ColSpanMd="6">
|
||||||
@EditFormContext.GetEditor("FirstName")
|
@editFormContext.GetEditor("FirstName")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.LastName) ColSpanMd="6">
|
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.LastName) ColSpanMd="6">
|
||||||
@EditFormContext.GetEditor("LastName")
|
@editFormContext.GetEditor("LastName")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.DestinationAddress) ColSpanMd="6">
|
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.DestinationAddress) ColSpanMd="6">
|
||||||
@EditFormContext.GetEditor("ToAddress")
|
@editFormContext.GetEditor("ToAddress")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.PickupAddress) ColSpanMd="6">
|
<DxFormLayoutItem Caption=@localizer.GetString(ResourceKeys.PickupAddress) ColSpanMd="6">
|
||||||
@EditFormContext.GetEditor("FromAddress")
|
@editFormContext.GetEditor("FromAddress")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption="Trip date:" ColSpanMd="6">
|
<DxFormLayoutItem Caption="Trip date:" ColSpanMd="6">
|
||||||
|
|
||||||
|
|
@ -175,21 +176,28 @@
|
||||||
|
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
<DxFormLayoutItem Caption="Passengers:" ColSpanMd="6">
|
<DxFormLayoutItem Caption="Passengers:" ColSpanMd="6">
|
||||||
@EditFormContext.GetEditor("PassengerCount")
|
@editFormContext.GetEditor("PassengerCount")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
|
|
||||||
<DxFormLayoutItem Caption="Paid:" ColSpanMd="6">
|
<DxFormLayoutItem Caption="Paid:" ColSpanMd="6">
|
||||||
@EditFormContext.GetEditor("Payed")
|
@editFormContext.GetEditor("Payed")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
|
|
||||||
<DxFormLayoutItem Caption="Status:" ColSpanMd="6">
|
<DxFormLayoutItem Caption="Status:" ColSpanMd="6">
|
||||||
@EditFormContext.GetEditor("TransferStatusType")
|
@editFormContext.GetEditor("TransferStatusType")
|
||||||
</DxFormLayoutItem>
|
</DxFormLayoutItem>
|
||||||
|
|
||||||
</DxFormLayout>
|
</DxFormLayout>
|
||||||
</EditFormTemplate>
|
</EditFormTemplate>
|
||||||
|
|
||||||
|
<ToolbarTemplate>
|
||||||
|
<div>
|
||||||
|
<DxTagBox Data="@Statuses" Values="@SelectedCategories" @ref="_filterTag"
|
||||||
|
ValuesChanged="(IEnumerable<TransferStatusModel> values) => TagBox_ValuesChanged(values)"
|
||||||
|
ValueFieldName="StatusValue" TextFieldName="StatusName" NullText="Select category..."
|
||||||
|
ClearButtonDisplayMode="DataEditorClearButtonDisplayMode.Auto" aria-label="Select category" />
|
||||||
|
</div>
|
||||||
|
</ToolbarTemplate>
|
||||||
</TransferGrid>
|
</TransferGrid>
|
||||||
</div>
|
</div>
|
||||||
</DxTabPage>
|
</DxTabPage>
|
||||||
|
|
@ -228,6 +236,10 @@
|
||||||
private bool _popupVisible;
|
private bool _popupVisible;
|
||||||
private bool _autoCollapseDetailRow;
|
private bool _autoCollapseDetailRow;
|
||||||
private TransferGrid _gridTransfer;
|
private TransferGrid _gridTransfer;
|
||||||
|
private DxTagBox<TransferStatusModel, TransferStatusModel> _filterTag;
|
||||||
|
|
||||||
|
List<TransferStatusModel> SelectedCategories { get; set; }
|
||||||
|
= Statuses.Where(x => x.StatusValue != (byte)TransferStatusType.Finished && x.StatusValue != (byte)TransferStatusType.UserCanceled && x.StatusValue != (byte)TransferStatusType.AdminDenied).ToList();
|
||||||
|
|
||||||
public List<string> IgnoreList =
|
public List<string> IgnoreList =
|
||||||
[
|
[
|
||||||
|
|
@ -240,17 +252,17 @@
|
||||||
"ContextId",
|
"ContextId",
|
||||||
];
|
];
|
||||||
|
|
||||||
public List<TransferStatusModel> Statuses { get; set; } =
|
public static List<TransferStatusModel> Statuses { get; set; } =
|
||||||
[
|
[
|
||||||
new(Convert.ToInt16(TransferStatusType.OrderSubmitted), "Order submitted"),
|
new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"),
|
||||||
new(Convert.ToInt16(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"),
|
||||||
new(Convert.ToInt16(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"),
|
||||||
new(Convert.ToInt16(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"),
|
||||||
new(Convert.ToInt16(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"),
|
||||||
new(Convert.ToInt16(TransferStatusType.PassengerPickup), "Passenger in car"),
|
new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"),
|
||||||
new(Convert.ToInt16(TransferStatusType.Finished), "Finished"),
|
new(Convert.ToByte(TransferStatusType.Finished), "Finished"),
|
||||||
new(Convert.ToInt16(TransferStatusType.UserCanceled), "User cancelled"),
|
new(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"),
|
||||||
new(Convert.ToInt16(TransferStatusType.AdminDenied), "Admin cancelled")
|
new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled")
|
||||||
];
|
];
|
||||||
|
|
||||||
private MessageWizardModel _messageWizardModel = new();
|
private MessageWizardModel _messageWizardModel = new();
|
||||||
|
|
@ -296,7 +308,7 @@
|
||||||
|
|
||||||
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;
|
||||||
|
|
||||||
|
|
@ -364,11 +376,34 @@
|
||||||
transferEditModel.ContactEmail = "your@email.address";
|
transferEditModel.ContactEmail = "your@email.address";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TagBox_ValuesChanged(IEnumerable<TransferStatusModel> newSelectedCategories)
|
||||||
|
{
|
||||||
|
SelectedCategories = newSelectedCategories.ToList();
|
||||||
|
var filterCriteria = SelectedCategories.Any()
|
||||||
|
? new InOperator("TransferStatusType", SelectedCategories.Select(c => c.StatusValue))
|
||||||
|
: null;
|
||||||
|
|
||||||
|
_gridTransfer.SetFieldFilterCriteria("TransferStatusType", filterCriteria);
|
||||||
|
}
|
||||||
|
|
||||||
private void DataSourceChanged(IList<Transfer> transfers)
|
private void DataSourceChanged(IList<Transfer> transfers)
|
||||||
{
|
{
|
||||||
_logger.Info("DataSourceChanged called");
|
_logger.Info("DataSourceChanged called");
|
||||||
|
|
||||||
InitializeAppointments(transfers);
|
InitializeAppointments(transfers);
|
||||||
|
|
||||||
|
if (SelectedCategories.Count > 0)
|
||||||
|
TagBox_ValuesChanged(SelectedCategories);
|
||||||
|
|
||||||
|
if(!SelectedCategories.Any())
|
||||||
|
SelectedCategories = [Statuses.FirstOrDefault(x => x.StatusValue == (byte)TransferStatusType.Finished)!];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// var filterTransferStatusType = Statuses.FirstOrDefault(x => x.StatusValue == (byte)TransferStatusType.Finished)!;
|
||||||
|
|
||||||
|
// if (SelectedCategories.All(x => x.StatusValue != filterTransferStatusType.StatusValue))
|
||||||
|
// SelectedCategories.Add(filterTransferStatusType);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DataSourceItemChanging(GridDataItemChangingEventArgs<Transfer> args)
|
private void DataSourceItemChanging(GridDataItemChangingEventArgs<Transfer> args)
|
||||||
|
|
@ -452,7 +487,7 @@
|
||||||
{
|
{
|
||||||
if (firstRender)
|
if (firstRender)
|
||||||
{
|
{
|
||||||
_gridTransfer.ExpandDetailRow(0);
|
//_gridTransfer.ExpandDetailRow(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -114,7 +114,7 @@ namespace TIAMSharedUI.Shared.Components.Grids
|
||||||
Logger.Debug($"{_gridLogName} OnDataSourceLoaded");
|
Logger.Debug($"{_gridLogName} OnDataSourceLoaded");
|
||||||
|
|
||||||
Reload();
|
Reload();
|
||||||
_dataSource.LoadItem(_dataSource.First().Id).Forget();
|
//_dataSource.LoadItem(_dataSource.First().Id).Forget();
|
||||||
return OnDataSourceChanged.InvokeAsync(_dataSource);
|
return OnDataSourceChanged.InvokeAsync(_dataSource);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Blazor.AnimateOnScroll" Version="1.1.0" />
|
<PackageReference Include="Blazor.AnimateOnScroll" Version="1.1.0" />
|
||||||
<PackageReference Include="BlazorAnimation" Version="2.2.0" />
|
<PackageReference Include="BlazorAnimation" Version="2.2.0" />
|
||||||
<PackageReference Include="DevExpress.Blazor" Version="23.2.3" />
|
<PackageReference Include="DevExpress.Blazor" Version="24.1.3" />
|
||||||
<PackageReference Include="MessagePack" Version="2.5.168" />
|
<PackageReference Include="MessagePack" Version="2.5.168" />
|
||||||
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.6" />
|
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.6" />
|
||||||
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.6" />
|
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.6" />
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,82 @@
|
||||||
|
<Project Sdk="Microsoft.NET.Sdk.Razor">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>net8.0</TargetFramework>
|
||||||
|
<Nullable>enable</Nullable>
|
||||||
|
<ImplicitUsings>enable</ImplicitUsings>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<SupportedPlatform Include="browser" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Blazor.AnimateOnScroll" Version="1.1.0" />
|
||||||
|
<PackageReference Include="BlazorAnimation" Version="2.2.0" />
|
||||||
|
<PackageReference Include="DevExpress.Blazor" Version="23.2.3" />
|
||||||
|
<PackageReference Include="MessagePack" Version="2.5.168" />
|
||||||
|
<PackageReference Include="Microsoft.AspNetCore.Components.Web" Version="8.0.6" />
|
||||||
|
<PackageReference Include="Microsoft.Extensions.Localization" Version="8.0.6" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\Aycode.Blazor\AyCode.Blazor.Components\AyCode.Blazor.Components.csproj" />
|
||||||
|
<ProjectReference Include="..\..\Aycode.Blazor\AyCode.Blazor.Models\AyCode.Blazor.Models.csproj" />
|
||||||
|
<ProjectReference Include="..\TIAM.Entities\TIAM.Entities.csproj" />
|
||||||
|
<ProjectReference Include="..\TIAM.Models\TIAM.Models.csproj" />
|
||||||
|
<ProjectReference Include="..\TIAMResources\TIAM.Resources.csproj" />
|
||||||
|
<ProjectReference Include="..\TIAMWebApp\Shared\TIAMWebApp.Shared.Application.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="AyCode.Core">
|
||||||
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AyCode.Core.Server">
|
||||||
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.Server.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AyCode.Entities">
|
||||||
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AyCode.Interfaces">
|
||||||
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AyCode.Models">
|
||||||
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AyCode.Services">
|
||||||
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="AyCode.Utils">
|
||||||
|
<HintPath>..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Utils.dll</HintPath>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Update="Resources\MyResources.Designer.cs">
|
||||||
|
<DependentUpon>MyResources.resx</DependentUpon>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Update="Resources\MyResources.resx">
|
||||||
|
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||||
|
<LastGenOutput>MyResources.Designer.cs</LastGenOutput>
|
||||||
|
<Generator>PublicResXFileCodeGenerator</Generator>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Pages\User\Guides\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Content Update="Pages\User\SysAdmins\AddressDetailGridComponent.razor">
|
||||||
|
<ExcludeFromSingleFile>true</ExcludeFromSingleFile>
|
||||||
|
</Content>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
|
|
@ -371,19 +371,12 @@ namespace TIAMWebApp.Server.Controllers
|
||||||
[Route(APIUrls.AddProductRouteName)]
|
[Route(APIUrls.AddProductRouteName)]
|
||||||
[Tags("In-Progress", "Product")]
|
[Tags("In-Progress", "Product")]
|
||||||
[SignalR(SignalRTags.AddProduct)]
|
[SignalR(SignalRTags.AddProduct)]
|
||||||
public async Task<IActionResult> AddProduct([FromBody] Product product)
|
public async Task<Product> AddProduct([FromBody] Product product)
|
||||||
{
|
{
|
||||||
_logger.Info(@"AddProduct called");
|
_logger.Info(@"AddProduct called");
|
||||||
|
|
||||||
if (product == null)
|
var result = await adminDal.AddProductAsync(product);
|
||||||
{
|
return product;
|
||||||
return BadRequest("Product is required");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var result = await adminDal.AddProductAsync(product);
|
|
||||||
return Ok(product);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//[HttpPost]
|
//[HttpPost]
|
||||||
|
|
|
||||||
|
|
@ -2,10 +2,10 @@
|
||||||
{
|
{
|
||||||
public class TransferStatusModel
|
public class TransferStatusModel
|
||||||
{
|
{
|
||||||
public int StatusValue { get; set; }
|
public byte StatusValue { get; set; }
|
||||||
public string StatusName { get; set; }
|
public string StatusName { get; set; }
|
||||||
|
|
||||||
public TransferStatusModel(int statusValue, string statusName)
|
public TransferStatusModel(byte statusValue, string statusName)
|
||||||
{
|
{
|
||||||
StatusValue = statusValue;
|
StatusValue = statusValue;
|
||||||
StatusName = statusName;
|
StatusName = statusName;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue