diff --git a/TIAMMobileApp/TIAMMobileApp.csproj b/TIAMMobileApp/TIAMMobileApp.csproj index 0ed45a47..fe1754e1 100644 --- a/TIAMMobileApp/TIAMMobileApp.csproj +++ b/TIAMMobileApp/TIAMMobileApp.csproj @@ -88,15 +88,15 @@ - + - + - + diff --git a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor index d5102a77..b0e6eecf 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/ManageTransfers.razor @@ -19,6 +19,7 @@ @using AyCode.Core.Consts @using AyCode.Core @using AyCode.Core.Helpers +@using DevExpress.Data.Filtering @using TIAM.Entities.Emails @layout AdminLayout @inject IEnumerable LogWriters @@ -132,7 +133,7 @@ @{ - 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; @transferStatusText } @@ -149,22 +150,22 @@ - + @{ - var transfer2 = (Transfer)EditFormContext.EditModel; + var transfer2 = (Transfer)editFormContext.EditModel; } - @EditFormContext.GetEditor("FirstName") + @editFormContext.GetEditor("FirstName") - @EditFormContext.GetEditor("LastName") + @editFormContext.GetEditor("LastName") - @EditFormContext.GetEditor("ToAddress") + @editFormContext.GetEditor("ToAddress") - @EditFormContext.GetEditor("FromAddress") + @editFormContext.GetEditor("FromAddress") @@ -175,21 +176,28 @@ - @EditFormContext.GetEditor("PassengerCount") + @editFormContext.GetEditor("PassengerCount") - @EditFormContext.GetEditor("Payed") + @editFormContext.GetEditor("Payed") - @EditFormContext.GetEditor("TransferStatusType") + @editFormContext.GetEditor("TransferStatusType") - + +
+ +
+
@@ -228,6 +236,10 @@ private bool _popupVisible; private bool _autoCollapseDetailRow; private TransferGrid _gridTransfer; + private DxTagBox _filterTag; + + List SelectedCategories { get; set; } + = Statuses.Where(x => x.StatusValue != (byte)TransferStatusType.Finished && x.StatusValue != (byte)TransferStatusType.UserCanceled && x.StatusValue != (byte)TransferStatusType.AdminDenied).ToList(); public List IgnoreList = [ @@ -240,17 +252,17 @@ "ContextId", ]; - public List Statuses { get; set; } = + public static List 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") + new(Convert.ToByte(TransferStatusType.OrderSubmitted), "Order submitted"), + new(Convert.ToByte(TransferStatusType.OrderConfirmed), "Order confirmed"), + new(Convert.ToByte(TransferStatusType.AssignedToDriver), "Assigned to driver"), + new(Convert.ToByte(TransferStatusType.DriverConfirmed), "Driver confirmed"), + new(Convert.ToByte(TransferStatusType.DriverEnRoute), "Driver enroute"), + new(Convert.ToByte(TransferStatusType.PassengerPickup), "Passenger in car"), + new(Convert.ToByte(TransferStatusType.Finished), "Finished"), + new(Convert.ToByte(TransferStatusType.UserCanceled), "User cancelled"), + new(Convert.ToByte(TransferStatusType.AdminDenied), "Admin cancelled") ]; private MessageWizardModel _messageWizardModel = new(); @@ -296,7 +308,7 @@ public async Task SubmitForm(object result) { - var messageModel = result as MessageWizardModel; + var messageModel = (result as MessageWizardModel)!; messageModel.ContextId = _messageWizardModel.ContextId; //messageModel.SenderId = sessionService.User.UserId; @@ -364,11 +376,34 @@ transferEditModel.ContactEmail = "your@email.address"; } + void TagBox_ValuesChanged(IEnumerable 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 transfers) { _logger.Info("DataSourceChanged called"); 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 args) @@ -452,7 +487,7 @@ { if (firstRender) { - _gridTransfer.ExpandDetailRow(0); + //_gridTransfer.ExpandDetailRow(0); } } diff --git a/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs b/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs index 8a84bba3..09aebe07 100644 --- a/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs +++ b/TIAMSharedUI/Shared/Components/Grids/TiamGrid.cs @@ -114,7 +114,7 @@ namespace TIAMSharedUI.Shared.Components.Grids Logger.Debug($"{_gridLogName} OnDataSourceLoaded"); Reload(); - _dataSource.LoadItem(_dataSource.First().Id).Forget(); + //_dataSource.LoadItem(_dataSource.First().Id).Forget(); return OnDataSourceChanged.InvokeAsync(_dataSource); } diff --git a/TIAMSharedUI/TIAMSharedUI.csproj b/TIAMSharedUI/TIAMSharedUI.csproj index baa25e1a..c274a95c 100644 --- a/TIAMSharedUI/TIAMSharedUI.csproj +++ b/TIAMSharedUI/TIAMSharedUI.csproj @@ -14,7 +14,7 @@ - + diff --git a/TIAMSharedUI/TIAMSharedUI.csproj.bak b/TIAMSharedUI/TIAMSharedUI.csproj.bak new file mode 100644 index 00000000..baa25e1a --- /dev/null +++ b/TIAMSharedUI/TIAMSharedUI.csproj.bak @@ -0,0 +1,82 @@ + + + + net8.0 + enable + enable + + + + + + + + + + + + + + + + + + + + + + + + + + + + ..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.dll + + + ..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Core.Server.dll + + + ..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Entities.dll + + + ..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Interfaces.dll + + + ..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Models.dll + + + ..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Services.dll + + + ..\..\AyCode.Core\AyCode.Services.Server\bin\Debug\net8.0\AyCode.Utils.dll + + + + + + MyResources.resx + True + True + + + + + + PreserveNewest + MyResources.Designer.cs + PublicResXFileCodeGenerator + + + + + + + + + + true + + + + diff --git a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs index cba3d280..fe16c273 100644 --- a/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs +++ b/TIAMWebApp/Server/Controllers/ServiceProviderAPIController.cs @@ -371,19 +371,12 @@ namespace TIAMWebApp.Server.Controllers [Route(APIUrls.AddProductRouteName)] [Tags("In-Progress", "Product")] [SignalR(SignalRTags.AddProduct)] - public async Task AddProduct([FromBody] Product product) + public async Task AddProduct([FromBody] Product product) { _logger.Info(@"AddProduct called"); - if (product == null) - { - return BadRequest("Product is required"); - } - else - { - var result = await adminDal.AddProductAsync(product); - return Ok(product); - } + var result = await adminDal.AddProductAsync(product); + return product; } //[HttpPost] diff --git a/TIAMWebApp/Shared/Models/ClientSide/UI/TransferStatusModel.cs b/TIAMWebApp/Shared/Models/ClientSide/UI/TransferStatusModel.cs index 7bdc4dd3..eef1cb87 100644 --- a/TIAMWebApp/Shared/Models/ClientSide/UI/TransferStatusModel.cs +++ b/TIAMWebApp/Shared/Models/ClientSide/UI/TransferStatusModel.cs @@ -2,10 +2,10 @@ { public class TransferStatusModel { - public int StatusValue { get; set; } + public byte StatusValue { get; set; } public string StatusName { get; set; } - public TransferStatusModel(int statusValue, string statusName) + public TransferStatusModel(byte statusValue, string statusName) { StatusValue = statusValue; StatusName = statusName;