Berthing and Tasks
This commit is contained in:
@@ -80,7 +80,7 @@ namespace Sarand.LogisticsMgr.Mobile.App
|
||||
public override async Task<bool> IsWebServiceAlive (SlmSiteDefinition siteDefinition)
|
||||
{
|
||||
SlmWebServiceClient webServiceClient = new SlmWebServiceClient();
|
||||
return await webServiceClient.IsAlive(siteDefinition);
|
||||
return await webServiceClient.RequestIsAlive(siteDefinition);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -119,8 +119,8 @@ namespace Sarand.LogisticsMgr.Mobile.App
|
||||
{
|
||||
sites.Add(new SlmSiteDefinition_App(Slm.Site.Southampton, "Localhost", "http://localhost:34567/SaLogMgr"));
|
||||
sites.Add(new SlmSiteDefinition_App(Slm.Site.Southampton, "Sarand107", "http://Sarand107:34567/SaLogMgr"));
|
||||
sites.Add(new SlmSiteDefinition_App(Slm.Site.Southampton, "Sarand107 IP4", "http://10.53.2.208:34567/SaLogMgr"));
|
||||
//sites.Add(new SlmSiteDefinition_App(Slm.Site.Southampton, "Sarand107 IP6", "http://[fe80::c1b6:f5ee:a3ea:35e3]:34567/SaLogMgr"));
|
||||
sites.Add(new SlmSiteDefinition_App(Slm.Site.Southampton, "Sarand107 IP4", "http://192.168.1.117:34567/SaLogMgr"));
|
||||
sites.Add(new SlmSiteDefinition_App(Slm.Site.Southampton, "Sarand107 IP6", "http://[2a00:23c4:1b29:cc00:87d:e29d:3ee4:7829]:34567/SaLogMgr"));
|
||||
}
|
||||
}
|
||||
return sites;
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Templates;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -38,8 +38,8 @@ namespace Sarand.LogisticsMgr.Mobile.App.Commands
|
||||
try
|
||||
{
|
||||
if (!await App.GetInstance().SlmMainPage.IsWebServiceActive()) return;
|
||||
SlmPage_Assets_Repair.Config pageConfig = new SlmPage_Assets_Repair.Config();
|
||||
SlmPage_Assets_Repair assetRepairForm = new SlmPage_Assets_Repair (pageConfig);
|
||||
SlmFormPage_Assets_Repair.Config pageConfig = new SlmFormPage_Assets_Repair.Config();
|
||||
SlmFormPage_Assets_Repair assetRepairForm = new SlmFormPage_Assets_Repair (pageConfig);
|
||||
assetRepairForm.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
AssetRepairFormActive = false;
|
||||
|
||||
@@ -4,9 +4,11 @@ using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Templates;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Panels.Main;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Panels.Main.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Panels.Main.Bulk;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Views;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -91,8 +93,8 @@ namespace Sarand.LogisticsMgr.Mobile.App
|
||||
// Bulk.
|
||||
case SlmMobile.MainView.ShipFile:
|
||||
{
|
||||
SlmMainPanel_ShipFile.Config panelConfig = new SlmMainPanel_ShipFile.Config();
|
||||
SlmMainPanel_ShipFile loginPanel = new SlmMainPanel_ShipFile(panelConfig);
|
||||
SlmMainPanel_Bulk_Berthings.Config panelConfig = new SlmMainPanel_Bulk_Berthings.Config();
|
||||
SlmMainPanel_Bulk_Berthings loginPanel = new SlmMainPanel_Bulk_Berthings(panelConfig);
|
||||
mainPanel = loginPanel;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.App.Commands;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Config;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Views;
|
||||
using System;
|
||||
@@ -99,8 +99,8 @@ namespace Sarand.LogisticsMgr.Mobile.App
|
||||
{
|
||||
InvokeMenuOptionClicked();
|
||||
if (!await MainPage.IsWebServiceActive()) return;
|
||||
SlmPage_Assets_Repair.Config pageConfig = new SlmPage_Assets_Repair.Config();
|
||||
SlmPage_Assets_Repair assetRepairForm = new SlmPage_Assets_Repair (pageConfig);
|
||||
SlmFormPage_Assets_Repair.Config pageConfig = new SlmFormPage_Assets_Repair.Config();
|
||||
SlmFormPage_Assets_Repair assetRepairForm = new SlmFormPage_Assets_Repair (pageConfig);
|
||||
assetRepairForm.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
AssetRepairFormActive = false;
|
||||
|
||||
+30
-61
@@ -11,7 +11,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmComponents_AssetMovement : SlmComponents
|
||||
@@ -32,66 +32,35 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public String MessageTitle { get; set; } = "Asset Movement";
|
||||
// Asset Code.
|
||||
public SlmLabel LabelAssetCode { get; } = new SlmLabel() { Text = "Container no." };
|
||||
public SlmEntryView EntryAssetCode { get; } = new SlmEntryView();
|
||||
// Asset Size.
|
||||
public SlmLabel LabelAssetSize { get; } = new SlmLabel() { Text = "Size" };
|
||||
public SlmPickerView_CodeType PickerAssetSize { get; } = new SlmPickerView_CodeType() { CodeType = Slm.CodeType.ContainerSize };
|
||||
// Movement type.
|
||||
public SlmLabel LabelMovementType { get; } = new SlmLabel() { Text = "Movement type" };
|
||||
public SlmPickerView_SystemCodes PickerMovementType { get; } = new SlmPickerView_SystemCodes(Slm.SystemCode.AssetMovementType) { };
|
||||
// Reference.
|
||||
public SlmLabel LabelReference { get; } = new SlmLabel() { Text = "Reference" };
|
||||
public SlmEntryView EntryReference { get; } = new SlmEntryView();
|
||||
// Movement date.
|
||||
public SlmLabel LabelMovementDate { get; } = new SlmLabel() { Text = "Movement date" };
|
||||
public SlmDatePickerView DatePickerMovementDate { get; } = new SlmDatePickerView();
|
||||
// Asset.
|
||||
public SlmEntryView EntryAssetCode { get; } = new SlmEntryView() { LabelText = "Container no." };
|
||||
public SlmPickerView_CodeType PickerAssetSize { get; } = new SlmPickerView_CodeType() { LabelText = "Size", CodeType = Slm.CodeType.ContainerSize };
|
||||
// Movement.
|
||||
public SlmPickerView_SystemCodes PickerMovementType { get; } = new SlmPickerView_SystemCodes(Slm.SystemCode.AssetMovementType) { LabelText = "Movement type" };
|
||||
public SlmEntryView EntryReference { get; } = new SlmEntryView() { LabelText = "Reference" };
|
||||
public SlmDatePickerView DatePickerMovementDate { get; } = new SlmDatePickerView() { LabelText = "Movement date" };
|
||||
// Customer.
|
||||
public SlmLabel LabelCustomer { get; } = new SlmLabel() { Text = "Customer" };
|
||||
public SlmEntryView EntryCustomer { get; } = new SlmEntryView();
|
||||
// Customer reference.
|
||||
public SlmLabel LabelCustomerReference { get; } = new SlmLabel() { Text = "Customer ref" };
|
||||
public SlmEntryView EntryCustomerReference { get; } = new SlmEntryView();
|
||||
// Location - start.
|
||||
public SlmLabel LabelLocationStart { get; } = new SlmLabel() { Text = "Location - start" };
|
||||
public SlmEntryView EntryLocationStart { get; } = new SlmEntryView();
|
||||
// Location - current.
|
||||
public SlmLabel LabelLocationCurrent { get; } = new SlmLabel() { Text = "Location - current" };
|
||||
public SlmEntryView EntryLocationCurrent { get; } = new SlmEntryView();
|
||||
// Location - finish.
|
||||
public SlmLabel LabelLocationFinish { get; } = new SlmLabel() { Text = "Location - finish" };
|
||||
public SlmEntryView EntryLocationFinish { get; } = new SlmEntryView();
|
||||
// Haulier - initial.
|
||||
public SlmLabel LabelHaulierInitial { get; } = new SlmLabel() { Text = "Haulier - initial" };
|
||||
public SlmEntryView EntryHaulierInitial { get; } = new SlmEntryView();
|
||||
// Registration - initial.
|
||||
public SlmLabel LabelRegistrationInitial { get; } = new SlmLabel() { Text = "Registration - initial" };
|
||||
public SlmEntryView EntryRegistrationInitial { get; } = new SlmEntryView();
|
||||
// Haulier - final.
|
||||
public SlmLabel LabelHaulierFinal { get; } = new SlmLabel() { Text = "Haulier - final" };
|
||||
public SlmEntryView EntryHaulierFinal { get; } = new SlmEntryView();
|
||||
// Registration - final.
|
||||
public SlmLabel LabelRegistrationFinal { get; } = new SlmLabel() { Text = "Registration - final" };
|
||||
public SlmEntryView EntryRegistrationFinal { get; } = new SlmEntryView();
|
||||
// Pin number.
|
||||
public SlmLabel LabelPinNumber { get; } = new SlmLabel() { Text = "PIN" };
|
||||
public SlmEntryView EntryPinNumber { get; } = new SlmEntryView();
|
||||
// Seal number.
|
||||
public SlmLabel LabelSealNumber { get; } = new SlmLabel() { Text = "Seal number" };
|
||||
public SlmEntryView EntrySealNumber { get; } = new SlmEntryView();
|
||||
// Status.
|
||||
public SlmLabel LabelStatus { get; } = new SlmLabel() { Text = "Status" };
|
||||
public SlmEntryView EntryStatus { get; } = new SlmEntryView();
|
||||
// InProgress date.
|
||||
public SlmLabel LabelInProgressDate { get; } = new SlmLabel() { Text = "In progress" };
|
||||
public SlmDatePickerView DatePickerInProgressDate { get; } = new SlmDatePickerView();
|
||||
// Completed date.
|
||||
public SlmLabel LabelCompletedDate { get; } = new SlmLabel() { Text = "Completed" };
|
||||
public SlmDatePickerView DatePickerCompletedDate { get; } = new SlmDatePickerView();
|
||||
public SlmEntryView EntryCustomer { get; } = new SlmEntryView() { LabelText = "Customer" };
|
||||
public SlmEntryView EntryCustomerReference { get; } = new SlmEntryView() { LabelText = "Customer ref" };
|
||||
// Location.
|
||||
public SlmEntryView EntryLocationStart { get; } = new SlmEntryView() { LabelText = "Location - start" };
|
||||
public SlmEntryView EntryLocationCurrent { get; } = new SlmEntryView() { LabelText = "Location - current" };
|
||||
public SlmEntryView EntryLocationFinish { get; } = new SlmEntryView() { LabelText = "Location - finish" };
|
||||
// Haulier.
|
||||
public SlmEntryView EntryHaulierInitial { get; } = new SlmEntryView() { LabelText = "Haulier - initial" };
|
||||
public SlmEntryView EntryHaulierFinal { get; } = new SlmEntryView() { LabelText = "Haulier - final" };
|
||||
// Registration.
|
||||
public SlmEntryView EntryRegistrationInitial { get; } = new SlmEntryView() { LabelText = "Registration - initial" };
|
||||
public SlmEntryView EntryRegistrationFinal { get; } = new SlmEntryView() { LabelText = "Registration - final" };
|
||||
// Numbers.
|
||||
public SlmEntryView EntryPinNumber { get; } = new SlmEntryView() { LabelText = "PIN" };
|
||||
public SlmEntryView EntrySealNumber { get; } = new SlmEntryView() { LabelText = "Seal number" };
|
||||
// Status & dates.
|
||||
public SlmEntryView EntryStatus { get; } = new SlmEntryView() { LabelText = "Status" };
|
||||
public SlmDatePickerView DatePickerInProgressDate { get; } = new SlmDatePickerView() { LabelText = "In progress" };
|
||||
public SlmDatePickerView DatePickerCompletedDate { get; } = new SlmDatePickerView() { LabelText = "Completed" };
|
||||
// Notes.
|
||||
public SlmLabel LabelNotes { get; } = new SlmLabel() { Text = "Notes" };
|
||||
public SlmEditorView EntryNotes { get; } = new SlmEditorView();
|
||||
public SlmEditorView EditorNotes { get; } = new SlmEditorView() { LabelText = "Notes" };
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
@@ -144,7 +113,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
EntryReference.Text = data.MovementRef;
|
||||
DatePickerInProgressDate.Date = data.InProgressAt;
|
||||
DatePickerCompletedDate.Date = data.CompletedAt;
|
||||
EntryNotes.Text = data.Notes;
|
||||
EditorNotes.Text = data.Notes;
|
||||
Changed = false;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
@@ -186,7 +155,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
EntryStatus.ReadOnly = ReadOnly;
|
||||
DatePickerInProgressDate.ReadOnly = ReadOnly;
|
||||
DatePickerCompletedDate.ReadOnly = ReadOnly;
|
||||
EntryNotes.ReadOnly = ReadOnly;
|
||||
EditorNotes.ReadOnly = ReadOnly;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
+9
-15
@@ -11,7 +11,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmComponents_AssetRepair : SlmComponents
|
||||
@@ -30,21 +30,15 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public String MessageTitle { get; set; } = "Asset Repair";
|
||||
// Controls.
|
||||
// Shipping Line company.
|
||||
public SlmLabel LabelCompany { get; } = new SlmLabel() { Text = "Shipping line" };
|
||||
public SlmPickerView_Companies PickerCompany { get; } = new SlmPickerView_Companies() { CompanyType = Slm.CompanyType.ContainerLine };
|
||||
// Asset Code.
|
||||
public SlmLabel LabelAssetCode { get; } = new SlmLabel() { Text = "Container no." };
|
||||
public SlmEntryView EntryAssetCode { get; } = new SlmEntryView();
|
||||
// Asset Size.
|
||||
public SlmLabel LabelAssetSize { get; } = new SlmLabel() { Text = "Size" };
|
||||
public SlmPickerView_CodeType PickerAssetSize { get; } = new SlmPickerView_CodeType() { CodeType = Slm.CodeType.ContainerSize };
|
||||
// Repair Narrative.
|
||||
public SlmLabel LabelRepairNarrative { get; } = new SlmLabel() { Text = "Narrative" };
|
||||
public SlmEntryView EntryRepairNarrative { get; } = new SlmEntryView();
|
||||
// Repair Inspector.
|
||||
public SlmLabel LabelRepairInspector { get; } = new SlmLabel() { Text = "Inspector" };
|
||||
public SlmEntryView EntryRepairInspector { get; } = new SlmEntryView();
|
||||
public SlmPickerView_Companies PickerCompany { get; } = new SlmPickerView_Companies() { LabelText = "Shipping line", CompanyType = Slm.CompanyType.ContainerLine };
|
||||
// Asset.
|
||||
public SlmEntryView EntryAssetCode { get; } = new SlmEntryView() { LabelText = "Container no." };
|
||||
public SlmPickerView_CodeType PickerAssetSize { get; } = new SlmPickerView_CodeType() { LabelText = "Size", CodeType = Slm.CodeType.ContainerSize };
|
||||
// Repair.
|
||||
public SlmEntryView EntryRepairNarrative { get; } = new SlmEntryView() { LabelText = "Narrative" };
|
||||
public SlmEntryView EntryRepairInspector { get; } = new SlmEntryView() { LabelText = "Inspector" };
|
||||
// Repair Authorisation type.
|
||||
public Slm.AssetRepairAuthoriseType RepairAuthoriseType
|
||||
{
|
||||
+2
-4
@@ -7,14 +7,13 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmComponents_AssetRepairImage : SlmComponents
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private SlmSessionProfile_Mobile sessionProfile = SlmGlobals_Mobile.SessionProfile;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
@@ -26,8 +25,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
// Filename.
|
||||
public SlmLabel LabelFilename { get; } = new SlmLabel() { Text = "Filename" };
|
||||
public SlmEntryView EntryFilename { get; } = new SlmEntryView();
|
||||
public SlmEntryView EntryFilename { get; } = new SlmEntryView() { LabelText = "Filename" };
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
+6
-12
@@ -10,7 +10,7 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmComponents_AssetRepairJob : SlmComponents
|
||||
@@ -20,7 +20,6 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private SlmSessionProfile_Mobile sessionProfile = SlmGlobals_Mobile.SessionProfile;
|
||||
private static readonly int codeEntryWidth = 48;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -33,24 +32,19 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Components
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
// Location code.
|
||||
public SlmLabel LabelLocation { get; } = new SlmLabel() { Text = "Location" };
|
||||
public SlmEntryView EntryLocation { get; } = new SlmEntryView();
|
||||
public SlmEntryView EntryLocation { get; } = new SlmEntryView() { LabelText = "Location" };
|
||||
public SlmPickerView_CodeType PickerLocation { get; } = new SlmPickerView_CodeType() { CodeType = Slm.CodeType.AssetRepair_Location };
|
||||
// Component code.
|
||||
public SlmLabel LabelComponent { get; } = new SlmLabel() { Text = "Component" };
|
||||
public SlmEntryView EntryComponent { get; } = new SlmEntryView();
|
||||
public SlmEntryView EntryComponent { get; } = new SlmEntryView() { LabelText = "Component" };
|
||||
public SlmPickerView_CodeType PickerComponent { get; } = new SlmPickerView_CodeType() { CodeType = Slm.CodeType.AssetRepair_Component };
|
||||
// Damage code.
|
||||
public SlmLabel LabelDamage { get; } = new SlmLabel() { Text = "Damage" };
|
||||
public SlmEntryView EntryDamage { get; } = new SlmEntryView();
|
||||
public SlmEntryView EntryDamage { get; } = new SlmEntryView() { LabelText = "Damage" };
|
||||
public SlmPickerView_CodeType PickerDamage { get; } = new SlmPickerView_CodeType() { CodeType = Slm.CodeType.AssetRepair_Damage };
|
||||
// Repair code.
|
||||
public SlmLabel LabelRepair { get; } = new SlmLabel() { Text = "Repair" };
|
||||
public SlmEntryView EntryRepair { get; } = new SlmEntryView();
|
||||
public SlmEntryView EntryRepair { get; } = new SlmEntryView() { LabelText = "Repair" };
|
||||
public SlmPickerView_CodeType PickerRepair { get; } = new SlmPickerView_CodeType() { CodeType = Slm.CodeType.AssetRepair_Repair };
|
||||
// Quantity.
|
||||
public SlmLabel LabelQuantity { get; } = new SlmLabel() { Text = "Quantity" };
|
||||
public SlmEntryView EntryQuantity { get; } = new SlmEntryView();
|
||||
public SlmEntryView EntryQuantity { get; } = new SlmEntryView() { LabelText = "Quantity" };
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Mobile.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Controls;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components.Bulk
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmComponents_Berthing : SlmComponents
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private SlmSessionProfile_Mobile sessionProfile = SlmGlobals_Mobile.SessionProfile;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmComponents_Berthing ()
|
||||
{
|
||||
InitialiseComponents();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
// Vessel.
|
||||
public SlmPickerView PickerVessel { get; } = new SlmPickerView() { LabelText = "Vessel", ReadOnly = true };
|
||||
// Berthing.
|
||||
public SlmPickerView PickerAgent { get; } = new SlmPickerView() { LabelText = "Agent", ReadOnly = true };
|
||||
public SlmPickerView PickerCustomer { get; } = new SlmPickerView() { LabelText = "Customer", ReadOnly = true };
|
||||
// Notes.
|
||||
public SlmEditorView EditorNotes { get; } = new SlmEditorView() { LabelText = "Notes" };
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
//-------------------------------------------------------------------
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Control events.
|
||||
PickerVessel.SelectedIndexChanged += PickerVessel_SelectedIndexChanged;
|
||||
PickerAgent.SelectedIndexChanged += PickerAgent_SelectedIndexChanged;
|
||||
PickerCustomer.SelectedIndexChanged += PickerCustomer_SelectedIndexChanged;
|
||||
EditorNotes.TextChanged += EditorNotes_TextChanged;
|
||||
EditorNotes.Completed += EditorNotes_Completed;
|
||||
|
||||
Changed = false;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P o p u l a t i o n
|
||||
//-------------------------------------------------------------------
|
||||
public void PopulateToControls (SlmVessel.Data data)
|
||||
{
|
||||
Changed = false;
|
||||
}
|
||||
public void PopulateToControls (SlmBerthing.Data data)
|
||||
{
|
||||
EditorNotes.Text = data.Notes;
|
||||
Changed = false;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
public bool IsDataValid (SlmAssetMovement.Data data)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
public void PopulateFromControls (SlmAssetMovement.Data data)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n t r o l A c t i v i t y
|
||||
//-------------------------------------------------------------------
|
||||
protected override void SetControlActivity ()
|
||||
{
|
||||
SetControlsReadOnly();
|
||||
}
|
||||
protected override void SetControlsReadOnly ()
|
||||
{
|
||||
PickerVessel.ReadOnly = true;
|
||||
PickerAgent.ReadOnly = ReadOnly;
|
||||
PickerCustomer.ReadOnly = ReadOnly;
|
||||
EditorNotes.ReadOnly = ReadOnly;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n t r o l E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
private void PickerVessel_SelectedIndexChanged (object sender, EventArgs e)
|
||||
{
|
||||
Changed = true;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private void PickerAgent_SelectedIndexChanged (object sender, EventArgs e)
|
||||
{
|
||||
Changed = true;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private void PickerCustomer_SelectedIndexChanged (object sender, EventArgs e)
|
||||
{
|
||||
Changed = true;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private void EditorNotes_TextChanged (object sender, TextChangedEventArgs e)
|
||||
{
|
||||
}
|
||||
private void EditorNotes_Completed (object sender, EventArgs e)
|
||||
{
|
||||
Changed = true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
+107
@@ -0,0 +1,107 @@
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Controls;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Components.Bulk
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmComponents_BerthingTask : SlmComponents
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private SlmSessionProfile_Mobile sessionProfile = SlmGlobals_Mobile.SessionProfile;
|
||||
private readonly List<TypeCodeDesc> berthingTaskTypes;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmComponents_BerthingTask()
|
||||
{
|
||||
berthingTaskTypes = SlmSystem.GetCodesOfType(Slm.SystemCode.BerthingTaskType);
|
||||
InitialiseComponents();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
// Controls.
|
||||
public SlmPickerView_SystemCodes PickerTaskType { get; } = new SlmPickerView_SystemCodes(Slm.SystemCode.BerthingTaskType) { LabelText = "Task type" };
|
||||
public SlmDatePickerView DatePickerStarted { get; } = new SlmDatePickerView() { LabelText = "Started" };
|
||||
public SlmDatePickerView DatePickerCompleted { get; } = new SlmDatePickerView() { LabelText = "Completed" };
|
||||
public SlmEditorView EntryRemarks { get; } = new SlmEditorView() { LabelText = "Remarks" };
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Utilities.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
//-------------------------------------------------------------------
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Filename.
|
||||
EntryRemarks.MaxLength = (int)SlmDbDfn.GetColTextLen(SlmDbDfn.ColumnIdx.BerthingTask_Remarks);
|
||||
EntryRemarks.TextChanged += EntryRemarks_TextChanged;
|
||||
EntryRemarks.Completed += EntryRemarks_Completed;
|
||||
|
||||
Changed = false;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P o p u l a t i o n
|
||||
//-------------------------------------------------------------------
|
||||
public void PopulateToControls (SlmBerthingTask.Data data)
|
||||
{
|
||||
PickerTaskType.SelectedCode = berthingTaskTypes.GetCodeForType((int)data.BerthingTaskType);
|
||||
DatePickerStarted.Date = data.Started;
|
||||
DatePickerCompleted.Date = data.Completed;
|
||||
EntryRemarks.Text = data.Remarks;
|
||||
Changed = false;
|
||||
}
|
||||
public bool IsDataValid (SlmBerthingTask.Data data)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
public void PopulateFromControls (SlmBerthingTask.Data data)
|
||||
{
|
||||
data.BerthingTaskType = (Slm.BerthingTaskType)berthingTaskTypes.GetTypeForCode(PickerTaskType.SelectedCode);
|
||||
data.Started = DatePickerStarted.Date;
|
||||
data.Completed = DatePickerCompleted.Date;
|
||||
data.Remarks = EntryRemarks.Text;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n t r o l A c t i v i t y
|
||||
//-------------------------------------------------------------------
|
||||
protected override void SetControlActivity ()
|
||||
{
|
||||
SetControlsReadOnly();
|
||||
}
|
||||
protected override void SetControlsReadOnly ()
|
||||
{
|
||||
PickerTaskType.ReadOnly = ReadOnly;
|
||||
DatePickerStarted.ReadOnly = ReadOnly;
|
||||
DatePickerCompleted.ReadOnly = ReadOnly;
|
||||
EntryRemarks.ReadOnly = ReadOnly;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n t r o l E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
// Filename.
|
||||
private void EntryRemarks_TextChanged (object sender, TextChangedEventArgs e)
|
||||
{
|
||||
}
|
||||
private void EntryRemarks_Completed (object sender, EventArgs e)
|
||||
{
|
||||
Changed = true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
-271
@@ -1,271 +0,0 @@
|
||||
using Sarand.Core.App;
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.Core.Bus;
|
||||
using Sarand.Core.Tasks;
|
||||
using Sarand.Core.Xml;
|
||||
using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Effects;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmPage_Assets_Movement : SlmFormPage
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
public new class Config : SlmFormPage.Config
|
||||
{
|
||||
public SlmAssetMovement AssetMovementToUpdate { get; set; }
|
||||
public SlmContainer AssetMovement_Container { get; set; }
|
||||
}
|
||||
private class AssetMovementData
|
||||
{
|
||||
public Slm.AssetItemType AssetItemType { get; set; }
|
||||
public SysId AssetItemId { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly Config config;
|
||||
private readonly AssetMovementData assetMovementData = new AssetMovementData();
|
||||
private SlmGrid gridProperties = new SlmGrid();
|
||||
private SlmComponents_AssetMovement assetMovementComponents = new SlmComponents_AssetMovement();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmPage_Assets_Movement (Config config) : base(config)
|
||||
{
|
||||
this.config = config;
|
||||
Title = "Asset Movement";
|
||||
AddMode = config.AssetMovementToUpdate == null;
|
||||
if (config.ReadOnly)
|
||||
{
|
||||
assetMovementComponents.ReadOnly = true;
|
||||
}
|
||||
InitialiseComponents();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
//-------------------------------------------------------------------
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Asset Repair form.
|
||||
FormBodyView.Content = gridProperties;
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
int rowIdx = -1;
|
||||
|
||||
// Asset code.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelAssetCode, 0, rowIdx);
|
||||
//entryAssetCode.Effects.Add(new InputCaseEffect());
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryAssetCode, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryAssetCode, 2);
|
||||
assetMovementComponents.EntryAssetCode.TextChanged += EntryAssetCode_TextChanged;
|
||||
assetMovementComponents.EntryAssetCode.Completed += EntryAssetCode_Completed;
|
||||
|
||||
// Asset Size.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelAssetSize, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.PickerAssetSize, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.PickerAssetSize, 2);
|
||||
|
||||
// Movement type.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelMovementType, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.PickerMovementType, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.PickerMovementType, 2);
|
||||
|
||||
// Reference.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelReference, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryReference, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryReference, 2);
|
||||
|
||||
// Movement date.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelMovementDate, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.DatePickerMovementDate, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.DatePickerMovementDate, 2);
|
||||
|
||||
// Customer.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelCustomer, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryCustomer, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryCustomer, 2);
|
||||
|
||||
// CustomerReference.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelCustomerReference, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryCustomerReference, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryCustomerReference, 2);
|
||||
|
||||
// LocationStart.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelLocationStart, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryLocationStart, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryLocationStart, 2);
|
||||
|
||||
// LocationCurrent.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelLocationCurrent, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryLocationCurrent, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryLocationCurrent, 2);
|
||||
|
||||
// LocationFinish.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelLocationFinish, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryLocationFinish, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryLocationFinish, 2);
|
||||
|
||||
// HaulierInitial.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelHaulierInitial, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryHaulierInitial, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryHaulierInitial, 2);
|
||||
|
||||
// RegistrationInitial.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelRegistrationInitial, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryRegistrationInitial, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryRegistrationInitial, 2);
|
||||
|
||||
// HaulierFinal.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelHaulierFinal, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryHaulierFinal, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryHaulierFinal, 2);
|
||||
|
||||
// RegistrationFinal.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelRegistrationFinal, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryRegistrationFinal, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryRegistrationFinal, 2);
|
||||
|
||||
// PinNumber.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelPinNumber, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryPinNumber, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryPinNumber, 2);
|
||||
|
||||
// SealNumber.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelSealNumber, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntrySealNumber, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntrySealNumber, 2);
|
||||
|
||||
// Status.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelStatus, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryStatus, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryStatus, 2);
|
||||
|
||||
// InProgress date.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelInProgressDate, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.DatePickerInProgressDate, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.DatePickerInProgressDate, 2);
|
||||
|
||||
// Completed date.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelCompletedDate, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.DatePickerCompletedDate, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.DatePickerCompletedDate, 2);
|
||||
|
||||
// Notes.
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetMovementComponents.LabelNotes, 0, rowIdx);
|
||||
gridProperties.Children.Add(assetMovementComponents.EntryNotes, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetMovementComponents.EntryNotes, 2);
|
||||
|
||||
// Complete page configuration.
|
||||
ConfigureComponents();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n f i g u r e C o n t r o l s
|
||||
//-------------------------------------------------------------------
|
||||
private void ConfigureComponents ()
|
||||
{
|
||||
// Populate properties to components.
|
||||
assetMovementComponents.PopulateToControls(config.AssetMovement_Container?.GetData() ?? new SlmContainer.Data());
|
||||
assetMovementComponents.PopulateToControls(config.AssetMovementToUpdate?.GetData() ?? new SlmAssetMovement.Data());
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n t r o l A c t i v i t y
|
||||
//-------------------------------------------------------------------
|
||||
protected override void SetControlActivity ()
|
||||
{
|
||||
base.SetControlActivity();
|
||||
}
|
||||
protected override void SetControlsReadOnly ()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// N a v i g a t i o n E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
protected override bool SaveFormData ()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
protected override bool QueryCancelForm ()
|
||||
{
|
||||
if (!base.QueryCancelForm()) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P r o p e r t y E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
// Asset code.
|
||||
private void EntryAssetCode_TextChanged (object sender, TextChangedEventArgs e)
|
||||
{
|
||||
}
|
||||
private void EntryAssetCode_Completed (object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
+234
@@ -0,0 +1,234 @@
|
||||
using Sarand.Core.App;
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.Core.Bus;
|
||||
using Sarand.Core.Tasks;
|
||||
using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components.Assets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmFormPage_Assets_Movement : SlmFormPage
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
public new class Config : SlmFormPage.Config
|
||||
{
|
||||
public SysId AssetMovementIdToUpdate { get; set; }
|
||||
}
|
||||
private class AssetMovementData
|
||||
{
|
||||
public Slm.AssetItemType AssetItemType { get; set; }
|
||||
public SysId AssetItemId { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly Config config;
|
||||
private readonly AssetMovementData assetMovementData = new AssetMovementData();
|
||||
private SlmGrid gridProperties = new SlmGrid();
|
||||
private SlmComponents_AssetMovement assetMovementComponents = new SlmComponents_AssetMovement();
|
||||
// Data to view/update.
|
||||
public SlmAssetMovement assetMovementToUpdate { get; set; }
|
||||
public SlmContainer assetMovement_Container { get; set; }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmFormPage_Assets_Movement (Config config) : base(config)
|
||||
{
|
||||
this.config = config;
|
||||
Title = "Asset Movement";
|
||||
AddMode = !SysId.IsValid(config.AssetMovementIdToUpdate);
|
||||
if (config.ReadOnly)
|
||||
{
|
||||
assetMovementComponents.ReadOnly = true;
|
||||
}
|
||||
PrepareFormData();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P r e p a r a t i o n
|
||||
//-------------------------------------------------------------------
|
||||
private SacsTaskData taskDataPrepareData = new SacsTaskData(null);
|
||||
private void PrepareFormData ()
|
||||
{
|
||||
String fn = GetType().Name+".PrepareFormData";
|
||||
if (!SysId.IsValid(config.AssetMovementIdToUpdate)) return;
|
||||
|
||||
// Form is initialised on separate thread while data is retrieved from the service.
|
||||
// 'Please wait' message is displayed during preparation.
|
||||
// Any issue during preparation results in an alert message and the form is closed.
|
||||
FormBodyView.Content = new SlmLabel() { Text = DataPreparationMessage };
|
||||
Task.Run(async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
await PopulateAssetMovementData(taskDataPrepareData);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
if (SacsSystem.DebugMode) Logger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc));
|
||||
CloseFormWithAlert(nameof(exc) + " on form initialisation.\n\n" + exc.Message);
|
||||
}
|
||||
}, taskDataPrepareData.CancellationToken)
|
||||
.ContinueWith(task =>
|
||||
{
|
||||
taskDataPrepareData.Dispose();
|
||||
});
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private async Task PopulateAssetMovementData (SacsTaskData taskDataPrepareData_Local)
|
||||
{
|
||||
String fn = GetType().Name + ".PopulateAssetMovementData";
|
||||
|
||||
// Retrieve Asset Movement and associated details.
|
||||
try
|
||||
{
|
||||
// Retrieve Asset Movement.
|
||||
SlmAssetMovement.Params prmAssetMovement = new SlmAssetMovement.Params();
|
||||
prmAssetMovement.IncludedIds.Add(config.AssetMovementIdToUpdate);
|
||||
prmAssetMovement.StatusCat = SlmAssetMovement.StatusCat.Any;
|
||||
assetMovementToUpdate = await AssetMgr.GetAssetMovement_Mobile(prmAssetMovement, taskDataPrepareData_Local);
|
||||
// Retrieve Container.
|
||||
if (assetMovementToUpdate != null)
|
||||
{
|
||||
if (assetMovementToUpdate.AssetItemType == Slm.AssetItemType.Container)
|
||||
{
|
||||
SlmContainer.Params prmContainer = new SlmContainer.Params();
|
||||
prmContainer.IncludedIds.Add(assetMovementToUpdate.AssetItemId);
|
||||
prmContainer.StatusCat = SlmContainer.StatusCat.Any;
|
||||
assetMovement_Container = await AssetMgr.GetContainer_Mobile(prmContainer, taskDataPrepareData_Local);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc) { Logger.Debug(fn + " " + exc.GetLogMessage(6)); }
|
||||
if (assetMovementToUpdate == null)
|
||||
{
|
||||
CloseFormWithAlert("Failed to retrieve Asset movement data.");
|
||||
return;
|
||||
}
|
||||
if (assetMovementToUpdate.AssetItemType == Slm.AssetItemType.Container)
|
||||
{
|
||||
if (assetMovement_Container == null)
|
||||
{
|
||||
CloseFormWithAlert("Failed to retrieve Container data.");
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
CloseFormWithAlert("Unrecognised asset type: " + assetMovementToUpdate.AssetItemType.ToString() + ".");
|
||||
return;
|
||||
}
|
||||
if (taskDataPrepareData_Local.IsCancellationRequested) return;
|
||||
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
// Initialise form.
|
||||
InitialiseComponents();
|
||||
});
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
//-------------------------------------------------------------------
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Asset Repair form.
|
||||
FormBodyView.Content = gridProperties;
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Asset.
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryAssetCode);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.PickerAssetSize);
|
||||
|
||||
// Movement.
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.PickerMovementType);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryReference);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.DatePickerMovementDate);
|
||||
|
||||
// Customer.
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryCustomer);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryCustomerReference);
|
||||
|
||||
// Location.
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryLocationStart);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryLocationCurrent);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryLocationFinish);
|
||||
|
||||
// Haulier & Registration.
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryHaulierInitial);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryRegistrationInitial);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryHaulierFinal);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryRegistrationFinal);
|
||||
|
||||
// Numbers.
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryPinNumber);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntrySealNumber);
|
||||
|
||||
// Status.
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EntryStatus);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.DatePickerInProgressDate);
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.DatePickerCompletedDate);
|
||||
|
||||
// Notes.
|
||||
AddControlViewToGrid(gridProperties, assetMovementComponents.EditorNotes);
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Populate properties to components.
|
||||
assetMovementComponents.PopulateToControls(assetMovement_Container?.GetData() ?? new SlmContainer.Data());
|
||||
assetMovementComponents.PopulateToControls(assetMovementToUpdate?.GetData() ?? new SlmAssetMovement.Data());
|
||||
|
||||
// Complete page configuration.
|
||||
SetControlActivity();
|
||||
Changed = false;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n t r o l A c t i v i t y
|
||||
//-------------------------------------------------------------------
|
||||
protected override void SetControlActivity ()
|
||||
{
|
||||
base.SetControlActivity();
|
||||
}
|
||||
protected override void SetControlsReadOnly ()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// N a v i g a t i o n E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
protected override bool SaveFormData ()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
protected override bool QueryCancelForm ()
|
||||
{
|
||||
if (!base.QueryCancelForm()) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P r o p e r t y E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
+23
-45
@@ -7,8 +7,7 @@ using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Effects;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -18,10 +17,10 @@ using System.Threading.Tasks;
|
||||
using System.Xml.Linq;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmPage_Assets_Repair : SlmFormPage
|
||||
public class SlmFormPage_Assets_Repair : SlmFormPage
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
@@ -40,7 +39,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
// Data members.
|
||||
private readonly Config config;
|
||||
private readonly AssetRepairData assetRepairData = new AssetRepairData();
|
||||
private SlmGrid gridRepairProperties = new SlmGrid();
|
||||
private SlmGrid gridProperties = new SlmGrid();
|
||||
private SlmComponents_AssetRepair assetRepairComponents = new SlmComponents_AssetRepair();
|
||||
private SlmPanel_AssetMovement_SearchResults assetSearchResultsWebView = new SlmPanel_AssetMovement_SearchResults() { IsVisible = false, };
|
||||
private SlmPanel_AssetRepair_Jobs repairJobsPanel;
|
||||
@@ -48,7 +47,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmPage_Assets_Repair (Config config) : base(config)
|
||||
public SlmFormPage_Assets_Repair (Config config) : base(config)
|
||||
{
|
||||
this.config = config;
|
||||
AddMode = (config.AssetRepairToUpdate == null);
|
||||
@@ -66,35 +65,26 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Asset Repair form.
|
||||
FormBodyView.Content = gridRepairProperties;
|
||||
gridRepairProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridRepairProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridRepairProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
FormBodyView.Content = gridProperties;
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
int rowIdx = -1;
|
||||
|
||||
// Shipping line company.
|
||||
rowIdx = gridRepairProperties.RowDefinitions.Count;
|
||||
gridRepairProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.LabelCompany, 0, rowIdx);
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.PickerCompany, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetRepairComponents.PickerCompany, 2);
|
||||
AddControlViewToGrid(gridProperties, assetRepairComponents.PickerCompany);
|
||||
assetRepairComponents.PickerCompany.Populated += PickerCompany_Populated;
|
||||
assetRepairComponents.PickerCompany.SelectedIndexChanged += PickerCompany_SelectedIndexChanged;
|
||||
|
||||
// Asset code.
|
||||
rowIdx = gridRepairProperties.RowDefinitions.Count;
|
||||
gridRepairProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.LabelAssetCode, 0, rowIdx);
|
||||
//entryAssetCode.Effects.Add(new InputCaseEffect());
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.EntryAssetCode, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetRepairComponents.EntryAssetCode, 2);
|
||||
AddControlViewToGrid(gridProperties, assetRepairComponents.EntryAssetCode);
|
||||
assetRepairComponents.EntryAssetCode.TextChanged += EntryAssetCode_TextChanged;
|
||||
assetRepairComponents.EntryAssetCode.Completed += EntryAssetCode_Completed;
|
||||
|
||||
// Asset search results view.
|
||||
rowIdx = gridRepairProperties.RowDefinitions.Count;
|
||||
gridRepairProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairProperties.Children.Add(assetSearchResultsWebView, 0, rowIdx);
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(assetSearchResultsWebView, 0, rowIdx);
|
||||
Grid.SetColumnSpan(assetSearchResultsWebView, 3);
|
||||
assetSearchResultsWebView.ColumnsToDisplay.AddRange(new List<ColumnDfn>()
|
||||
{
|
||||
@@ -107,42 +97,30 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
assetSearchResultsWebView.AssetMovementSelected += AssetSearchResultsWebView_AssetMovementSelected;
|
||||
|
||||
// Asset Size.
|
||||
rowIdx = gridRepairProperties.RowDefinitions.Count;
|
||||
gridRepairProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.LabelAssetSize, 0, rowIdx);
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.PickerAssetSize, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetRepairComponents.PickerAssetSize, 2);
|
||||
AddControlViewToGrid(gridProperties, assetRepairComponents.PickerAssetSize);
|
||||
|
||||
// Repair Narrative.
|
||||
rowIdx = gridRepairProperties.RowDefinitions.Count;
|
||||
gridRepairProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.LabelRepairNarrative, 0, rowIdx);
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.EntryRepairNarrative, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetRepairComponents.EntryRepairNarrative, 2);
|
||||
AddControlViewToGrid(gridProperties, assetRepairComponents.EntryRepairNarrative);
|
||||
|
||||
// Repair Inspector.
|
||||
rowIdx = gridRepairProperties.RowDefinitions.Count;
|
||||
gridRepairProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.LabelRepairInspector, 0, rowIdx);
|
||||
gridRepairProperties.Children.Add(assetRepairComponents.EntryRepairInspector, 1, rowIdx);
|
||||
Grid.SetColumnSpan(assetRepairComponents.EntryRepairInspector, 2);
|
||||
AddControlViewToGrid(gridProperties, assetRepairComponents.EntryRepairInspector);
|
||||
|
||||
// Jobs panel.
|
||||
SlmPanel_AssetRepair_Jobs.Config jobsPanelConfig = new SlmPanel_AssetRepair_Jobs.Config();
|
||||
jobsPanelConfig.AssetRepairPage = this;
|
||||
repairJobsPanel = new SlmPanel_AssetRepair_Jobs(jobsPanelConfig);
|
||||
rowIdx = gridRepairProperties.RowDefinitions.Count;
|
||||
gridRepairProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairProperties.Children.Add(repairJobsPanel, 0, rowIdx);
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(repairJobsPanel, 0, rowIdx);
|
||||
Grid.SetColumnSpan(repairJobsPanel, 3);
|
||||
|
||||
// Images panel.
|
||||
SlmPanel_AssetRepair_Images.Config imagesPanelConfig = new SlmPanel_AssetRepair_Images.Config();
|
||||
imagesPanelConfig.AssetRepairPage = this;
|
||||
repairImagesPanel = new SlmPanel_AssetRepair_Images(imagesPanelConfig);
|
||||
rowIdx = gridRepairProperties.RowDefinitions.Count;
|
||||
gridRepairProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairProperties.Children.Add(repairImagesPanel, 0, rowIdx);
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(repairImagesPanel, 0, rowIdx);
|
||||
Grid.SetColumnSpan(repairImagesPanel, 3);
|
||||
}
|
||||
|
||||
+11
-16
@@ -5,8 +5,7 @@ using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Effects;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -15,10 +14,10 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmPage_Assets_RepairImage : SlmFormPage
|
||||
public class SlmFormPage_Assets_RepairImage : SlmFormPage
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
@@ -36,12 +35,12 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
// Data members.
|
||||
private readonly Config config;
|
||||
private SlmAssetRepairImage.Data newRepairImageData = null;
|
||||
private SlmGrid gridRepairImageProperties = new SlmGrid();
|
||||
private SlmGrid gridProperties = new SlmGrid();
|
||||
private SlmComponents_AssetRepairImage repairImageComponents = new SlmComponents_AssetRepairImage();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmPage_Assets_RepairImage (Config config) : base(config)
|
||||
public SlmFormPage_Assets_RepairImage (Config config) : base(config)
|
||||
{
|
||||
this.config = config;
|
||||
AddMode = (config.AssetRepairImageToUpdate == null);
|
||||
@@ -59,19 +58,15 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Asset Repair form.
|
||||
FormBodyView.Content = gridRepairImageProperties;
|
||||
gridRepairImageProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridRepairImageProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridRepairImageProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridRepairImageProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
FormBodyView.Content = gridProperties;
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
int rowIdx = -1;
|
||||
|
||||
// Filename.
|
||||
rowIdx = gridRepairImageProperties.RowDefinitions.Count;
|
||||
gridRepairImageProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairImageProperties.Children.Add(repairImageComponents.LabelFilename, 0, rowIdx);
|
||||
gridRepairImageProperties.Children.Add(repairImageComponents.EntryFilename, 1, rowIdx);
|
||||
Grid.SetColumnSpan(repairImageComponents.EntryFilename, 2);
|
||||
AddControlViewToGrid(gridProperties, repairImageComponents.EntryFilename);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
+31
-36
@@ -5,8 +5,7 @@ using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Effects;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -15,10 +14,10 @@ using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmPage_Assets_RepairJob : SlmFormPage
|
||||
public class SlmFormPage_Assets_RepairJob : SlmFormPage
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
@@ -36,12 +35,12 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
// Data members.
|
||||
private readonly Config config;
|
||||
private SlmAssetRepairJob.Data newRepairJobData = null;
|
||||
private SlmGrid gridRepairJobProperties = new SlmGrid();
|
||||
private SlmGrid gridProperties = new SlmGrid();
|
||||
private SlmComponents_AssetRepairJob repairJobComponents = new SlmComponents_AssetRepairJob();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmPage_Assets_RepairJob (Config config) : base(config)
|
||||
public SlmFormPage_Assets_RepairJob (Config config) : base(config)
|
||||
{
|
||||
this.config = config;
|
||||
AddMode = (config.AssetRepairJobToUpdate == null);
|
||||
@@ -63,51 +62,47 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Asset Repair form.
|
||||
FormBodyView.Content = gridRepairJobProperties;
|
||||
gridRepairJobProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridRepairJobProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridRepairJobProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridRepairJobProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
FormBodyView.Content = gridProperties;
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
int rowIdx = -1;
|
||||
|
||||
// Location.
|
||||
rowIdx = gridRepairJobProperties.RowDefinitions.Count;
|
||||
gridRepairJobProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.LabelLocation, 0, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.EntryLocation, 1, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.PickerLocation, 2, rowIdx);
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(repairJobComponents.EntryLocation.Label, 0, rowIdx);
|
||||
gridProperties.Children.Add(repairJobComponents.EntryLocation, 1, rowIdx);
|
||||
gridProperties.Children.Add(repairJobComponents.PickerLocation, 2, rowIdx);
|
||||
Grid.SetColumnSpan(repairJobComponents.PickerLocation, 2);
|
||||
|
||||
// Component.
|
||||
rowIdx = gridRepairJobProperties.RowDefinitions.Count;
|
||||
gridRepairJobProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.LabelComponent, 0, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.EntryComponent, 1, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.PickerComponent, 2, rowIdx);
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(repairJobComponents.EntryComponent.Label, 0, rowIdx);
|
||||
gridProperties.Children.Add(repairJobComponents.EntryComponent, 1, rowIdx);
|
||||
gridProperties.Children.Add(repairJobComponents.PickerComponent, 2, rowIdx);
|
||||
Grid.SetColumnSpan(repairJobComponents.PickerComponent, 2);
|
||||
|
||||
// Damage.
|
||||
rowIdx = gridRepairJobProperties.RowDefinitions.Count;
|
||||
gridRepairJobProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.LabelDamage, 0, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.EntryDamage, 1, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.PickerDamage, 2, rowIdx);
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(repairJobComponents.EntryDamage.Label, 0, rowIdx);
|
||||
gridProperties.Children.Add(repairJobComponents.EntryDamage, 1, rowIdx);
|
||||
gridProperties.Children.Add(repairJobComponents.PickerDamage, 2, rowIdx);
|
||||
Grid.SetColumnSpan(repairJobComponents.PickerDamage, 2);
|
||||
|
||||
// Repair.
|
||||
rowIdx = gridRepairJobProperties.RowDefinitions.Count;
|
||||
gridRepairJobProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.LabelRepair, 0, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.EntryRepair, 1, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.PickerRepair, 2, rowIdx);
|
||||
rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(repairJobComponents.EntryRepair.Label, 0, rowIdx);
|
||||
gridProperties.Children.Add(repairJobComponents.EntryRepair, 1, rowIdx);
|
||||
gridProperties.Children.Add(repairJobComponents.PickerRepair, 2, rowIdx);
|
||||
Grid.SetColumnSpan(repairJobComponents.PickerRepair, 2);
|
||||
|
||||
// Quantity.
|
||||
rowIdx = gridRepairJobProperties.RowDefinitions.Count;
|
||||
gridRepairJobProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.LabelQuantity, 0, rowIdx);
|
||||
gridRepairJobProperties.Children.Add(repairJobComponents.EntryQuantity, 1, rowIdx);
|
||||
Grid.SetColumnSpan(repairJobComponents.EntryQuantity, 2);
|
||||
AddControlViewToGrid(gridProperties, repairJobComponents.EntryQuantity);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
+246
@@ -0,0 +1,246 @@
|
||||
using Sarand.Core.App;
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.Core.Bus;
|
||||
using Sarand.Core.Tasks;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components.Bulk;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Panels.Bulk;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Bulk
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmFormPage_Bulk_Berthing : SlmFormPage
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
public new class Config : SlmFormPage.Config
|
||||
{
|
||||
public SysId BerthingIdToUpdate { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly Config config;
|
||||
private SlmGrid gridProperties = new SlmGrid();
|
||||
private SlmComponents_Berthing berthingComponents = new SlmComponents_Berthing();
|
||||
private SlmPanel_Bulk_BerthingTasks berthingTasksPanel;
|
||||
// Data to view/update.
|
||||
private SlmBerthing BerthingToUpdate;
|
||||
private SlmVessel Berthing_Vessel;
|
||||
private SlmCompany Berthing_Company_Agent;
|
||||
private SlmCompany Berthing_Company_Customer;
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmFormPage_Bulk_Berthing (Config config) : base(config)
|
||||
{
|
||||
this.config = config;
|
||||
Title = "Bulk - Berthing";
|
||||
AddMode = !SysId.IsValid(config.BerthingIdToUpdate);
|
||||
if (config.ReadOnly)
|
||||
{
|
||||
berthingComponents.ReadOnly = true;
|
||||
}
|
||||
PrepareFormData();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SysId BerthingId { get { return BerthingToUpdate?.Id ?? new SysId(); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P r e p a r a t i o n
|
||||
//-------------------------------------------------------------------
|
||||
private SacsTaskData taskDataPrepareData = new SacsTaskData(null);
|
||||
private void PrepareFormData ()
|
||||
{
|
||||
String fn = GetType().Name+".PrepareFormData";
|
||||
if (!SysId.IsValid(config.BerthingIdToUpdate)) return;
|
||||
|
||||
// Form is initialised on separate thread while data is retrieved from the service.
|
||||
// 'Please wait' message is displayed during preparation.
|
||||
// Any issue during preparation results in an alert message and the form is closed.
|
||||
FormBodyView.Content = new SlmLabel() { Text = DataPreparationMessage };
|
||||
Task.Run(async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
await PopulateBerthingData(taskDataPrepareData);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
if (SacsSystem.DebugMode) Logger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc));
|
||||
CloseFormWithAlert(nameof(exc)+" on form initialisation.\n\n"+exc.Message);
|
||||
}
|
||||
}, taskDataPrepareData.CancellationToken)
|
||||
.ContinueWith(task =>
|
||||
{
|
||||
taskDataPrepareData.Dispose();
|
||||
});
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private async Task PopulateBerthingData (SacsTaskData taskDataPrepareData_Local)
|
||||
{
|
||||
String fn = GetType().Name + ".PopulateBerthingData";
|
||||
|
||||
// Retrieve Berthing and associated details.
|
||||
try
|
||||
{
|
||||
// Berthing filter.
|
||||
SlmBerthing_Mobile.Params prmBerthing = new SlmBerthing_Mobile.Params();
|
||||
prmBerthing.IncludedIds.Add(config.BerthingIdToUpdate);
|
||||
prmBerthing.StatusCat = SlmBerthing.StatusCat.Any;
|
||||
// Associated data item are retrieved at the same time to avoid multiple service requests.
|
||||
prmBerthing.IncludeVessel = true;
|
||||
prmBerthing.IncludeCompanies = true;
|
||||
|
||||
// Request config.
|
||||
SlmWebServiceRequest.Config requestConfig = new SlmWebServiceRequest.Config();
|
||||
requestConfig.RequestType = SlmWebServiceRequest.RequestType.Item;
|
||||
requestConfig.DataType = SlmWebServiceRequest.DataType.Berthing;
|
||||
requestConfig.Context.SiteDefinition = SessionContext.SiteDefinition;
|
||||
requestConfig.Context.User = UserContext.User.SecurityItemCode;
|
||||
requestConfig.Context.Email = UserContext.User.EmailAddress;
|
||||
requestConfig.Context.Debug = SacsSystem.DebugMode;
|
||||
|
||||
// Retrieve Berthing data.
|
||||
SlmWebServiceClient.ItemDataResponseData response =
|
||||
await WebServiceClient.RequestItemData(requestConfig, BerthingMgr.GetBerthingQueryFilter_Mobile(prmBerthing), taskDataPrepareData_Local);
|
||||
|
||||
// Populate berthing.
|
||||
BerthingToUpdate = BerthingMgr.CreateBerthing_Mobile(response.Item);
|
||||
|
||||
if (BerthingToUpdate != null)
|
||||
{
|
||||
// Retrieve Vessel.
|
||||
List<SlmWebServiceItemData> vesselItems = response.Item.ChildItems.GetValue("VesselList",null);
|
||||
SlmWebServiceItemData vesselItem = vesselItems?.Find(item=>item.GetIdValue(nameof(SlmVessel.Id)).Equals(BerthingToUpdate.VesselId)) ?? null;
|
||||
if (vesselItem != null)
|
||||
Berthing_Vessel = BerthingMgr.CreateVessel_Mobile(vesselItem);
|
||||
|
||||
// Retrieve Companies.
|
||||
List<SlmWebServiceItemData> companyItems = response.Item.ChildItems.GetValue("CompanyList",null);
|
||||
SlmWebServiceItemData companyItem_Agent = companyItems?.Find(item=>item.GetIdValue(nameof(SlmCompany.Id)).Equals(BerthingToUpdate.CompanyIdAgent)) ?? null;
|
||||
if (companyItem_Agent != null)
|
||||
Berthing_Company_Agent = AccountMgr.CreateCompany_Mobile(companyItem_Agent);
|
||||
SlmWebServiceItemData companyItem_Customer = companyItems?.Find(item=>item.GetIdValue(nameof(SlmCompany.Id)).Equals(BerthingToUpdate.CompanyIdCustomer)) ?? null;
|
||||
if (companyItem_Customer != null)
|
||||
Berthing_Company_Customer = AccountMgr.CreateCompany_Mobile(companyItem_Customer);
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception exc) { Logger.Debug(fn + " " + exc.GetLogMessage(6)); }
|
||||
if (BerthingToUpdate == null)
|
||||
{
|
||||
CloseFormWithAlert("Failed to retrieve Berthing data.");
|
||||
return;
|
||||
}
|
||||
if (Berthing_Vessel == null)
|
||||
{
|
||||
CloseFormWithAlert("Failed to retrieve Vessel data.");
|
||||
return;
|
||||
}
|
||||
if (SysId.IsValid(BerthingToUpdate.CompanyIdAgent) && Berthing_Company_Agent == null)
|
||||
{
|
||||
CloseFormWithAlert("Failed to retrieve Agent data.");
|
||||
return;
|
||||
}
|
||||
if (SysId.IsValid(BerthingToUpdate.CompanyIdCustomer) && Berthing_Company_Customer == null)
|
||||
{
|
||||
CloseFormWithAlert("Failed to retrieve Customer data.");
|
||||
return;
|
||||
}
|
||||
if (taskDataPrepareData_Local.IsCancellationRequested) return;
|
||||
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
// Initialise form.
|
||||
InitialiseComponents();
|
||||
});
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
//-------------------------------------------------------------------
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Asset Repair form.
|
||||
gridProperties.BackgroundColor = Color.Transparent;
|
||||
FormBodyView.Content = gridProperties;
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Vessel.
|
||||
AddControlViewToGrid(gridProperties, berthingComponents.PickerVessel);
|
||||
|
||||
// Companies.
|
||||
AddControlViewToGrid(gridProperties, berthingComponents.PickerAgent);
|
||||
AddControlViewToGrid(gridProperties, berthingComponents.PickerCustomer);
|
||||
|
||||
// Notes.
|
||||
AddControlViewToGrid(gridProperties, berthingComponents.EditorNotes);
|
||||
|
||||
// Tasks panel.
|
||||
SlmPanel_Bulk_BerthingTasks.Config berthingTasksPanelConfig = new SlmPanel_Bulk_BerthingTasks.Config();
|
||||
berthingTasksPanelConfig.BerthingForm = this;
|
||||
berthingTasksPanel = new SlmPanel_Bulk_BerthingTasks(berthingTasksPanelConfig);
|
||||
int rowIdx = gridProperties.RowDefinitions.Count;
|
||||
gridProperties.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
gridProperties.Children.Add(berthingTasksPanel, 0, rowIdx);
|
||||
Grid.SetColumnSpan(berthingTasksPanel, 3);
|
||||
|
||||
//---------------------------------------------------------------
|
||||
// Populate properties to components.
|
||||
berthingComponents.PopulateToControls(Berthing_Vessel?.GetData() ?? new SlmVessel.Data());
|
||||
berthingComponents.PopulateToControls(BerthingToUpdate?.GetData() ?? new SlmBerthing.Data());
|
||||
|
||||
// Complete page configuration.
|
||||
SetControlActivity();
|
||||
Changed = false;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n t r o l A c t i v i t y
|
||||
//-------------------------------------------------------------------
|
||||
protected override void SetControlActivity ()
|
||||
{
|
||||
base.SetControlActivity();
|
||||
}
|
||||
protected override void SetControlsReadOnly ()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// N a v i g a t i o n E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
protected override bool SaveFormData ()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
protected override bool QueryCancelForm ()
|
||||
{
|
||||
if (!base.QueryCancelForm()) return false;
|
||||
// Cancel data preparation - in case user has closed form during process.
|
||||
taskDataPrepareData.TriggerCancellation();
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P r o p e r t y E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
+123
@@ -0,0 +1,123 @@
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.Core.Bus;
|
||||
using Sarand.Core.Tasks;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components.Bulk;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Bulk
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmFormPage_Bulk_BerthingTask : SlmFormPage
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
public new class Config : SlmFormPage.Config
|
||||
{
|
||||
public Config (SysId berthingId)
|
||||
{
|
||||
BerthingId = berthingId;
|
||||
}
|
||||
public SysId BerthingId { get; set; }
|
||||
public SlmBerthingTask.Data BerthingTaskToUpdate { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly Config config;
|
||||
private SlmBerthingTask.Data newBerthingTaskData = null;
|
||||
private SlmGrid gridProperties = new SlmGrid();
|
||||
private SlmComponents_BerthingTask berthingTaskComponents = new SlmComponents_BerthingTask();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmFormPage_Bulk_BerthingTask (Config config) : base(config)
|
||||
{
|
||||
this.config = config;
|
||||
AddMode = (config.BerthingTaskToUpdate == null);
|
||||
Title = "Berthing Task";
|
||||
InitialiseComponents();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public SlmBerthingTask.Data NewBerthingTaskData { get { return newBerthingTaskData; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
//-------------------------------------------------------------------
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
// Asset Repair form.
|
||||
FormBodyView.Content = gridProperties;
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Star });
|
||||
gridProperties.ColumnDefinitions.Add(new ColumnDefinition { Width = GridLength.Auto });
|
||||
|
||||
// Controls.
|
||||
AddControlViewToGrid(gridProperties, berthingTaskComponents.PickerTaskType);
|
||||
AddControlViewToGrid(gridProperties, berthingTaskComponents.DatePickerStarted);
|
||||
AddControlViewToGrid(gridProperties, berthingTaskComponents.DatePickerCompleted);
|
||||
AddControlViewToGrid(gridProperties, berthingTaskComponents.EntryRemarks);
|
||||
|
||||
if (AddMode)
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
berthingTaskComponents.PopulateToControls(config.BerthingTaskToUpdate);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n f i g u r e C o n t r o l s
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n t r o l A c t i v i t y
|
||||
//-------------------------------------------------------------------
|
||||
protected override void SetControlActivity ()
|
||||
{
|
||||
SetControlsReadOnly();
|
||||
}
|
||||
protected override void SetControlsReadOnly ()
|
||||
{
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// N a v i g a t i o n E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
protected override bool SaveFormData ()
|
||||
{
|
||||
SlmBerthingTask.Data berthingTaskData = (AddMode ? new SlmBerthingTask.Data() : config.BerthingTaskToUpdate.Clone());
|
||||
berthingTaskComponents.PopulateFromControls(berthingTaskData);
|
||||
if (!berthingTaskComponents.IsDataValid(berthingTaskData))
|
||||
return false;
|
||||
if (AddMode)
|
||||
{
|
||||
newBerthingTaskData = berthingTaskData;
|
||||
}
|
||||
else
|
||||
{
|
||||
berthingTaskComponents.PopulateFromControls(config.BerthingTaskToUpdate);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
protected override bool QueryCancelForm ()
|
||||
{
|
||||
if (berthingTaskComponents.Changed) Changed = true;
|
||||
if (!base.QueryCancelForm()) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
+5
-5
@@ -1,7 +1,7 @@
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Panels;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
@@ -16,7 +16,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets
|
||||
// Definitions.
|
||||
public new class Config : SlmPanel_AssociatedItems.Config
|
||||
{
|
||||
public SlmPage_Assets_Repair AssetRepairPage { get; set; }
|
||||
public SlmFormPage_Assets_Repair AssetRepairPage { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -37,7 +37,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public List<SlmAssetRepairImage.Data> RepairImages => new List<SlmAssetRepairImage.Data>(repairImages);
|
||||
public List<SlmAssetRepairImage.Data> RepairImages { get { return new List<SlmAssetRepairImage.Data>(repairImages); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
@@ -86,8 +86,8 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets
|
||||
//-------------------------------------------------------------------
|
||||
protected async override void ButtonAddItem_Clicked (object sender, EventArgs e)
|
||||
{
|
||||
SlmPage_Assets_RepairImage.Config pageConfig = new SlmPage_Assets_RepairImage.Config(config.AssetRepairPage.CompanyId);
|
||||
SlmPage_Assets_RepairImage page = new SlmPage_Assets_RepairImage(pageConfig);
|
||||
SlmFormPage_Assets_RepairImage.Config pageConfig = new SlmFormPage_Assets_RepairImage.Config(config.AssetRepairPage.CompanyId);
|
||||
SlmFormPage_Assets_RepairImage page = new SlmFormPage_Assets_RepairImage(pageConfig);
|
||||
page.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
if (!page.Cancelled)
|
||||
|
||||
+7
-7
@@ -3,7 +3,7 @@ using Sarand.Core.Mobile.Utils;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Panels;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
@@ -18,7 +18,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets
|
||||
// Definitions.
|
||||
public new class Config : SlmPanel_AssociatedItems.Config
|
||||
{
|
||||
public SlmPage_Assets_Repair AssetRepairPage { get; set; }
|
||||
public SlmFormPage_Assets_Repair AssetRepairPage { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -39,7 +39,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public List<SlmAssetRepairJob.Data> RepairJobs => new List<SlmAssetRepairJob.Data>(repairJobs);
|
||||
public List<SlmAssetRepairJob.Data> RepairJobs { get { return new List<SlmAssetRepairJob.Data>(repairJobs); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
@@ -106,9 +106,9 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets
|
||||
buttonUpdate.Pressed += (sender, evt) =>
|
||||
{
|
||||
// Update job.
|
||||
SlmPage_Assets_RepairJob.Config pageConfig = new SlmPage_Assets_RepairJob.Config(config.AssetRepairPage.CompanyId);
|
||||
SlmFormPage_Assets_RepairJob.Config pageConfig = new SlmFormPage_Assets_RepairJob.Config(config.AssetRepairPage.CompanyId);
|
||||
pageConfig.AssetRepairJobToUpdate = repairJob;
|
||||
SlmPage_Assets_RepairJob page = new SlmPage_Assets_RepairJob(pageConfig);
|
||||
SlmFormPage_Assets_RepairJob page = new SlmFormPage_Assets_RepairJob(pageConfig);
|
||||
page.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
if (page.Cancelled) return;
|
||||
@@ -140,8 +140,8 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Assets
|
||||
//-------------------------------------------------------------------
|
||||
protected override void ButtonAddItem_Clicked (object sender, EventArgs e)
|
||||
{
|
||||
SlmPage_Assets_RepairJob.Config pageConfig = new SlmPage_Assets_RepairJob.Config(config.AssetRepairPage.CompanyId);
|
||||
SlmPage_Assets_RepairJob page = new SlmPage_Assets_RepairJob(pageConfig);
|
||||
SlmFormPage_Assets_RepairJob.Config pageConfig = new SlmFormPage_Assets_RepairJob.Config(config.AssetRepairPage.CompanyId);
|
||||
SlmFormPage_Assets_RepairJob page = new SlmFormPage_Assets_RepairJob(pageConfig);
|
||||
page.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
if (!page.Cancelled)
|
||||
|
||||
+280
@@ -0,0 +1,280 @@
|
||||
using Sarand.Core.App;
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.Core.Bus;
|
||||
using Sarand.Core.Mobile.Forms.Controls;
|
||||
using Sarand.Core.Tasks;
|
||||
using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Panels;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Bulk;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Bulk
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmPanel_Bulk_BerthingTasks : SlmPanel_AssociatedItems
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
public new class Config : SlmPanel_AssociatedItems.Config
|
||||
{
|
||||
public SlmFormPage_Bulk_Berthing BerthingForm { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private Config config;
|
||||
private readonly List<TypeCodeDesc> berthingTaskTypes;
|
||||
private List<SlmBerthingTask.Data> berthingTaskDataList = new List<SlmBerthingTask.Data>();
|
||||
private SlmLabel labelSummary = new SlmLabel();
|
||||
//private SlmGrid gridDetails = new SlmGrid();
|
||||
private SlmWebView webViewDetails = new SlmWebView();
|
||||
private String berthingTaskUpdatePrefix = "BthTskUpdate_";
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmPanel_Bulk_BerthingTasks (Config config) :
|
||||
base(config)
|
||||
{
|
||||
this.config = config;
|
||||
berthingTaskTypes = SlmSystem.GetCodesOfType(Slm.SystemCode.BerthingTaskType);
|
||||
InitialiseComponents();
|
||||
PopulateBerthingTasks();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
public List<SlmBerthingTask.Data> BerthingTasks { get { return new List<SlmBerthingTask.Data>(berthingTaskDataList); } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
//-------------------------------------------------------------------
|
||||
private void InitialiseComponents ()
|
||||
{
|
||||
Caption = "Berthing Tasks";
|
||||
|
||||
// Summary panel.
|
||||
labelSummary.HorizontalOptions = LayoutOptions.FillAndExpand;
|
||||
SummaryPanel.Content = labelSummary;
|
||||
|
||||
// Details panel.
|
||||
webViewDetails.HorizontalOptions = LayoutOptions.StartAndExpand;
|
||||
webViewDetails.VerticalOptions = LayoutOptions.StartAndExpand;
|
||||
webViewDetails.AppNavigating += WebViewDetails_AppNavigating;
|
||||
DetailsPanel.Content = webViewDetails;
|
||||
|
||||
RefreshPanels();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P o p u l a t i o n
|
||||
//-------------------------------------------------------------------
|
||||
private SacsTaskData taskDataPrepareData = new SacsTaskData(null);
|
||||
private void PopulateBerthingTasks ()
|
||||
{
|
||||
String fn = GetType().Name + ".PopulateBerthingTasks";
|
||||
if (!SysId.IsValid(config.BerthingForm.BerthingId)) return;
|
||||
Task.Run(async () =>
|
||||
{
|
||||
try
|
||||
{
|
||||
await PopulateBerthingTasks(taskDataPrepareData);
|
||||
}
|
||||
catch (Exception exc)
|
||||
{
|
||||
if (SacsSystem.DebugMode) Logger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc));
|
||||
ErrorStateMessage = nameof(exc) + " on population - " + exc.Message;
|
||||
}
|
||||
}, taskDataPrepareData.CancellationToken)
|
||||
.ContinueWith(task =>
|
||||
{
|
||||
taskDataPrepareData.Dispose();
|
||||
});
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private async Task PopulateBerthingTasks (SacsTaskData taskDataPrepareData_Local)
|
||||
{
|
||||
String fn = GetType().Name + ".PopulateBerthingTasks";
|
||||
|
||||
// Berthing Task filter.
|
||||
SlmBerthingTask.Params prmBerthingTask = new SlmBerthingTask.Params();
|
||||
prmBerthingTask.BerthingId = config.BerthingForm.BerthingId;
|
||||
prmBerthingTask.StatusCat = SlmBerthingTask.StatusCat.NotDeleted;
|
||||
|
||||
// Retrieve Berthing Tasks.
|
||||
List<SlmBerthingTask> berthingTasks = await BerthingMgr.GetBerthingTaskList_Mobile(prmBerthingTask, taskDataPrepareData_Local);
|
||||
|
||||
// Populate berthing tasks.
|
||||
foreach (SlmBerthingTask berthingTask in berthingTasks)
|
||||
{
|
||||
if (taskDataPrepareData_Local.IsCancellationRequested) return;
|
||||
berthingTaskDataList.Add(berthingTask.GetData());
|
||||
}
|
||||
if (taskDataPrepareData_Local.IsCancellationRequested) return;
|
||||
|
||||
Device.BeginInvokeOnMainThread(() =>
|
||||
{
|
||||
// Update panel with revised task info.
|
||||
RefreshPanels();
|
||||
});
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// R e f r e s h
|
||||
//-------------------------------------------------------------------
|
||||
private void RefreshPanels ()
|
||||
{
|
||||
RefreshSummaryPanel();
|
||||
RefreshDetailsPanel();
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private void RefreshSummaryPanel ()
|
||||
{
|
||||
if (berthingTaskDataList.Count == 0)
|
||||
labelSummary.Text = "No tasks defined";
|
||||
else if (berthingTaskDataList.Count == 1)
|
||||
labelSummary.Text = "1 task defined";
|
||||
else
|
||||
labelSummary.Text = berthingTaskDataList.Count + " tasks defined";
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private void RefreshDetailsPanel ()
|
||||
{
|
||||
List<String> html = new List<string>();
|
||||
html.Add("<html><head>" + GetItemListStyles().Concat("\n") + GetItemListScripts().Concat("\n") + "</head><body>");
|
||||
foreach (SlmBerthingTask.Data item in berthingTaskDataList)
|
||||
{
|
||||
html.Add("<div id='BthTsk-" + SysId.ToString(item.Id) + "' class='item' ondblclick='slm.openBerthingTask(" + SysId.ToString(item.Id) + ")'>");
|
||||
html.Add("<table class='fullwidth'>");
|
||||
html.Add(" <tr>");
|
||||
html.Add(" <td class='label'>Type</td><td class='value'>" + berthingTaskTypes.GetDescForType((int)item.BerthingTaskType) + "</td>");
|
||||
html.Add(" <td class='label'>Status</td><td class='value'>" + SacsSystem.GetStatusDesc(item.Status) + "</td>");
|
||||
html.Add(" </tr>");
|
||||
html.Add(" <tr>");
|
||||
html.Add(" <td class='label'>Started</td><td class='value'>" + DateUtil.Format(item.Started, "ddd d-MMM-yyyy") + "</td>");
|
||||
html.Add(" <td class='label'>Completed</td><td class='value'>" + DateUtil.Format(item.Completed, "ddd d-MMM-yyyy") + "</td>");
|
||||
html.Add(" </tr>");
|
||||
html.Add(" <tr>");
|
||||
html.Add(" <td class='label'>Arrived</td><td class='value' colspan='3'>" + item.Remarks.ReplaceAll("\n","<br/>") + "</td>");
|
||||
html.Add(" </tr>");
|
||||
if (SacsSystem.DebugMode)
|
||||
{
|
||||
html.Add(" <tr>");
|
||||
html.Add(" <td class='label'>BerthingId</td><td class='value'>" + SysId.ToString(item.BerthingId) + "</td>");
|
||||
html.Add(" <td class='label'>Id</td><td class='value'>" + SysId.ToString(item.Id) + "</td>");
|
||||
html.Add(" </tr>");
|
||||
}
|
||||
html.Add("</table>");
|
||||
html.Add("</div>");
|
||||
}
|
||||
html.Add("</body></html>");
|
||||
webViewDetails.Html = html.Concat("\n");
|
||||
}
|
||||
private List<String> GetItemListStyles ()
|
||||
{
|
||||
return new List<string>()
|
||||
{
|
||||
"<style>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.JQueryUiCss) + "</style>",
|
||||
"<style>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.SaBaseCss) + "</style>",
|
||||
"<style>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.SlmBaseCss) + "</style>",
|
||||
"<style>",
|
||||
"body{padding:4px;font-size:" + SlmMobile.HtmlFontSize + ";border:1px solid #808080;border-radius:8px;overflow-y:auto;}",
|
||||
"td{padding:2px;}",
|
||||
"tr.other th, tr.other td{background-color:#f0f0f0;}",
|
||||
"div.item{margin:0 0 4px 0;padding:4px;background-color:#f8f8f8;border:2px solid #808080;border-radius:8px;}",
|
||||
"</style>"
|
||||
};
|
||||
}
|
||||
private List<String> GetItemListScripts ()
|
||||
{
|
||||
return new List<string>()
|
||||
{
|
||||
"<script>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.JQueryJs) + "</script>",
|
||||
"<script>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.JQueryUiJs) + "</script>",
|
||||
"<script>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.SaBaseJs) + "</script>",
|
||||
"<script>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.SlmBaseJs) + "</script>",
|
||||
"<script>",
|
||||
"slm.openBerthingTask=function(id)",
|
||||
"{",
|
||||
//" alert('slm.openBerthing Id: '+id)",
|
||||
" document.location=\"" + SaxWebView.AppActionPrefix + berthingTaskUpdatePrefix + "\"+id;",
|
||||
"}",
|
||||
"$(function()",
|
||||
"{",
|
||||
" ",
|
||||
"});",
|
||||
"</script>"
|
||||
};
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P a n e l E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
protected override void ButtonAddItem_Clicked (object sender, EventArgs e)
|
||||
{
|
||||
SlmFormPage_Bulk_BerthingTask.Config formConfig = new SlmFormPage_Bulk_BerthingTask.Config(config.BerthingForm.BerthingId);
|
||||
SlmFormPage_Bulk_BerthingTask berthingTaskForm = new SlmFormPage_Bulk_BerthingTask(formConfig);
|
||||
berthingTaskForm.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
if (!berthingTaskForm.Cancelled)
|
||||
{
|
||||
SlmBerthingTask.Data berthingTaskData = berthingTaskForm.NewBerthingTaskData;
|
||||
if (berthingTaskData != null)
|
||||
{
|
||||
berthingTaskDataList.Add(berthingTaskData);
|
||||
RefreshPanels();
|
||||
DropDown();
|
||||
}
|
||||
}
|
||||
};
|
||||
Application.Current.MainPage.Navigation.PushModalAsync(berthingTaskForm, false);
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private void WebViewDetails_AppNavigating (object sender, SaxWebView.AppNavigatingEventArgs eventArgs)
|
||||
{
|
||||
String fn = GetType().Name + ".WebViewDetails_AppNavigating";
|
||||
if (SacsSystem.DebugMode) Logger.Debug(fn + " AppAction: " + eventArgs.AppAction);
|
||||
if (eventArgs.AppAction.StartsWithCI(berthingTaskUpdatePrefix))
|
||||
{
|
||||
SysId berthingTaskId = new SysId(StringUtil.ToInt(eventArgs.AppAction.Right(eventArgs.AppAction.Length - berthingTaskUpdatePrefix.Length)));
|
||||
if (!SysId.IsValid(berthingTaskId))
|
||||
{
|
||||
DisplayAlert(Caption, "Invalid berthing task selected.", "OK");
|
||||
return;
|
||||
}
|
||||
SlmBerthingTask.Data berthingTaskData = berthingTaskDataList.Find(item => item.Id.Equals(berthingTaskId));
|
||||
if (!SysId.IsValid(berthingTaskId))
|
||||
{
|
||||
DisplayAlert(Caption, "Failed to retrieve berthing task.", "OK");
|
||||
return;
|
||||
}
|
||||
|
||||
// Show Berthing Task form.
|
||||
SlmFormPage_Bulk_BerthingTask.Config formConfig = new SlmFormPage_Bulk_BerthingTask.Config(config.BerthingForm.BerthingId);
|
||||
formConfig.BerthingTaskToUpdate = berthingTaskData;
|
||||
SlmFormPage_Bulk_BerthingTask berthingTaskForm = new SlmFormPage_Bulk_BerthingTask(formConfig);
|
||||
berthingTaskForm.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
if (!berthingTaskForm.Cancelled)
|
||||
{
|
||||
berthingTaskDataList.Add(berthingTaskData);
|
||||
RefreshPanels();
|
||||
DropDown();
|
||||
}
|
||||
};
|
||||
Application.Current.MainPage.Navigation.PushModalAsync(berthingTaskForm, false);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
+27
-116
@@ -8,13 +8,13 @@ using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Assets;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Assets;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Threading.Tasks;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main.Assets
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmMainPanel_AssetMovements : SlmMainPanel_ItemList
|
||||
@@ -145,19 +145,19 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
}
|
||||
public SlmAssetMovement.Params GetAssetMovementParams (uint pageNo, ushort pageLength)
|
||||
{
|
||||
SlmAssetMovement.Params assetMovementParams = new SlmAssetMovement.Params();
|
||||
SlmAssetMovement.Params prmAssetMovement = new SlmAssetMovement.Params();
|
||||
// Filter.
|
||||
assetMovementParams.AssetCodePartial = HeaderPanel.PanelFilter.GetFilterPropertyValue((int)FilterProperty.Code);
|
||||
assetMovementParams.AssetSizeCodePartial = HeaderPanel.PanelFilter.GetFilterPropertyValue((int)FilterProperty.Size);
|
||||
assetMovementParams.MovementRefPartial = HeaderPanel.PanelFilter.GetFilterPropertyValue((int)FilterProperty.Reference);
|
||||
assetMovementParams.StatusCat = SlmAssetMovement.StatusCat.NotDeleted;
|
||||
prmAssetMovement.AssetCodePartial = HeaderPanel.PanelFilter.GetFilterPropertyValue((int)FilterProperty.Code);
|
||||
prmAssetMovement.AssetSizeCodePartial = HeaderPanel.PanelFilter.GetFilterPropertyValue((int)FilterProperty.Size);
|
||||
prmAssetMovement.MovementRefPartial = HeaderPanel.PanelFilter.GetFilterPropertyValue((int)FilterProperty.Reference);
|
||||
prmAssetMovement.StatusCat = SlmAssetMovement.StatusCat.NotDeleted;
|
||||
// Paging.
|
||||
assetMovementParams.ResultsPaging.PageNo = pageNo;
|
||||
assetMovementParams.ResultsPaging.PageLength = pageLength;
|
||||
prmAssetMovement.ResultsPaging.PageNo = pageNo;
|
||||
prmAssetMovement.ResultsPaging.PageLength = pageLength;
|
||||
// Mode.
|
||||
if (config.Mode == PanelMode.InProgress)
|
||||
assetMovementParams.StatusCat = SlmAssetMovement.StatusCat.NotClosed;
|
||||
return assetMovementParams;
|
||||
prmAssetMovement.StatusCat = SlmAssetMovement.StatusCat.NotClosed;
|
||||
return prmAssetMovement;
|
||||
}
|
||||
private SacsTaskData taskDataRefreshList = null;
|
||||
protected override void RefreshItemList (uint pageNo = 1)
|
||||
@@ -192,7 +192,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
// Configure request.
|
||||
SlmWebServiceRequest.Config configRequest = new SlmWebServiceRequest.Config();
|
||||
configRequest.DataType = SlmWebServiceRequest.DataType.AssetMovement;
|
||||
configRequest.RequestType = SlmWebServiceRequest.RequestType.List;
|
||||
configRequest.RequestType = SlmWebServiceRequest.RequestType.QueryList;
|
||||
configRequest.Context.SiteDefinition = SlmGlobals_Mobile.SessionProfile.SiteDefinition;
|
||||
configRequest.Context.Debug = SacsSystem.DebugMode;
|
||||
// Filter.
|
||||
@@ -220,8 +220,8 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
};
|
||||
// Request User profile.
|
||||
if (SacsSystem.DebugMode) Logger.Debug(fn + " Querying data - START");
|
||||
SlmWebServiceClient.ItemListResponseData responseData =
|
||||
await new SlmWebServiceClient().GetItemList(configRequest, filter, queryColumns, taskDataRefreshList_Local);
|
||||
SlmWebServiceClient.QueryListResponseData responseData =
|
||||
await new SlmWebServiceClient().RequestQueryList(configRequest, filter, queryColumns, taskDataRefreshList_Local);
|
||||
if (SacsSystem.DebugMode) Logger.Debug(fn + " Querying data - END Items: " + (responseData?.Items.Count.ToString() ?? "None") + (taskDataRefreshList_Local.IsCancellationRequested ? " [Cancelled]" : ""));
|
||||
|
||||
// Display item list.
|
||||
@@ -244,7 +244,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
protected override void DisplayItemList (SlmWebServiceClient.ItemListResponseData responseData, SacsMessage message = null)
|
||||
protected override void DisplayItemList (SlmWebServiceClient.QueryListResponseData responseData, SacsMessage message = null)
|
||||
{
|
||||
// Refresh paging properties.
|
||||
if (responseData != null)
|
||||
@@ -278,8 +278,8 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
html += "<div id='AssMov-" + SysId.ToString(item.GetIdValue(cols.Id.DataName)) + "' class='item' ondblclick='slm.openAssetMovement(" + SysId.ToString(item.GetIdValue(cols.Id.DataName)) + ")'>";
|
||||
html += "<table class='fullwidth'>";
|
||||
html += " <tr>";
|
||||
html += " <td class='label'>Container</td><td class='value bold'>"+item.GetValue(cols.Asset_Code.DataName)+"</td>";
|
||||
html += " <td class='label'>Size</td><td class='value'>"+item.GetValue(cols.AssetSizeCode.DataName)+"</td>";
|
||||
html += " <td class='label'>Container</td><td class='value bold'>" + item.GetValue(cols.Asset_Code.DataName) + "</td>";
|
||||
html += " <td class='label'>Size</td><td class='value'>" + item.GetValue(cols.AssetSizeCode.DataName) + "</td>";
|
||||
html += " </tr>";
|
||||
html += " <tr>";
|
||||
html += " <td class='label'>Customer</td><td class='value'>" + item.GetValue(cols.Customer.DataName) + "</td>";
|
||||
@@ -318,11 +318,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
"<style>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.SlmBaseCss) + "</style>",
|
||||
"<style>",
|
||||
"body{padding:4px;font-size:" + SlmMobile.HtmlFontSize + ";border:1px solid #808080;border-radius:8px;overflow-y:auto;}",
|
||||
"div.msg{margin-bottom:4px;padding:4px;border:1px solid #C0C0C0;border-radius:4px;}",
|
||||
"div.msg.inf{color:green;}",
|
||||
"div.msg.wrn{color:orange;}",
|
||||
"div.msg.err{color:red;}",
|
||||
"td{padding:4px 4px;}",
|
||||
"td{padding:2px;}",
|
||||
"tr.other th, tr.other td{background-color:#f0f0f0;}",
|
||||
"div.item{margin:0 0 4px 0;padding:4px;background-color:#f8f8f8;border:2px solid #808080;border-radius:8px;}",
|
||||
"</style>"
|
||||
@@ -353,115 +349,30 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
//-------------------------------------------------------------------
|
||||
// P a n e l E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
private SacsTaskData taskDataAppAction;
|
||||
/// <summary>'App' navigation events on Item List web view control.</summary>
|
||||
protected override void ItemListWebView_AppNavigating (object sender, SaxWebView.AppNavigatingEventArgs eventArgs)
|
||||
{
|
||||
String fn = GetType().Name + ".ItemListWebView_AppNavigating";
|
||||
if (SacsSystem.DebugMode) Logger.Debug(fn + " AppAction: " + eventArgs.AppAction);
|
||||
// Cancel previous action.
|
||||
if (taskDataAppAction != null)
|
||||
{
|
||||
taskDataAppAction.TriggerCancellation();
|
||||
taskDataAppAction = null;
|
||||
}
|
||||
taskDataAppAction = new SacsTaskData(null);
|
||||
if (eventArgs.AppAction.StartsWithCI(assetMovementDoubleClickedPrefix))
|
||||
{
|
||||
SacsTaskData taskDataAppAction_Local = taskDataAppAction;
|
||||
SysId assetMovementId = new SysId(StringUtil.ToInt(eventArgs.AppAction.Right(eventArgs.AppAction.Length - assetMovementDoubleClickedPrefix.Length)));
|
||||
Task.Run(async () =>
|
||||
if (!SysId.IsValid(assetMovementId))
|
||||
{
|
||||
try
|
||||
{
|
||||
await showAssetMovementForm(assetMovementId, taskDataAppAction_Local);
|
||||
}
|
||||
catch (Exception exc) { if (SacsSystem.DebugMode) Logger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc)); }
|
||||
}, taskDataAppAction_Local.CancellationToken)
|
||||
.ContinueWith(task =>
|
||||
{
|
||||
taskDataAppAction_Local.Dispose();
|
||||
if (taskDataAppAction == taskDataAppAction_Local)
|
||||
taskDataAppAction = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private async Task showAssetMovementForm (SysId assetMovementId, SacsTaskData taskDataAppAction_Local)
|
||||
{
|
||||
String fn = GetType().Name + ".ItemListWebView_AppNavigating";
|
||||
if (!SysId.IsValid(assetMovementId))
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
await DisplayAlert("Asset Movement", "Invalid asset movement selected.", "OK");
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Retrieve Asset Movement and associated details.
|
||||
SlmAssetMovement assetMovement = null;
|
||||
SlmContainer container = null;
|
||||
try
|
||||
{
|
||||
SacsTaskData taskData = new SacsTaskData(null) { Debug = SacsSystem.DebugMode };
|
||||
// Retrieve Asset Movement.
|
||||
SlmAssetMovement.Params prmAssetMovement = new SlmAssetMovement.Params();
|
||||
prmAssetMovement.IncludedIds.Add(assetMovementId);
|
||||
prmAssetMovement.StatusCat = SlmAssetMovement.StatusCat.Any;
|
||||
assetMovement = await AssetMgr.GetAssetMovement_Mobile(prmAssetMovement, taskData);
|
||||
// Retrieve Container.
|
||||
if (assetMovement != null)
|
||||
{
|
||||
if (assetMovement.AssetItemType == Slm.AssetItemType.Container)
|
||||
{
|
||||
SlmContainer.Params prmContainer = new SlmContainer.Params();
|
||||
prmContainer.IncludedIds.Add(assetMovement.AssetItemId);
|
||||
prmContainer.StatusCat = SlmContainer.StatusCat.Any;
|
||||
container = await AssetMgr.GetContainer_Mobile(prmContainer, taskData);
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception exc) { Logger.Debug(fn + " " + exc.GetLogMessage(6)); }
|
||||
if (assetMovement == null)
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
await DisplayAlert("Asset Movement", "Failed to retrieve Asset movement data.", "OK");
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (assetMovement.AssetItemType == Slm.AssetItemType.Container)
|
||||
{
|
||||
if (container == null)
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
await DisplayAlert("Asset Movement", "Failed to retrieve Container data.", "OK");
|
||||
});
|
||||
DisplayAlert(HeaderCaption, "Invalid asset movement selected.", "OK");
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
await DisplayAlert("Asset Movement", "Unrecognised asset type: " + assetMovement.AssetItemType.ToString() + ".", "OK");
|
||||
return;
|
||||
}
|
||||
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
// Configure Asset Movement page.
|
||||
SlmPage_Assets_Movement.Config pageConfig = new SlmPage_Assets_Movement.Config();
|
||||
pageConfig.AssetMovementToUpdate = assetMovement;
|
||||
pageConfig.AssetMovement_Container = container;
|
||||
// Data will be retrieved and validated by the page.
|
||||
SlmFormPage_Assets_Movement.Config pageConfig = new SlmFormPage_Assets_Movement.Config();
|
||||
pageConfig.AssetMovementIdToUpdate = assetMovementId;
|
||||
pageConfig.ReadOnly = true;
|
||||
if (pageConfig.ReadOnly) pageConfig.NavigationMode = Core.Forms.Base.SlmFormPage.NavigationMode.Close;
|
||||
SlmPage_Assets_Movement assetRepairForm = new SlmPage_Assets_Movement (pageConfig);
|
||||
assetRepairForm.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
};
|
||||
await SlmGlobals_Mobile.Application.MainPage.Navigation.PushModalAsync(assetRepairForm, false);
|
||||
});
|
||||
SlmFormPage_Assets_Movement assetRepairForm = new SlmFormPage_Assets_Movement (pageConfig);
|
||||
//assetRepairForm.Disappearing += (sender2, e2) => { };
|
||||
SlmGlobals_Mobile.Application.MainPage.Navigation.PushModalAsync(assetRepairForm, false);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
+54
-127
@@ -8,19 +8,17 @@ using Sarand.LogisticsMgr.Core.App;
|
||||
using Sarand.LogisticsMgr.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Components;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Bus;
|
||||
using Sarand.LogisticsMgr.Mobile.Forms.Pages.Forms.Bulk;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xamarin.Forms;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main.Bulk
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmMainPanel_ShipFile : SlmMainPanel_ItemList
|
||||
public class SlmMainPanel_Bulk_Berthings : SlmMainPanel_ItemList
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
@@ -30,11 +28,15 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
}
|
||||
public enum PanelMode
|
||||
{
|
||||
Last2Weeks
|
||||
Last2Weeks,
|
||||
Last2Months,
|
||||
}
|
||||
public new class Config : SlmMainPanel_ItemList.Config
|
||||
{
|
||||
public PanelMode Mode { get; set; } = PanelMode.Last2Weeks;
|
||||
public Config ()
|
||||
{
|
||||
}
|
||||
public PanelMode Mode { get; set; } = PanelMode.Last2Months;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -63,7 +65,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmMainPanel_ShipFile (Config config) :
|
||||
public SlmMainPanel_Bulk_Berthings (Config config) :
|
||||
base(config)
|
||||
{
|
||||
this.config = config;
|
||||
@@ -71,10 +73,10 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
cols.Id = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.Id);
|
||||
cols.VesselId = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.VesselId);
|
||||
cols.VesselName = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.Vessel_Name);
|
||||
cols.AgentId = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.AgentId);
|
||||
cols.AgentName = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.Agent_Name);
|
||||
cols.CustomerId = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.CustomerId);
|
||||
cols.CustomerName = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.Customer_Name);
|
||||
cols.AgentId = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.CompanyIdAgent);
|
||||
cols.AgentName = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.CompanyAgent_Name);
|
||||
cols.CustomerId = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.CompanyIdCustomer);
|
||||
cols.CustomerName = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.CompanyCustomer_Name);
|
||||
cols.Berth = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.Berth);
|
||||
cols.Bollard = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.Bollard);
|
||||
cols.Expected = BerthingMgr.GetBerthingColumnDfn(SlmBerthing.Column.Expected);
|
||||
@@ -137,19 +139,27 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
filterPropertyTypes.Add(new SacsFilterPropertyType((int)FilterProperty.Vessel, "Vessel") { Mode = SacsFilterPropertyType.FilterMode.Text });
|
||||
return filterPropertyTypes;
|
||||
}
|
||||
public SlmBerthing.Params GetBerthingParams (uint pageNo, ushort pageLength)
|
||||
public SlmBerthing_Mobile.Params GetBerthingParams (uint pageNo, ushort pageLength)
|
||||
{
|
||||
SlmBerthing.Params berthingParams = new SlmBerthing.Params();
|
||||
SlmBerthing_Mobile.Params prmBerthing = new SlmBerthing_Mobile.Params();
|
||||
// Filter.
|
||||
berthingParams.VesselPartial = HeaderPanel.PanelFilter.GetFilterPropertyValue((int)FilterProperty.Vessel);
|
||||
berthingParams.StatusCat = SlmBerthing.StatusCat.NotDeleted;
|
||||
prmBerthing.VesselPartial = HeaderPanel.PanelFilter.GetFilterPropertyValue((int)FilterProperty.Vessel);
|
||||
prmBerthing.StatusCat = SlmBerthing.StatusCat.NotDeleted;
|
||||
// Paging.
|
||||
berthingParams.ResultsPaging.PageNo = pageNo;
|
||||
berthingParams.ResultsPaging.PageLength = pageLength;
|
||||
prmBerthing.ResultsPaging.PageNo = pageNo;
|
||||
prmBerthing.ResultsPaging.PageLength = pageLength;
|
||||
// Mode.
|
||||
if (config.Mode == PanelMode.Last2Weeks)
|
||||
berthingParams.ArrivedFrom = DateUtil.IncrementDate(DateTime.Today, -14);
|
||||
return berthingParams;
|
||||
{
|
||||
prmBerthing.ArrivedFrom = DateUtil.IncrementDate(DateTime.Today, -14);
|
||||
prmBerthing.IncludeAllCurrent = true;
|
||||
}
|
||||
else if (config.Mode == PanelMode.Last2Months)
|
||||
{
|
||||
prmBerthing.ArrivedFrom = DateUtil.IncrementDate(DateTime.Today, -60);
|
||||
prmBerthing.IncludeAllCurrent = true;
|
||||
}
|
||||
return prmBerthing;
|
||||
}
|
||||
private SacsTaskData taskDataRefreshList = null;
|
||||
protected override void RefreshItemList (uint pageNo = 1)
|
||||
@@ -169,7 +179,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
// Refresh the list.
|
||||
RefreshItemList(GetBerthingParams(pageNo, ItemsPerPage), taskDataRefreshList = new SacsTaskData(null));
|
||||
}
|
||||
private void RefreshItemList (SlmBerthing.Params berthingParams, SacsTaskData taskDataRefreshList_Local)
|
||||
private void RefreshItemList (SlmBerthing_Mobile.Params berthingParams, SacsTaskData taskDataRefreshList_Local)
|
||||
{
|
||||
String fn = GetType().Name + ".RefreshItemList";
|
||||
|
||||
@@ -184,7 +194,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
// Configure request.
|
||||
SlmWebServiceRequest.Config configRequest = new SlmWebServiceRequest.Config();
|
||||
configRequest.DataType = SlmWebServiceRequest.DataType.Berthing;
|
||||
configRequest.RequestType = SlmWebServiceRequest.RequestType.List;
|
||||
configRequest.RequestType = SlmWebServiceRequest.RequestType.QueryList;
|
||||
configRequest.Context.SiteDefinition = SlmGlobals_Mobile.SessionProfile.SiteDefinition;
|
||||
configRequest.Context.Debug = SacsSystem.DebugMode;
|
||||
// Filter.
|
||||
@@ -210,8 +220,8 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
};
|
||||
// Request User profile.
|
||||
if (SacsSystem.DebugMode) Logger.Debug(fn + " Querying data - START");
|
||||
SlmWebServiceClient.ItemListResponseData responseData =
|
||||
await new SlmWebServiceClient().GetItemList(configRequest, filter, queryColumns, taskDataRefreshList_Local);
|
||||
SlmWebServiceClient.QueryListResponseData responseData =
|
||||
await new SlmWebServiceClient().RequestQueryList(configRequest, filter, queryColumns, taskDataRefreshList_Local);
|
||||
if (SacsSystem.DebugMode) Logger.Debug(fn + " Querying data - END Items: " + (responseData?.Items.Count.ToString() ?? "None") + (taskDataRefreshList_Local.IsCancellationRequested ? " [Cancelled]" : ""));
|
||||
|
||||
// Display item list.
|
||||
@@ -234,7 +244,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
protected override void DisplayItemList (SlmWebServiceClient.ItemListResponseData responseData, SacsMessage message = null)
|
||||
protected override void DisplayItemList (SlmWebServiceClient.QueryListResponseData responseData, SacsMessage message = null)
|
||||
{
|
||||
// Refresh paging properties.
|
||||
if (responseData != null)
|
||||
@@ -262,18 +272,18 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
{ }
|
||||
else if (responseData.Items.Count > 0)
|
||||
{
|
||||
//html += "<div class='msg inf'>Movements found: " + responseData.Items.Count + "</div>";
|
||||
//html += "<div class='msg inf'>Berthings found: " + responseData.Items.Count + "</div>";
|
||||
foreach (var item in responseData.Items)
|
||||
{
|
||||
html += "<div id='AssMov-" + SysId.ToString(item.GetIdValue(cols.Id.DataName)) + "' class='item' ondblclick='slm.openBerthing(" + SysId.ToString(item.GetIdValue(cols.Id.DataName)) + ")'>";
|
||||
html += "<div id='Bth-" + SysId.ToString(item.GetIdValue(cols.Id.DataName)) + "' class='item' ondblclick='slm.openBerthing(" + SysId.ToString(item.GetIdValue(cols.Id.DataName)) + ")'>";
|
||||
html += "<table class='fullwidth'>";
|
||||
html += " <tr>";
|
||||
html += " <td class='label'>Vessel</td><td class='value bold'>" + item.GetValue(cols.VesselName.DataName) + "</td>";
|
||||
html += " <td class='label'>Agent</td><td class='value'>" + item.GetValue(cols.AgentName.DataName) + "</td>";
|
||||
html += " <td class='label'></td><td class='value'>" + "</td>";
|
||||
html += " </tr>";
|
||||
html += " <tr>";
|
||||
html += " <td class='label'>Customer</td><td class='value'>" + item.GetValue(cols.CustomerName.DataName) + "</td>";
|
||||
html += " <td class='label'></td><td class='value'>" + "</td>";
|
||||
html += " <td class='label'>Agent</td><td class='value'>" + item.GetValue(cols.AgentName.DataName) + "</td>";
|
||||
html += " </tr>";
|
||||
html += " <tr>";
|
||||
html += " <td class='label'>Berth</td><td class='value'>" + item.GetValue(cols.Berth.DataName) + "</td>";
|
||||
@@ -298,7 +308,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
html += "</div>";
|
||||
}
|
||||
}
|
||||
else html += "<div class='msg inf'>No movements found</div>";
|
||||
else html += "<div class='msg inf'>No Berthings found</div>";
|
||||
html += "</body></html>";
|
||||
ItemListWebView.Html = html;
|
||||
//Logger.Debug("HTML: " + html);
|
||||
@@ -312,11 +322,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
"<style>" + SlmResourceConsole.GetTextResource(SlmResourceConsole.TextResource.SlmBaseCss) + "</style>",
|
||||
"<style>",
|
||||
"body{padding:4px;font-size:" + SlmMobile.HtmlFontSize + ";border:1px solid #808080;border-radius:8px;overflow-y:auto;}",
|
||||
"div.msg{margin-bottom:4px;padding:4px;border:1px solid #C0C0C0;border-radius:4px;}",
|
||||
"div.msg.inf{color:green;}",
|
||||
"div.msg.wrn{color:orange;}",
|
||||
"div.msg.err{color:red;}",
|
||||
"td{padding:4px 4px;}",
|
||||
"td{padding:2px;}",
|
||||
"tr.other th, tr.other td{background-color:#f0f0f0;}",
|
||||
"div.item{margin:0 0 4px 0;padding:4px;background-color:#f8f8f8;border:2px solid #808080;border-radius:8px;}",
|
||||
"</style>"
|
||||
@@ -333,7 +339,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
"<script>",
|
||||
"slm.openBerthing=function(id)",
|
||||
"{",
|
||||
//" alert('slm.openAssetMovement Id: '+id)",
|
||||
//" alert('slm.openBerthing Id: '+id)",
|
||||
" document.location=\"" + SaxWebView.AppActionPrefix + berthingDoubleClickedPrefix + "\"+id;",
|
||||
"}",
|
||||
"$(function()",
|
||||
@@ -347,109 +353,30 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
//-------------------------------------------------------------------
|
||||
// P a n e l E v e n t s
|
||||
//-------------------------------------------------------------------
|
||||
private SacsTaskData taskDataAppAction;
|
||||
/// <summary>'App' navigation events on Item List web view control.</summary>
|
||||
protected override void ItemListWebView_AppNavigating (object sender, SaxWebView.AppNavigatingEventArgs eventArgs)
|
||||
{
|
||||
String fn = GetType().Name + ".ItemListWebView_AppNavigating";
|
||||
if (SacsSystem.DebugMode) Logger.Debug(fn + " AppAction: " + eventArgs.AppAction);
|
||||
// Cancel previous action.
|
||||
if (taskDataAppAction != null)
|
||||
{
|
||||
taskDataAppAction.TriggerCancellation();
|
||||
taskDataAppAction = null;
|
||||
}
|
||||
taskDataAppAction = new SacsTaskData(null);
|
||||
if (eventArgs.AppAction.StartsWithCI(berthingDoubleClickedPrefix))
|
||||
{
|
||||
SacsTaskData taskDataAppAction_Local = taskDataAppAction;
|
||||
SysId berthingId = new SysId(StringUtil.ToInt(eventArgs.AppAction.Right(eventArgs.AppAction.Length - berthingDoubleClickedPrefix.Length)));
|
||||
Task.Run(async () =>
|
||||
if (!SysId.IsValid(berthingId))
|
||||
{
|
||||
try
|
||||
{
|
||||
await showBerthingForm(berthingId, taskDataAppAction_Local);
|
||||
}
|
||||
catch (Exception exc) { if (SacsSystem.DebugMode) Logger.Warn(fn + " " + ExceptionUtil.GetLogMessage(exc)); }
|
||||
}, taskDataAppAction_Local.CancellationToken)
|
||||
.ContinueWith(task =>
|
||||
{
|
||||
taskDataAppAction_Local.Dispose();
|
||||
if (taskDataAppAction == taskDataAppAction_Local)
|
||||
taskDataAppAction = null;
|
||||
});
|
||||
}
|
||||
}
|
||||
//-------------------------------------------------------------------
|
||||
private async Task showBerthingForm (SysId berthingId, SacsTaskData taskDataAppAction_Local)
|
||||
{
|
||||
String fn = GetType().Name + ".ItemListWebView_AppNavigating";
|
||||
if (!SysId.IsValid(berthingId))
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
await DisplayAlert("Ship File", "Invalid berthing selected.", "OK");
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Retrieve Berthing and associated details.
|
||||
SlmBerthing berthing = null;
|
||||
SlmVessel vessel = null;
|
||||
try
|
||||
{
|
||||
SacsTaskData taskData = new SacsTaskData(null) { Debug = SacsSystem.DebugMode };
|
||||
// Retrieve Berthing.
|
||||
SlmBerthing.Params prmBerthing = new SlmBerthing.Params();
|
||||
prmBerthing.IncludedIds.Add(berthingId);
|
||||
prmBerthing.StatusCat = SlmBerthing.StatusCat.Any;
|
||||
// ToDo berthing = await BerthingMgr.GetBerthing_Mobile(prmBerthing, taskData);
|
||||
// Retrieve Vessel.
|
||||
if (berthing != null)
|
||||
{
|
||||
if (SysId.IsValid(berthing.VesselId))
|
||||
{
|
||||
SlmVessel.Params prmVessel = new SlmVessel.Params();
|
||||
prmVessel.IncludedIds.Add(berthing.VesselId);
|
||||
prmVessel.StatusCat = SlmVessel.StatusCat.Any;
|
||||
// ToDo vessel = await BerthingMgr.GetVessel_Mobile(prmVessel, taskData);
|
||||
}
|
||||
DisplayAlert(HeaderCaption, "Invalid berthing selected.", "OK");
|
||||
return;
|
||||
}
|
||||
}
|
||||
catch (Exception exc) { Logger.Debug(fn + " " + exc.GetLogMessage(6)); }
|
||||
if (berthing == null)
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
await DisplayAlert("Ship File", "Failed to retrieve Berthing data.", "OK");
|
||||
});
|
||||
return;
|
||||
}
|
||||
if (vessel == null)
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
await DisplayAlert("Ship File", "Failed to retrieve Vessel data.", "OK");
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
// ToDo Configure Asset Movement page.
|
||||
/*
|
||||
SlmPage_ShipFile_Berthing.Config pageConfig = new SlmPage_ShipFile_Berthing.Config();
|
||||
pageConfig.BerthingToUpdate = berthing;
|
||||
pageConfig.Berthing_Vessel = vessel;
|
||||
// Show Berthing page.
|
||||
// Data will be retrieved and validated by the page.
|
||||
SlmFormPage_Bulk_Berthing.Config pageConfig = new SlmFormPage_Bulk_Berthing.Config();
|
||||
pageConfig.BerthingIdToUpdate = berthingId;
|
||||
pageConfig.ReadOnly = true;
|
||||
if (pageConfig.ReadOnly) pageConfig.NavigationMode = Core.Forms.Base.SlmFormPage.NavigationMode.Close;
|
||||
SlmPage_ShipFile_Berthing assetRepairForm = new SlmPage_ShipFile_Berthing (pageConfig);
|
||||
assetRepairForm.Disappearing += (sender2, e2) =>
|
||||
{
|
||||
};
|
||||
await SlmGlobals_Mobile.Application.MainPage.Navigation.PushModalAsync(assetRepairForm, false);
|
||||
*/
|
||||
});
|
||||
SlmFormPage_Bulk_Berthing assetRepairForm = new SlmFormPage_Bulk_Berthing (pageConfig);
|
||||
//assetRepairForm.Disappearing += (sender2, e2) => { };
|
||||
SlmGlobals_Mobile.Application.MainPage.Navigation.PushModalAsync(assetRepairForm, false);
|
||||
}
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
+1
-1
@@ -95,7 +95,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
//-------------------------------------------------------------------
|
||||
protected abstract List<SacsFilterPropertyType> GetFilterPropertyTypes ();
|
||||
protected abstract void RefreshItemList (uint pageNo = 1);
|
||||
protected abstract void DisplayItemList (SlmWebServiceClient.ItemListResponseData responseData, SacsMessage message = null);
|
||||
protected abstract void DisplayItemList (SlmWebServiceClient.QueryListResponseData responseData, SacsMessage message = null);
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P a n e l A c t i o n s
|
||||
|
||||
+2
-2
@@ -174,7 +174,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
// Configure Web Service request data.
|
||||
SlmWebServiceRequest.Config configRequest = new SlmWebServiceRequest.Config();
|
||||
configRequest.DataType = SlmWebServiceRequest.DataType.UserProfile;
|
||||
configRequest.RequestType = SlmWebServiceRequest.RequestType.Data;
|
||||
configRequest.RequestType = SlmWebServiceRequest.RequestType.Item;
|
||||
configRequest.Context.SiteDefinition = siteDefinition;
|
||||
configRequest.Context.Debug = SacsSystem.DebugMode;
|
||||
// User filter.
|
||||
@@ -182,7 +182,7 @@ namespace Sarand.LogisticsMgr.Mobile.Forms.Panels.Main
|
||||
filter.Add("EmailAddress", emailAddress);
|
||||
filter.Add("IncludeSecurityProfile", "true");
|
||||
// Request User profile.
|
||||
return await webServiceClient.GetItemData(configRequest, filter, taskData);
|
||||
return await webServiceClient.RequestItemData(configRequest, filter, taskData);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -28,6 +28,15 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Bus
|
||||
// A s s o c i a t e d D a t a
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// P a r a m e t e r s
|
||||
//-------------------------------------------------------------------
|
||||
public new class Params : SlmBerthing.Params
|
||||
{
|
||||
public bool IncludeVessel { get; set; }
|
||||
public bool IncludeCompanies { get; set; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -176,7 +176,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.CodeTypes
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
|
||||
// Configure Web Service request data.
|
||||
SlmWebServiceRequest.Config configRequest = GetRequestConfig(SlmWebServiceRequest.DataType.CodeType, SlmWebServiceRequest.RequestType.List, taskData.Debug);
|
||||
SlmWebServiceRequest.Config configRequest = GetRequestConfig(SlmWebServiceRequest.DataType.CodeType, SlmWebServiceRequest.RequestType.QueryList, taskData.Debug);
|
||||
|
||||
// Code type filter.
|
||||
Dictionary<String, String> filter = new Dictionary<string, string>();
|
||||
@@ -200,8 +200,8 @@ namespace Sarand.LogisticsMgr.Mobile.Core.CodeTypes
|
||||
columns.Add(column.ToString());
|
||||
|
||||
// Request item list.
|
||||
SlmWebServiceClient.ItemListResponseData responseData =
|
||||
await webServiceClient.GetItemList(configRequest, filter, columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData =
|
||||
await webServiceClient.RequestQueryList(configRequest, filter, columns, taskData);
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
|
||||
foreach (SlmWebServiceItemData itemData in responseData.Items)
|
||||
@@ -247,7 +247,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.CodeTypes
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
|
||||
// Configure Web Service request data.
|
||||
SlmWebServiceRequest.Config configRequest = GetRequestConfig(SlmWebServiceRequest.DataType.Code, SlmWebServiceRequest.RequestType.List, refreshTaskData.Debug);
|
||||
SlmWebServiceRequest.Config configRequest = GetRequestConfig(SlmWebServiceRequest.DataType.Code, SlmWebServiceRequest.RequestType.QueryList, refreshTaskData.Debug);
|
||||
|
||||
// Code filter.
|
||||
Dictionary<String, String> filter = new Dictionary<string, string>();
|
||||
@@ -271,8 +271,8 @@ namespace Sarand.LogisticsMgr.Mobile.Core.CodeTypes
|
||||
columns.Add(column.ToString());
|
||||
|
||||
// Request item list.
|
||||
SlmWebServiceClient.ItemListResponseData responseData =
|
||||
await webServiceClient.GetItemList(configRequest, filter, columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData =
|
||||
await webServiceClient.RequestQueryList(configRequest, filter, columns, taskData);
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
|
||||
foreach (SlmWebServiceItemData itemData in responseData.Items)
|
||||
|
||||
@@ -10,7 +10,7 @@ using Xamarin.Forms;
|
||||
namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
{
|
||||
//=======================================================================
|
||||
public class SlmControlView : SlmContentView
|
||||
public abstract class SlmControlView : SlmContentView
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
// Definitions.
|
||||
@@ -48,6 +48,9 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
// Label.
|
||||
public SlmLabel Label { get; } = new SlmLabel() { Text = "" };
|
||||
public String LabelText { get { return Label.Text; } set { if (Label.Text.Equals(value)) return; Label.Text = value; } }
|
||||
// Styling.
|
||||
public Thickness BorderThickness
|
||||
{
|
||||
|
||||
@@ -17,21 +17,20 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly SlmDatePicker datePicker = new SlmDatePicker();
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Construction.
|
||||
public SlmDatePickerView (SlmDatePicker suppliedPicker = null)
|
||||
{
|
||||
// Control configuration.
|
||||
if (suppliedPicker != null) datePicker = suppliedPicker;
|
||||
datePicker.BackgroundColor = Color.Transparent;
|
||||
if (suppliedPicker != null) DatePicker = suppliedPicker;
|
||||
DatePicker.BackgroundColor = Color.Transparent;
|
||||
|
||||
// Control events.
|
||||
datePicker.BackgroundColor = Color.Transparent;
|
||||
datePicker.DateSelected += DatePicker_DateSelected;
|
||||
datePicker.Focused += DatePicker_Focused;
|
||||
datePicker.Unfocused += DatePicker_Unfocused;
|
||||
DatePicker.BackgroundColor = Color.Transparent;
|
||||
DatePicker.DateSelected += DatePicker_DateSelected;
|
||||
DatePicker.Focused += DatePicker_Focused;
|
||||
DatePicker.Unfocused += DatePicker_Unfocused;
|
||||
|
||||
ConfigureComponents();
|
||||
SetControlActivity();
|
||||
@@ -39,11 +38,11 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
protected SlmDatePicker DatePicker { get { return datePicker; } }
|
||||
protected SlmDatePicker DatePicker { get; } = new SlmDatePicker();
|
||||
public DateTime Date
|
||||
{
|
||||
get { return datePicker.Date; }
|
||||
set { if (datePicker.Date == value) return; datePicker.Date = value; }
|
||||
get { return DatePicker.Date; }
|
||||
set { if (DatePicker.Date == value) return; DatePicker.Date = value; }
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -66,7 +65,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
protected override void SetControlsReadOnly ()
|
||||
{
|
||||
base.SetControlsReadOnly();
|
||||
if (!ReadOnly) Content = datePicker;
|
||||
if (!ReadOnly) Content = DatePicker;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -107,7 +106,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
public event EventHandler<DateChangedEventArgs> DateSelected;
|
||||
private void DatePicker_DateSelected (object sender, DateChangedEventArgs e)
|
||||
{
|
||||
ReadOnlyText = datePicker.Date != null ? DateUtil.Format(datePicker.Date, datePicker.Format) : "";
|
||||
ReadOnlyText = DatePicker.FormattedDate;
|
||||
if (ReadOnly) return;
|
||||
if (DateSelected != null) DateSelected.Invoke(sender, e);
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using Sarand.Core.Mobile.Forms.Controls;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Mgr;
|
||||
using System;
|
||||
@@ -29,8 +30,10 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private readonly Config config;
|
||||
private SlmAccountMgr_Mobile accountMgr = null;
|
||||
private SlmAssetMgr_Mobile assetMgr = null;
|
||||
private SlmAccountMgr_Mobile accountMgr;
|
||||
private SlmBerthingMgr_Mobile berthingMgr;
|
||||
private SlmAssetMgr_Mobile assetMgr;
|
||||
private SlmWebServiceClient webServiceClient;
|
||||
// Main grid.
|
||||
private SlmGrid gridPage = new SlmGrid();
|
||||
// Caption bar.
|
||||
@@ -57,14 +60,34 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Properties.
|
||||
protected virtual String MessageTitle { get { return Title; } }
|
||||
protected virtual String DataPreparationMessage { get { return "Loading data. Please wait ..."; } }
|
||||
// Session.
|
||||
protected SlmUserContext_Mobile UserContext { get { return SlmGlobals_Mobile.SessionProfile.UserContext_Mobile; } }
|
||||
protected SlmSessionContext_Mobile SessionContext { get { return SlmGlobals_Mobile.SessionProfile.SessionContext_Mobile; } }
|
||||
// Layout.
|
||||
protected SlmContentView FormBodyView { get { return contentViewBody; } }
|
||||
// Process control.
|
||||
public bool AddMode { get; protected set; } = true;
|
||||
public bool Changed { get; protected set; } = false;
|
||||
public bool Cancelled { get; private set; } = true;
|
||||
// Managers.
|
||||
protected SlmAccountMgr_Mobile AccountMgr { get { if (accountMgr == null) accountMgr = new SlmAccountMgr_Mobile(SessionContext); return accountMgr; } }
|
||||
protected SlmBerthingMgr_Mobile BerthingMgr { get { if (berthingMgr == null) berthingMgr = new SlmBerthingMgr_Mobile(SessionContext); return berthingMgr; } }
|
||||
protected SlmAssetMgr_Mobile AssetMgr { get { if (assetMgr == null) assetMgr = new SlmAssetMgr_Mobile(SessionContext); return assetMgr; } }
|
||||
public SlmWebServiceClient WebServiceClient { get { if (webServiceClient == null) webServiceClient = new SlmWebServiceClient(); return webServiceClient; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C l o s e F o r m
|
||||
//-------------------------------------------------------------------
|
||||
protected void CloseFormWithAlert (String message)
|
||||
{
|
||||
Device.BeginInvokeOnMainThread(async () =>
|
||||
{
|
||||
await DisplayAlert(MessageTitle, message, "OK");
|
||||
await Navigation.PopModalAsync();
|
||||
});
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I n i t i a l i s e
|
||||
@@ -120,6 +143,20 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Base
|
||||
buttonClose.Clicked += ButtonClose_Clicked;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Add label and control to form grid.
|
||||
/// <para>NB Control takes up 2 rows by default to allow for control pairs (control + button etc).</para>
|
||||
/// </summary>
|
||||
protected static void AddControlViewToGrid (SlmGrid grid, SlmControlView controlView)
|
||||
{
|
||||
int rowIdx = grid.RowDefinitions.Count;
|
||||
grid.RowDefinitions.Add(new RowDefinition() { Height = GridLength.Auto });
|
||||
grid.Children.Add(controlView.Label, 0, rowIdx);
|
||||
grid.Children.Add(controlView, 1, rowIdx);
|
||||
Grid.SetColumnSpan(controlView, 2);
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// C o n f i g u r e F o r m
|
||||
//-------------------------------------------------------------------
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
using Sarand.Core.App;
|
||||
using Sarand.Core.Mobile.Utils;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.App;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Forms.Base;
|
||||
using Sarand.LogisticsMgr.Mobile.Core.Mgr;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
@@ -21,6 +23,11 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Panels
|
||||
//-------------------------------------------------------------------
|
||||
// Data members.
|
||||
private Config config;
|
||||
private SlmAccountMgr_Mobile accountMgr;
|
||||
private SlmBerthingMgr_Mobile berthingMgr;
|
||||
private SlmAssetMgr_Mobile assetMgr;
|
||||
private SlmWebServiceClient webServiceClient;
|
||||
// Layout.
|
||||
private SlmFrame viewPanel = new SlmFrame();
|
||||
private SlmStackLayout stackLayout = new SlmStackLayout() { Orientation = StackOrientation.Vertical };
|
||||
private SlmGrid gridCaption = new SlmGrid();
|
||||
@@ -111,8 +118,18 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Forms.Panels
|
||||
get { return labelCaption.Text; }
|
||||
set { if (labelCaption.Text.Equals(value)) return; labelCaption.Text = value; }
|
||||
}
|
||||
// Session.
|
||||
protected SlmUserContext_Mobile UserContext { get { return SlmGlobals_Mobile.SessionProfile.UserContext_Mobile; } }
|
||||
protected SlmSessionContext_Mobile SessionContext { get { return SlmGlobals_Mobile.SessionProfile.SessionContext_Mobile; } }
|
||||
// Layout.
|
||||
protected SlmPanel SummaryPanel { get { return panelSummary; } }
|
||||
protected SlmPanel DetailsPanel { get { return panelDetails; } }
|
||||
protected String ErrorStateMessage { get; set; }
|
||||
// Managers.
|
||||
protected SlmAccountMgr_Mobile AccountMgr { get { if (accountMgr == null) accountMgr = new SlmAccountMgr_Mobile(SessionContext); return accountMgr; } }
|
||||
protected SlmBerthingMgr_Mobile BerthingMgr { get { if (berthingMgr == null) berthingMgr = new SlmBerthingMgr_Mobile(SessionContext); return berthingMgr; } }
|
||||
protected SlmAssetMgr_Mobile AssetMgr { get { if (assetMgr == null) assetMgr = new SlmAssetMgr_Mobile(SessionContext); return assetMgr; } }
|
||||
public SlmWebServiceClient WebServiceClient { get { if (webServiceClient == null) webServiceClient = new SlmWebServiceClient(); return webServiceClient; } }
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// I t e m s T o g g l e
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
String fn = GetType().Name + ".GetAddress_Mobile";
|
||||
|
||||
// Request item data.
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.GetItemData(GetAddressRequestConfig(SlmWebServiceRequest.RequestType.Data, taskData.Debug), GetAddressQueryFilter_Mobile(prmAddress), taskData);
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.RequestItemData(GetAddressRequestConfig(SlmWebServiceRequest.RequestType.Item, taskData.Debug), GetAddressQueryFilter_Mobile(prmAddress), taskData);
|
||||
XElement dataElement = responseData.DataElement;
|
||||
if (dataElement == null) throw new NotSupportedException("No data element found in Address data response.");
|
||||
|
||||
@@ -246,7 +246,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
public async Task<long> GetCAddressCount_Mobile (SlmAddress.Params prmAddress, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.GetItemCount(GetAddressRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetAddressQueryFilter_Mobile(prmAddress), taskData);
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.RequestItemCount(GetAddressRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetAddressQueryFilter_Mobile(prmAddress), taskData);
|
||||
return responseData.ItemCount;
|
||||
}
|
||||
|
||||
@@ -344,7 +344,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmAddress.Column column in addressColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetAddressRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetAddressQueryFilter_Mobile(prmAddress), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetAddressRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetAddressQueryFilter_Mobile(prmAddress), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,22 +57,25 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
public async Task<SlmCompany> GetCompany_Mobile (SlmCompany.Params prmCompany, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
List<SlmCompany> companies = new List<SlmCompany>();
|
||||
String fn = GetType().Name + ".GetCompany_Mobile";
|
||||
|
||||
// Request item data.
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.GetItemData(GetCompanyRequestConfig(SlmWebServiceRequest.RequestType.Data, taskData.Debug), GetCompanyQueryFilter_Mobile(prmCompany), taskData);
|
||||
XElement dataElement = responseData.DataElement;
|
||||
if (dataElement == null) throw new NotSupportedException("No data element found in Company data response.");
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.RequestItemData(GetCompanyRequestConfig(SlmWebServiceRequest.RequestType.Item, taskData.Debug), GetCompanyQueryFilter_Mobile(prmCompany), taskData);
|
||||
if (responseData.DataElement == null) throw new NotSupportedException("No data element found in Company data response.");
|
||||
if (responseData.ItemElement == null) throw new NotSupportedException("No item element found in Company data response.");
|
||||
if (responseData.Item == null) throw new NotSupportedException("No item extracted from Company data response.");
|
||||
|
||||
return CreateCompany_Mobile(responseData.Item);
|
||||
}
|
||||
public SlmCompany_Mobile CreateCompany_Mobile (SlmWebServiceItemData itemData)
|
||||
{
|
||||
// Item construction properties.
|
||||
SysId id = new SysId(StringUtil.ToInt(dataElement.GetChildText(SlmCompany.Column.Id.ToString())));
|
||||
Slm.CompanyType companyType = EnumUtil.ParseEnum(dataElement.GetChildText(SlmCompany.Column.CompanyType.ToString()), Slm.CompanyType.Unknown);
|
||||
ushort flags = (ushort)StringUtil.ToInt(dataElement.GetChildText(SlmCompany.Column.Id.ToString()));
|
||||
SysId id = itemData.GetIdValue(nameof(SlmCompany.Id));
|
||||
Slm.CompanyType companyType = EnumUtil.ParseEnum(itemData.GetValue(nameof(SlmCompany.CompanyType)), Slm.CompanyType.Unknown);
|
||||
ushort flags = (ushort)itemData.GetIntValue(nameof(SlmCompany.Flags));
|
||||
// Create item.
|
||||
SlmCompany_Mobile company = new SlmCompany_Mobile(Site, id, companyType, flags);
|
||||
// Populate item properties.
|
||||
PopulateFrom(dataElement, company);
|
||||
PopulateFrom(itemData, company);
|
||||
return company;
|
||||
}
|
||||
|
||||
@@ -130,55 +133,43 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo (XElement companyElement, SlmCompany company, DbUpdateInfo dbUpdateInfo)
|
||||
private void PopulateTo (XElement companyElement, SlmCompany company, List<String> excludedProperties, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
companyElement.AppendElement("Id", SysId.ToString(company.Id));
|
||||
companyElement.AppendElement("Type", company.CompanyType.ToString());
|
||||
companyElement.AppendElement("Code", company.Code);
|
||||
companyElement.AppendElement("Sort", company.Sort);
|
||||
companyElement.AppendElement("Name", company.Name);
|
||||
companyElement.AppendElement("DataSource", company.DataSource.ToString());
|
||||
companyElement.AppendElement("WebAuthorise", company.WebAuthorise);
|
||||
companyElement.AppendElement("DisplayColour", company.DisplayColour);
|
||||
companyElement.AppendElement("Phone", company.Phone);
|
||||
companyElement.AppendElement("Fax", company.Fax);
|
||||
companyElement.AppendElement("Contact", company.Contact);
|
||||
companyElement.AppendElement("InvoicingProfile", company.InvoicingProfileData);
|
||||
companyElement.AppendElement("MaintenanceProfile", company.MaintenanceProfileData);
|
||||
companyElement.AppendElement(nameof(SlmCompany.Id), SysId.ToString(company.Id));
|
||||
companyElement.AppendElement(nameof(SlmCompany.CompanyType), company.CompanyType.ToString());
|
||||
companyElement.AppendElement(nameof(SlmCompany.Code), company.Code);
|
||||
companyElement.AppendElement(nameof(SlmCompany.Sort), company.Sort);
|
||||
companyElement.AppendElement(nameof(SlmCompany.Name), company.Name);
|
||||
companyElement.AppendElement(nameof(SlmCompany.DataSource), company.DataSource.ToString());
|
||||
companyElement.AppendElement(nameof(SlmCompany.WebAuthorise), company.WebAuthorise);
|
||||
companyElement.AppendElement(nameof(SlmCompany.DisplayColour), company.DisplayColour);
|
||||
companyElement.AppendElement(nameof(SlmCompany.Phone), company.Phone);
|
||||
companyElement.AppendElement(nameof(SlmCompany.Fax), company.Fax);
|
||||
companyElement.AppendElement(nameof(SlmCompany.Contact), company.Contact);
|
||||
if (!excludedProperties.ContainsCI(nameof(SlmCompany.InvoicingProfileData)))
|
||||
companyElement.AppendElement(nameof(SlmCompany.InvoicingProfileData), company.InvoicingProfileData);
|
||||
if (!excludedProperties.ContainsCI(nameof(SlmCompany.MaintenanceProfileData)))
|
||||
companyElement.AppendElement(nameof(SlmCompany.MaintenanceProfileData), company.MaintenanceProfileData);
|
||||
// Common properties.
|
||||
companyElement.AppendElement("Notes", company.Notes);
|
||||
companyElement.AppendElement("Status", SacsSystem.GetStatusCode(company.Status));
|
||||
companyElement.AppendElement("Flags", company.Flags.ToString());
|
||||
if (!SysId.IsValid(company.Id))
|
||||
{
|
||||
companyElement.AppendElement("CreateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
companyElement.AppendElement("CreateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
companyElement.AppendElement("CreateHost", dbUpdateInfo.Host);
|
||||
}
|
||||
companyElement.AppendElement("UpdateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
companyElement.AppendElement("UpdateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
companyElement.AppendElement("UpdateHost", dbUpdateInfo.Host);
|
||||
this.PopulateCommonPropertiesTo(companyElement, company, excludedProperties, dbUpdateInfo);
|
||||
}
|
||||
private void PopulateFrom (XElement companyElement, SlmCompany company)
|
||||
private void PopulateFrom (SlmWebServiceItemData itemData, SlmCompany company)
|
||||
{
|
||||
//company.Id = new SysId(StringUtil.ToInt(companyElement.GetChildText("Id")));
|
||||
//company.Type = EnumUtil.ParseEnum(companyElement.GetChildText("Type"), Slm.CompanyType.Unknown);
|
||||
company.Code = companyElement.GetChildText("Code");
|
||||
company.Sort = companyElement.GetChildText("Sort");
|
||||
company.Name = companyElement.GetChildText("Name");
|
||||
company.DataSource = EnumUtil.ParseEnum(companyElement.GetChildText("DataSource"), Slm.DataSourceType.Unknown);
|
||||
company.WebAuthorise = companyElement.GetChildText("WebAuthorise");
|
||||
company.DisplayColour = companyElement.GetChildText("DisplayColour");
|
||||
company.Phone = companyElement.GetChildText("Phone");
|
||||
company.Fax = companyElement.GetChildText("Fax");
|
||||
company.Contact = companyElement.GetChildText("Contact");
|
||||
company.InvoicingProfileData = companyElement.GetChildText("InvoicingProfile");
|
||||
company.MaintenanceProfileData = companyElement.GetChildText("MaintenanceProfile");
|
||||
//company.Id = new SysId(StringUtil.ToInt(companyElement.GetChildText(nameof(SlmCompany.Id))));
|
||||
//company.CompanyType = EnumUtil.ParseEnum(companyElement.GetChildText(nameof(SlmCompany.CompanyType)), Slm.CompanyType.Unknown);
|
||||
company.Code = itemData.GetValue(nameof(SlmCompany.Code));
|
||||
company.Sort = itemData.GetValue(nameof(SlmCompany.Sort));
|
||||
company.Name = itemData.GetValue(nameof(SlmCompany.Name));
|
||||
company.DataSource = EnumUtil.ParseEnum(itemData.GetValue(nameof(SlmCompany.DataSource)), Slm.DataSourceType.Unknown);
|
||||
company.WebAuthorise = itemData.GetValue(nameof(SlmCompany.WebAuthorise));
|
||||
company.DisplayColour = itemData.GetValue(nameof(SlmCompany.DisplayColour));
|
||||
company.Phone = itemData.GetValue(nameof(SlmCompany.Phone));
|
||||
company.Fax = itemData.GetValue(nameof(SlmCompany.Fax));
|
||||
company.Contact = itemData.GetValue(nameof(SlmCompany.Contact));
|
||||
company.InvoicingProfileData = itemData.GetValue(nameof(SlmCompany.InvoicingProfileData));
|
||||
company.MaintenanceProfileData = itemData.GetValue(nameof(SlmCompany.MaintenanceProfileData));
|
||||
// Common properties.
|
||||
company.Notes = companyElement.GetChildText("Notes");
|
||||
company.Status = SacsSystem.GetStatusForCode(companyElement.GetChildText("Status"));
|
||||
company.SetCreateStamp(DateUtil.ParseXmlDateTime(companyElement.GetChildText("CreateOn")), new SysId(StringUtil.ToInt(companyElement.GetChildText("CreateBy"))), companyElement.GetChildText("CreateHost"));
|
||||
company.SetUpdateStamp(DateUtil.ParseXmlDateTime(companyElement.GetChildText("UpdateOn")), new SysId(StringUtil.ToInt(companyElement.GetChildText("UpdateBy"))), companyElement.GetChildText("UpdateHost"));
|
||||
this.PopulateCommonPropertiesFrom(itemData, company);
|
||||
company.AcceptChanges();
|
||||
}
|
||||
|
||||
@@ -254,7 +245,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
public async Task<long> GetCompanyCount_Mobile (SlmCompany.Params prmCompany, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.GetItemCount(GetCompanyRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetCompanyQueryFilter_Mobile(prmCompany), taskData);
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.RequestItemCount(GetCompanyRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetCompanyQueryFilter_Mobile(prmCompany), taskData);
|
||||
return responseData.ItemCount;
|
||||
}
|
||||
|
||||
@@ -262,73 +253,16 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
// Company list.
|
||||
public override List<SlmCompany> GetCompanyList (SlmCompany.Params prmCompany)
|
||||
{
|
||||
List<SlmCompany> companies = new List<SlmCompany>();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<List<SlmCompany>> GetCompanyList_Mobile (SlmCompany.Params prmCompany, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
List<SlmCompany> companies = new List<SlmCompany>();
|
||||
String fn = GetType().Name + ".GetCompanyList_Mobile";
|
||||
|
||||
// Company columns.
|
||||
List<SlmCompany.Column> columns = new List<SlmCompany.Column>()
|
||||
{
|
||||
SlmCompany.Column.Id,
|
||||
SlmCompany.Column.CompanyType,
|
||||
SlmCompany.Column.Code,
|
||||
SlmCompany.Column.Sort,
|
||||
SlmCompany.Column.Name,
|
||||
SlmCompany.Column.DataSource,
|
||||
SlmCompany.Column.WebAuthorise,
|
||||
SlmCompany.Column.DisplayColour,
|
||||
SlmCompany.Column.Phone,
|
||||
SlmCompany.Column.Fax,
|
||||
SlmCompany.Column.Contact,
|
||||
SlmCompany.Column.InvoicingProfileData,
|
||||
SlmCompany.Column.MaintenanceProfileData,
|
||||
SlmCompany.Column.Notes,
|
||||
SlmCompany.Column.Flags,
|
||||
SlmCompany.Column.Status
|
||||
};
|
||||
|
||||
List<SlmWebServiceItemData> itemDataList = await ExecuteCompanyQuery_Mobile(columns, prmCompany, taskData);
|
||||
foreach (SlmWebServiceItemData itemData in itemDataList)
|
||||
{
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
// Item construction properties.
|
||||
SysId id = itemData.GetIdValue(SlmCompany.Column.Id);
|
||||
Slm.CompanyType companyType = EnumUtil.ParseEnum(itemData.GetValue(SlmCompany.Column.CompanyType), Slm.CompanyType.Unknown);
|
||||
ushort flags = (ushort)itemData.GetIntValue(SlmCompany.Column.Flags);
|
||||
// Create item.
|
||||
SlmCompany_Mobile company = new SlmCompany_Mobile(Site, id, companyType, flags);
|
||||
// Populate item properties.
|
||||
foreach (SlmCompany.Column column in columns)
|
||||
{
|
||||
String value = itemData.GetValue(column);
|
||||
switch (column)
|
||||
{
|
||||
case SlmCompany.Column.Code: company.Code = value; break;
|
||||
case SlmCompany.Column.Sort: company.Sort = value; break;
|
||||
case SlmCompany.Column.Name: company.Name = value; break;
|
||||
case SlmCompany.Column.DataSource: company.DataSource = EnumUtil.ParseEnum(value, Slm.DataSourceType.Unknown); break;
|
||||
case SlmCompany.Column.WebAuthorise: company.WebAuthorise = value; break;
|
||||
case SlmCompany.Column.DisplayColour: company.DisplayColour = value; break;
|
||||
case SlmCompany.Column.Phone: company.Phone = value; break;
|
||||
case SlmCompany.Column.Fax: company.Fax = value; break;
|
||||
case SlmCompany.Column.Contact: company.Contact = value; break;
|
||||
case SlmCompany.Column.InvoicingProfileData: company.InvoicingProfileData = value; break;
|
||||
case SlmCompany.Column.MaintenanceProfileData: company.MaintenanceProfileData = value; break;
|
||||
case SlmCompany.Column.Notes: company.Notes = value; break;
|
||||
case SlmCompany.Column.Status: company.Status = SacsSystem.GetStatusForCode(value); break;
|
||||
}
|
||||
}
|
||||
companies.Add(company);
|
||||
}
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
|
||||
if (taskData.Debug) Logger.Debug(fn + " Companies: " + companies.Count);
|
||||
return companies;
|
||||
List<SlmCompany> berthings = new List<SlmCompany>();
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.RequestItemList(GetCompanyRequestConfig(SlmWebServiceRequest.RequestType.ItemList, taskData.Debug), GetCompanyQueryFilter_Mobile(prmCompany), taskData);
|
||||
foreach (SlmWebServiceItemData itemData in responseData.Items)
|
||||
berthings.Add(CreateCompany_Mobile(itemData));
|
||||
return berthings;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
@@ -347,7 +281,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmCompany.Column column in companyColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetCompanyRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetCompanyQueryFilter_Mobile(prmCompany), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetCompanyRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetCompanyQueryFilter_Mobile(prmCompany), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
|
||||
@@ -72,7 +72,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
String fn = GetType().Name + ".GetAssetMovement_Mobile";
|
||||
|
||||
// Request item data.
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.GetItemData(GetAssetMovementRequestConfig(SlmWebServiceRequest.RequestType.Data, taskData.Debug), GetAssetMovementQueryFilter_Mobile(prmAssetMovement), taskData);
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.RequestItemData(GetAssetMovementRequestConfig(SlmWebServiceRequest.RequestType.Item, taskData.Debug), GetAssetMovementQueryFilter_Mobile(prmAssetMovement), taskData);
|
||||
if (responseData.DataElement == null) throw new NotSupportedException("No data element found in AssetMovement data response.");
|
||||
if (responseData.ItemElement == null) throw new NotSupportedException("No item element found in AssetMovement data response.");
|
||||
if (responseData.Item == null) throw new NotSupportedException("No item extracted from AssetMovement data response.");
|
||||
@@ -438,7 +438,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
public async Task<long> GetAssetMovementCount_Mobile (SlmAssetMovement.Params prmAssetMovement, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.GetItemCount(GetAssetMovementRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetAssetMovementQueryFilter_Mobile(prmAssetMovement), taskData);
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.RequestItemCount(GetAssetMovementRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetAssetMovementQueryFilter_Mobile(prmAssetMovement), taskData);
|
||||
return responseData.ItemCount;
|
||||
}
|
||||
|
||||
@@ -597,7 +597,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmAssetMovement.Column column in assetMovementColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetAssetMovementRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetAssetMovementQueryFilter_Mobile(prmAssetMovement), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetAssetMovementRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetAssetMovementQueryFilter_Mobile(prmAssetMovement), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
String fn = GetType().Name + ".GetAssetRepair_Mobile";
|
||||
|
||||
// Request item data.
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.GetItemData(GetAssetRepairRequestConfig(SlmWebServiceRequest.RequestType.Data, taskData.Debug), GetAssetRepairQueryFilter_Mobile(prmAssetRepair), taskData);
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.RequestItemData(GetAssetRepairRequestConfig(SlmWebServiceRequest.RequestType.Item, taskData.Debug), GetAssetRepairQueryFilter_Mobile(prmAssetRepair), taskData);
|
||||
if (responseData.Item == null) SetErrorState("Asset Repair not present in response.");
|
||||
return GetAssetRepair(responseData.Item);
|
||||
}
|
||||
@@ -253,7 +253,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
public async Task<long> GetCAssetRepairCount_Mobile (SlmAssetRepair.Params prmAssetRepair, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.GetItemCount(GetAssetRepairRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetAssetRepairQueryFilter_Mobile(prmAssetRepair), taskData);
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.RequestItemCount(GetAssetRepairRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetAssetRepairQueryFilter_Mobile(prmAssetRepair), taskData);
|
||||
return responseData.ItemCount;
|
||||
}
|
||||
|
||||
@@ -352,7 +352,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmAssetRepair.Column column in assetRepairColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetAssetRepairRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetAssetRepairQueryFilter_Mobile(prmAssetRepair), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetAssetRepairRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetAssetRepairQueryFilter_Mobile(prmAssetRepair), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
String fn = GetType().Name + ".GetContainer_Mobile";
|
||||
|
||||
// Request item data.
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.GetItemData(GetContainerRequestConfig(SlmWebServiceRequest.RequestType.Data, taskData.Debug), GetContainerQueryFilter_Mobile(prmContainer), taskData);
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.RequestItemData(GetContainerRequestConfig(SlmWebServiceRequest.RequestType.Item, taskData.Debug), GetContainerQueryFilter_Mobile(prmContainer), taskData);
|
||||
if (responseData.DataElement == null) throw new NotSupportedException("No data element found in Container data response.");
|
||||
if (responseData.ItemElement == null) throw new NotSupportedException("No item element found in Container data response.");
|
||||
if (responseData.Item == null) throw new NotSupportedException("No item extracted from Container data response.");
|
||||
|
||||
@@ -275,7 +275,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmBerthingCost.Column column in berthingCostColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetBerthingCostRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetBerthingCostQueryFilter_Mobile(prmBerthingCost), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetBerthingCostRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetBerthingCostQueryFilter_Mobile(prmBerthingCost), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -292,46 +292,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetBerthingCostDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmBerthingCost.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// BerthingCost Category.
|
||||
case SlmBerthingCost.Column.BerthingCostCategory_Desc:
|
||||
{
|
||||
Slm.BerthingCostCategory berthingCostCategory = (Slm.BerthingCostCategory)values.GetValue(column.DataName).AsLong();
|
||||
value = new DataValue(berthingCostCategories.GetDescForType((int)berthingCostCategory, berthingCostCategory.ToString()));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmBerthingCost.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmBerthingCost.Column.Status_Desc:
|
||||
case SlmBerthingCost.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmBerthingCost.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmBerthingCost.Column.Status_Ind)
|
||||
value = new DataValue(SlmBerthingCost.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -291,7 +291,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmBerthingResource.Column column in berthingResourceColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetBerthingResourceRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetBerthingResourceQueryFilter_Mobile(prmBerthingResource), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetBerthingResourceRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetBerthingResourceQueryFilter_Mobile(prmBerthingResource), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -308,40 +308,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetBerthingResourceDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmBerthingResource.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// BerthingResource Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmBerthingResource.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmBerthingResource.Column.Status_Desc:
|
||||
case SlmBerthingResource.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmBerthingResource.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmBerthingResource.Column.Status_Ind)
|
||||
value = new DataValue(SlmBerthingResource.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -25,10 +25,8 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
// BerthingTask exists.
|
||||
public override bool BerthingTaskExistsById (SysId id)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
// Create BerthingTask.
|
||||
public override SlmBerthingTask CreateBerthingTask (SysId berthingId ,Slm.BerthingTaskType berthingTaskType)
|
||||
{
|
||||
@@ -40,14 +38,37 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
// Get BerthingTask.
|
||||
public override SlmBerthingTask GetBerthingTask (SlmBerthingTask.Params prmBerthingTask)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public override SlmBerthingTask GetBerthingTaskById (SysId id)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<SlmBerthingTask> GetBerthingTask_Mobile (SlmBerthingTask_Mobile.Params prmBerthingTask, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
String fn = GetType().Name + ".GetBerthingTask_Mobile";
|
||||
|
||||
// Request item data.
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.RequestItemData(GetBerthingTaskRequestConfig(SlmWebServiceRequest.RequestType.Item, taskData.Debug), GetBerthingTaskQueryFilter_Mobile(prmBerthingTask), taskData);
|
||||
if (responseData.DataElement == null) throw new NotSupportedException("No data element found in BerthingTask data response.");
|
||||
if (responseData.ItemElement == null) throw new NotSupportedException("No item element found in BerthingTask data response.");
|
||||
if (responseData.Item == null) throw new NotSupportedException("No item extracted from BerthingTask data response.");
|
||||
|
||||
return CreateBerthingTask_Mobile(responseData.Item);
|
||||
}
|
||||
public SlmBerthingTask_Mobile CreateBerthingTask_Mobile (SlmWebServiceItemData itemData)
|
||||
{
|
||||
// Item construction properties.
|
||||
SysId id = itemData.GetIdValue(nameof(SlmBerthingTask.Id));
|
||||
SysId berthingid = itemData.GetIdValue(nameof(SlmBerthingTask.BerthingId));
|
||||
Slm.BerthingTaskType berthingTaskType = EnumUtil.ParseEnum(itemData.GetValue(nameof(SlmBerthingTask.BerthingTaskType)),Slm.BerthingTaskType.Unknown);
|
||||
ushort flags = (ushort)itemData.GetIntValue(nameof(SlmBerthingTask.Flags));
|
||||
// Create item.
|
||||
SlmBerthingTask_Mobile berthingTask = new SlmBerthingTask_Mobile(Site, id, berthingid, berthingTaskType, flags);
|
||||
PopulateFrom(itemData, berthingTask);
|
||||
return berthingTask;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate BerthingTask.
|
||||
@@ -95,39 +116,27 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo (XElement berthingTaskElement, SlmBerthingTask berthingTask, DbUpdateInfo dbUpdateInfo)
|
||||
private void PopulateTo (XElement berthingTaskElement, SlmBerthingTask berthingTask, List<String> excludedProperties, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
berthingTaskElement.AppendElement("Id", SysId.ToString(berthingTask.Id));
|
||||
berthingTaskElement.AppendElement("BerthingId", SysId.ToString(berthingTask.BerthingId));
|
||||
berthingTaskElement.AppendElement("Type", berthingTask.BerthingTaskType.ToString());
|
||||
berthingTaskElement.AppendElement("Started", DateUtil.FormatXmlDateTime(berthingTask.Started));
|
||||
berthingTaskElement.AppendElement("Completed", DateUtil.FormatXmlDateTime(berthingTask.Completed));
|
||||
berthingTaskElement.AppendElement("Remarks", berthingTask.Remarks);
|
||||
berthingTaskElement.AppendElement("Notes", berthingTask.Notes);
|
||||
berthingTaskElement.AppendElement("Status", SacsSystem.GetStatusCode(berthingTask.Status));
|
||||
berthingTaskElement.AppendElement("Flags", berthingTask.Flags.ToString());
|
||||
if (!SysId.IsValid(berthingTask.Id))
|
||||
{
|
||||
berthingTaskElement.AppendElement("CreateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
berthingTaskElement.AppendElement("CreateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
berthingTaskElement.AppendElement("CreateHost", dbUpdateInfo.Host);
|
||||
}
|
||||
berthingTaskElement.AppendElement("UpdateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
berthingTaskElement.AppendElement("UpdateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
berthingTaskElement.AppendElement("UpdateHost", dbUpdateInfo.Host);
|
||||
berthingTaskElement.AppendElement(nameof(SlmBerthingTask.Id), SysId.ToString(berthingTask.Id));
|
||||
berthingTaskElement.AppendElement(nameof(SlmBerthingTask.BerthingId), SysId.ToString(berthingTask.BerthingId));
|
||||
berthingTaskElement.AppendElement(nameof(SlmBerthingTask.BerthingTaskType), berthingTask.BerthingTaskType.ToString());
|
||||
berthingTaskElement.AppendElement(nameof(SlmBerthingTask.Started), DateUtil.FormatXmlDateTime(berthingTask.Started));
|
||||
berthingTaskElement.AppendElement(nameof(SlmBerthingTask.Completed), DateUtil.FormatXmlDateTime(berthingTask.Completed));
|
||||
berthingTaskElement.AppendElement(nameof(SlmBerthingTask.Remarks), berthingTask.Remarks);
|
||||
// Common properties.
|
||||
this.PopulateCommonPropertiesTo(berthingTaskElement, berthingTask, excludedProperties, dbUpdateInfo);
|
||||
}
|
||||
private void PopulateFrom (XElement berthingTaskElement, SlmBerthingTask berthingTask)
|
||||
private void PopulateFrom (SlmWebServiceItemData itemData, SlmBerthingTask berthingTask)
|
||||
{
|
||||
//berthingTask.Id = new SysId(StringUtil.ToInt(berthingTaskElement.GetChildText("Id")));
|
||||
//berthingTask.BerthingId = new SysId(StringUtil.ToInt(berthingTaskElement.GetChildText("BerthingId")));
|
||||
//berthingTask.BerthingTaskType = EnumUtil.ParseEnum(berthingTaskElement.GetChildText("Type"), Slm.BerthingTaskType.Unknown);
|
||||
berthingTask.Started = DateUtil.ParseXmlDateTime(berthingTaskElement.GetChildText("Started"));
|
||||
berthingTask.Completed = DateUtil.ParseXmlDateTime(berthingTaskElement.GetChildText("Completed"));
|
||||
berthingTask.Remarks = berthingTaskElement.GetChildText("Remarks");
|
||||
berthingTask.Notes = berthingTaskElement.GetChildText("Notes");
|
||||
berthingTask.Status = SacsSystem.GetStatusForCode(berthingTaskElement.GetChildText("Status"));
|
||||
berthingTask.SetCreateStamp(DateUtil.ParseXmlDateTime(berthingTaskElement.GetChildText("CreateOn")), new SysId(StringUtil.ToInt(berthingTaskElement.GetChildText("CreateBy"))), berthingTaskElement.GetChildText("CreateHost"));
|
||||
berthingTask.SetUpdateStamp(DateUtil.ParseXmlDateTime(berthingTaskElement.GetChildText("UpdateOn")), new SysId(StringUtil.ToInt(berthingTaskElement.GetChildText("UpdateBy"))), berthingTaskElement.GetChildText("UpdateHost"));
|
||||
//berthingTask.Id = itemData.GetIdValue(nameof(SlmBerthingTask.Id));
|
||||
//berthingTask.BerthingId = itemData.GetIdValue(nameof(SlmBerthingTask.BerthingId));
|
||||
//berthingTask.BerthingTaskType = EnumUtil.ParseEnum(itemData.GetValue(nameof(SlmBerthingTask.BerthingTaskType)), Slm.BerthingTaskType.Unknown);
|
||||
berthingTask.Started = itemData.GetDateTimeValue(nameof(SlmBerthingTask.Started));
|
||||
berthingTask.Completed = itemData.GetDateTimeValue(nameof(SlmBerthingTask.Completed));
|
||||
berthingTask.Remarks = itemData.GetValue(nameof(SlmBerthingTask.Remarks));
|
||||
// Common properties.
|
||||
this.PopulateCommonPropertiesFrom(itemData, berthingTask);
|
||||
berthingTask.AcceptChanges();
|
||||
}
|
||||
|
||||
@@ -155,29 +164,29 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
Dictionary<String, String> filter = new Dictionary<string, string>();
|
||||
|
||||
// BerthingTask Id.
|
||||
if (prm.IncludedIds.Count > 0) filter.Add("IncludedIds", prm.IncludedIds.Concat(","));
|
||||
if (prm.ExcludedIds.Count > 0) filter.Add("ExcludedIds", prm.ExcludedIds.Concat(","));
|
||||
if (prm.IncludedIds.Count > 0) filter.Add(nameof(prm.IncludedIds), prm.IncludedIds.Concat(","));
|
||||
if (prm.ExcludedIds.Count > 0) filter.Add(nameof(prm.ExcludedIds), prm.ExcludedIds.Concat(","));
|
||||
|
||||
// Berthing Id.
|
||||
if (SysId.IsValid(prm.BerthingId)) filter.Add("BerthingId", SysId.ToString(prm.BerthingId));
|
||||
if (SysId.IsValid(prm.BerthingId)) filter.Add(nameof(prm.BerthingId), SysId.ToString(prm.BerthingId));
|
||||
|
||||
// BerthingTask type.
|
||||
if ((int)prm.BerthingTaskType > 0) filter.Add("BerthingTaskType", ((int)prm.BerthingTaskType).ToString());
|
||||
if ((int)prm.BerthingTaskType > 0) filter.Add(nameof(prm.BerthingTaskType), ((int)prm.BerthingTaskType).ToString());
|
||||
|
||||
// Started.
|
||||
if (DateUtil.IsValid(prm.Started)) filter.Add("Started", DateUtil.FormatXmlDate(prm.Started));
|
||||
if (DateUtil.IsValid(prm.Started)) filter.Add(nameof(prm.Started), DateUtil.FormatXmlDate(prm.Started));
|
||||
|
||||
// Notes.
|
||||
if (!StringUtil.IsEmpty(prm.NotesPartial)) filter.Add("NotesPartial", prm.NotesPartial);
|
||||
if (!StringUtil.IsEmpty(prm.NotesPartial)) filter.Add(nameof(prm.NotesPartial), prm.NotesPartial);
|
||||
|
||||
// Status.
|
||||
filter.Add("StatusCat", prm.StatusCat.ToString());
|
||||
filter.Add(nameof(prm.StatusCat), prm.StatusCat.ToString());
|
||||
|
||||
// Paging.
|
||||
if (prm.ResultsPaging.Paged)
|
||||
{
|
||||
filter.Add("PageNo", prm.ResultsPaging.PageNo.ToString());
|
||||
filter.Add("PageLength", prm.ResultsPaging.PageLength.ToString());
|
||||
filter.Add(nameof(prm.ResultsPaging.PageNo), prm.ResultsPaging.PageNo.ToString());
|
||||
filter.Add(nameof(prm.ResultsPaging.PageLength), prm.ResultsPaging.PageLength.ToString());
|
||||
}
|
||||
|
||||
return filter;
|
||||
@@ -206,56 +215,13 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
public async Task<List<SlmBerthingTask>> GetBerthingTaskList_Mobile (SlmBerthingTask.Params prmBerthingTask, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
List<SlmBerthingTask> companies = new List<SlmBerthingTask>();
|
||||
String fn = GetType().Name + ".GetBerthingTaskList_Mobile";
|
||||
|
||||
// BerthingTask columns.
|
||||
List<SlmBerthingTask.Column> columns = new List<SlmBerthingTask.Column>()
|
||||
{
|
||||
SlmBerthingTask.Column.Id,
|
||||
SlmBerthingTask.Column.BerthingId,
|
||||
SlmBerthingTask.Column.BerthingTaskType,
|
||||
SlmBerthingTask.Column.Started,
|
||||
SlmBerthingTask.Column.Completed,
|
||||
SlmBerthingTask.Column.Remarks,
|
||||
SlmBerthingTask.Column.Notes,
|
||||
SlmBerthingTask.Column.Flags,
|
||||
SlmBerthingTask.Column.Status
|
||||
};
|
||||
|
||||
List<SlmWebServiceItemData> itemDataList = await ExecuteBerthingTaskQuery_Mobile(columns, prmBerthingTask, taskData);
|
||||
foreach (SlmWebServiceItemData itemData in itemDataList)
|
||||
{
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
// Item construction properties.
|
||||
SysId id = itemData.GetIdValue(SlmBerthingTask.Column.Id);
|
||||
SysId berthingId = itemData.GetIdValue(SlmBerthingTask.Column.BerthingId);
|
||||
Slm.BerthingTaskType berthingTaskType = EnumUtil.ParseEnum(itemData.GetValue(SlmBerthingTask.Column.BerthingTaskType), Slm.BerthingTaskType.Unknown);
|
||||
ushort flags = (ushort)itemData.GetIntValue(SlmBerthingTask.Column.Flags);
|
||||
// Create item.
|
||||
SlmBerthingTask_Mobile berthingTask = new SlmBerthingTask_Mobile(Site, id, berthingId, berthingTaskType, flags);
|
||||
// Populate item properties.
|
||||
foreach (SlmBerthingTask.Column column in columns)
|
||||
{
|
||||
String value = itemData.GetValue(column);
|
||||
switch (column)
|
||||
{
|
||||
//case SlmBerthingTask.Column.BerthingId: berthingTask.BerthingId = itemData.GetIdValue(column); break;
|
||||
//case SlmBerthingTask.Column.BerthingTaskType: berthingTask.BerthingTaskType; break;
|
||||
case SlmBerthingTask.Column.Remarks: berthingTask.Remarks = value; break;
|
||||
case SlmBerthingTask.Column.Notes: berthingTask.Notes = value; break;
|
||||
case SlmBerthingTask.Column.Status: berthingTask.Status = SacsSystem.GetStatusForCode(value); break;
|
||||
}
|
||||
}
|
||||
companies.Add(berthingTask);
|
||||
}
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
|
||||
if (taskData.Debug) Logger.Debug(fn + " Companies: " + companies.Count);
|
||||
return companies;
|
||||
List<SlmBerthingTask> berthingTasks = new List<SlmBerthingTask>();
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.RequestItemList(GetBerthingTaskRequestConfig(SlmWebServiceRequest.RequestType.ItemList, taskData.Debug), GetBerthingTaskQueryFilter_Mobile(prmBerthingTask), taskData);
|
||||
foreach (SlmWebServiceItemData itemData in responseData.Items)
|
||||
berthingTasks.Add(CreateBerthingTask_Mobile(itemData));
|
||||
return berthingTasks;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// BerthingTask query execution.
|
||||
public override DbResultSet ExecuteBerthingTaskQuery (List<ColumnDfn> columns, SlmBerthingTask.Params prm)
|
||||
@@ -272,7 +238,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmBerthingTask.Column column in berthingTaskColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetBerthingTaskRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetBerthingTaskQueryFilter_Mobile(prmBerthingTask), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetBerthingTaskRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetBerthingTaskQueryFilter_Mobile(prmBerthingTask), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -289,40 +255,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetBerthingTaskDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmBerthingTask.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// BerthingTask Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmBerthingTask.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmBerthingTask.Column.Status_Desc:
|
||||
case SlmBerthingTask.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmBerthingTask.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmBerthingTask.Column.Status_Ind)
|
||||
value = new DataValue(SlmBerthingTask.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -25,10 +25,8 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
// Berthing exists.
|
||||
public override bool BerthingExistsById (SysId id)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
// Create Berthing.
|
||||
public override SlmBerthing CreateBerthing ()
|
||||
{
|
||||
@@ -40,14 +38,35 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
// Get Berthing.
|
||||
public override SlmBerthing GetBerthing (SlmBerthing.Params prmBerthing)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public override SlmBerthing GetBerthingById (SysId id)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<SlmBerthing> GetBerthing_Mobile (SlmBerthing_Mobile.Params prmBerthing, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
String fn = GetType().Name + ".GetBerthing_Mobile";
|
||||
|
||||
// Request item data.
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.RequestItemData(GetBerthingRequestConfig(SlmWebServiceRequest.RequestType.Item, taskData.Debug), GetBerthingQueryFilter_Mobile(prmBerthing), taskData);
|
||||
if (responseData.DataElement == null) throw new NotSupportedException("No data element found in Berthing data response.");
|
||||
if (responseData.ItemElement == null) throw new NotSupportedException("No item element found in Berthing data response.");
|
||||
if (responseData.Item == null) throw new NotSupportedException("No item extracted from Berthing data response.");
|
||||
|
||||
return CreateBerthing_Mobile(responseData.Item);
|
||||
}
|
||||
public SlmBerthing_Mobile CreateBerthing_Mobile (SlmWebServiceItemData itemData)
|
||||
{
|
||||
// Item construction properties.
|
||||
SysId id = itemData.GetIdValue(nameof(SlmBerthing.Id));
|
||||
ushort flags = (ushort)itemData.GetIntValue(nameof(SlmBerthing.Flags));
|
||||
// Create item.
|
||||
SlmBerthing_Mobile berthing = new SlmBerthing_Mobile(Site, id, flags);
|
||||
PopulateFrom(itemData, berthing);
|
||||
return berthing;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate Berthing.
|
||||
@@ -95,12 +114,12 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo (XElement berthingElement, SlmBerthing berthing, DbUpdateInfo dbUpdateInfo)
|
||||
private void PopulateTo (XElement berthingElement, SlmBerthing berthing, List<String> excludedProperties, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
berthingElement.AppendElement(nameof(berthing.Id), SysId.ToString(berthing.Id));
|
||||
berthingElement.AppendElement(nameof(berthing.VesselId), SysId.ToString(berthing.VesselId));
|
||||
berthingElement.AppendElement(nameof(berthing.AgentId), SysId.ToString(berthing.AgentId));
|
||||
berthingElement.AppendElement(nameof(berthing.CustomerId), SysId.ToString(berthing.CustomerId));
|
||||
berthingElement.AppendElement(nameof(berthing.CompanyIdAgent), SysId.ToString(berthing.CompanyIdAgent));
|
||||
berthingElement.AppendElement(nameof(berthing.CompanyIdCustomer), SysId.ToString(berthing.CompanyIdCustomer));
|
||||
berthingElement.AppendElement(nameof(berthing.Berth), berthing.Berth);
|
||||
berthingElement.AppendElement(nameof(berthing.Bollard), berthing.Bollard);
|
||||
berthingElement.AppendElement(nameof(berthing.Expected), DateUtil.FormatXmlDateTime(berthing.Expected));
|
||||
@@ -118,46 +137,34 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
berthingElement.AppendElement(nameof(berthing.RateQuayside), berthing.RateQuayside.ToString("N3"));
|
||||
berthingElement.AppendElement(nameof(berthing.RateOvertime), berthing.RateOvertime.ToString("N3"));
|
||||
berthingElement.AppendElement(nameof(berthing.SpecialInstr), berthing.SpecialInstr);
|
||||
berthingElement.AppendElement(nameof(berthing.Notes), berthing.Notes);
|
||||
berthingElement.AppendElement(nameof(berthing.Status), SacsSystem.GetStatusCode(berthing.Status));
|
||||
berthingElement.AppendElement(nameof(berthing.Flags), berthing.Flags.ToString());
|
||||
if (!SysId.IsValid(berthing.Id))
|
||||
{
|
||||
berthingElement.AppendElement("CreateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
berthingElement.AppendElement("CreateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
berthingElement.AppendElement("CreateHost", dbUpdateInfo.Host);
|
||||
}
|
||||
berthingElement.AppendElement("UpdateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
berthingElement.AppendElement("UpdateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
berthingElement.AppendElement("UpdateHost", dbUpdateInfo.Host);
|
||||
// Common properties.
|
||||
this.PopulateCommonPropertiesTo(berthingElement, berthing, excludedProperties, dbUpdateInfo);
|
||||
}
|
||||
private void PopulateFrom (XElement berthingElement, SlmBerthing berthing)
|
||||
private void PopulateFrom (SlmWebServiceItemData itemData, SlmBerthing berthing)
|
||||
{
|
||||
//berthing.Id = new SysId(StringUtil.ToInt(berthingElement.GetChildText("Id")));
|
||||
berthing.VesselId = new SysId(StringUtil.ToInt(berthingElement.GetChildText(nameof(berthing.VesselId))));
|
||||
berthing.AgentId = new SysId(StringUtil.ToInt(berthingElement.GetChildText(nameof(berthing.AgentId))));
|
||||
berthing.CustomerId = new SysId(StringUtil.ToInt(berthingElement.GetChildText(nameof(berthing.CustomerId))));
|
||||
berthing.Berth = berthingElement.GetChildText(nameof(berthing.Berth));
|
||||
berthing.Bollard = berthingElement.GetChildText(nameof(berthing.Bollard));
|
||||
berthing.Expected = DateUtil.ParseXmlDateTime(berthingElement.GetChildText(nameof(berthing.Expected)));
|
||||
berthing.CompletionEst = DateUtil.ParseXmlDateTime(berthingElement.GetChildText(nameof(berthing.CompletionEst)));
|
||||
berthing.Arrived = DateUtil.ParseXmlDateTime(berthingElement.GetChildText(nameof(berthing.Arrived)));
|
||||
berthing.Completed = DateUtil.ParseXmlDateTime(berthingElement.GetChildText(nameof(berthing.Completed)));
|
||||
berthing.Departed = DateUtil.ParseXmlDateTime(berthingElement.GetChildText(nameof(berthing.Departed)));
|
||||
berthing.Cargo = berthingElement.GetChildText(nameof(berthing.Cargo));
|
||||
berthing.Holds = decimal.ToByte(StringUtil.ToDecimal((berthingElement.GetChildText(nameof(berthing.Holds)))));
|
||||
berthing.TotalDischarge = StringUtil.ToDecimal(berthingElement.GetChildText(nameof(berthing.TotalDischarge)));
|
||||
berthing.HoursWorked = StringUtil.ToShort(berthingElement.GetChildText(nameof(berthing.HoursWorked)));
|
||||
berthing.StatsData = berthingElement.GetChildText(nameof(berthing.StatsData));
|
||||
berthing.RateConveyor = StringUtil.ToDecimal(berthingElement.GetChildText(nameof(berthing.RateConveyor)));
|
||||
berthing.RateLorry = StringUtil.ToDecimal(berthingElement.GetChildText(nameof(berthing.RateLorry)));
|
||||
berthing.RateQuayside = StringUtil.ToDecimal(berthingElement.GetChildText(nameof(berthing.RateQuayside)));
|
||||
berthing.RateOvertime = StringUtil.ToDecimal(berthingElement.GetChildText(nameof(berthing.RateOvertime)));
|
||||
berthing.SpecialInstr = berthingElement.GetChildText(nameof(berthing.SpecialInstr));
|
||||
berthing.Notes = berthingElement.GetChildText(nameof(berthing.Notes));
|
||||
berthing.Status = SacsSystem.GetStatusForCode(berthingElement.GetChildText(nameof(berthing.Status)));
|
||||
berthing.SetCreateStamp(DateUtil.ParseXmlDateTime(berthingElement.GetChildText("CreateOn")), new SysId(StringUtil.ToInt(berthingElement.GetChildText("CreateBy"))), berthingElement.GetChildText("CreateHost"));
|
||||
berthing.SetUpdateStamp(DateUtil.ParseXmlDateTime(berthingElement.GetChildText("UpdateOn")), new SysId(StringUtil.ToInt(berthingElement.GetChildText("UpdateBy"))), berthingElement.GetChildText("UpdateHost"));
|
||||
//berthing.Id = itemData.GetIdValue(nameof(SlmBerthing.Id));
|
||||
berthing.VesselId = itemData.GetIdValue(nameof(SlmBerthing.VesselId));
|
||||
berthing.CompanyIdAgent = itemData.GetIdValue(nameof(SlmBerthing.CompanyIdAgent));
|
||||
berthing.CompanyIdCustomer = itemData.GetIdValue(nameof(SlmBerthing.CompanyIdCustomer));
|
||||
berthing.Berth = itemData.GetValue(nameof(SlmBerthing.Berth));
|
||||
berthing.Bollard = itemData.GetValue(nameof(SlmBerthing.Bollard));
|
||||
berthing.Expected = itemData.GetDateTimeValue(nameof(SlmBerthing.Expected));
|
||||
berthing.CompletionEst = itemData.GetDateTimeValue(nameof(SlmBerthing.CompletionEst));
|
||||
berthing.Arrived = itemData.GetDateTimeValue(nameof(SlmBerthing.Arrived));
|
||||
berthing.Completed = itemData.GetDateTimeValue(nameof(SlmBerthing.Completed));
|
||||
berthing.Departed = itemData.GetDateTimeValue(nameof(SlmBerthing.Departed));
|
||||
berthing.Cargo = itemData.GetValue(nameof(SlmBerthing.Cargo));
|
||||
berthing.Holds = (byte)itemData.GetIntValue(nameof(SlmBerthing.Holds));
|
||||
berthing.TotalDischarge = itemData.GetDecimalValue(nameof(SlmBerthing.TotalDischarge));
|
||||
berthing.HoursWorked = (short)itemData.GetIntValue(nameof(SlmBerthing.HoursWorked));
|
||||
berthing.StatsData = itemData.GetValue(nameof(SlmBerthing.StatsData));
|
||||
berthing.RateConveyor = itemData.GetDecimalValue(nameof(SlmBerthing.RateConveyor));
|
||||
berthing.RateLorry = itemData.GetDecimalValue(nameof(SlmBerthing.RateLorry));
|
||||
berthing.RateQuayside = itemData.GetDecimalValue(nameof(SlmBerthing.RateQuayside));
|
||||
berthing.RateOvertime = itemData.GetDecimalValue(nameof(SlmBerthing.RateOvertime));
|
||||
berthing.SpecialInstr = itemData.GetValue(nameof(SlmBerthing.SpecialInstr));
|
||||
// Common properties.
|
||||
this.PopulateCommonPropertiesFrom(itemData, berthing);
|
||||
berthing.AcceptChanges();
|
||||
}
|
||||
|
||||
@@ -176,148 +183,113 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Berthing query filter.
|
||||
public override List<string> GetBerthingQueryFilter (SlmBerthing.Params prm)
|
||||
public override List<string> GetBerthingQueryFilter (SlmBerthing.Params prmBerthing)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public Dictionary<String, String> GetBerthingQueryFilter_Mobile (SlmBerthing.Params prm)
|
||||
public Dictionary<String, String> GetBerthingQueryFilter_Mobile (SlmBerthing_Mobile.Params prmBerthing)
|
||||
{
|
||||
Dictionary<String, String> filter = new Dictionary<string, string>();
|
||||
|
||||
// Berthing Id.
|
||||
if (prm.IncludedIds.Count > 0) filter.Add(nameof(prm.IncludedIds), prm.IncludedIds.Concat(","));
|
||||
if (prm.ExcludedIds.Count > 0) filter.Add(nameof(prm.ExcludedIds), prm.ExcludedIds.Concat(","));
|
||||
if (prmBerthing.IncludedIds.Count > 0) filter.Add(nameof(prmBerthing.IncludedIds), prmBerthing.IncludedIds.Concat(","));
|
||||
if (prmBerthing.ExcludedIds.Count > 0) filter.Add(nameof(prmBerthing.ExcludedIds), prmBerthing.ExcludedIds.Concat(","));
|
||||
|
||||
// Vessel Id.
|
||||
if (SysId.IsValid(prm.VesselId)) filter.Add(nameof(prm.VesselId), SysId.ToString(prm.VesselId));
|
||||
if (SysId.IsValid(prmBerthing.VesselId)) filter.Add(nameof(prmBerthing.VesselId), SysId.ToString(prmBerthing.VesselId));
|
||||
|
||||
// Agent Id.
|
||||
if (SysId.IsValid(prm.AgentId)) filter.Add(nameof(prm.AgentId), SysId.ToString(prm.AgentId));
|
||||
if (SysId.IsValid(prmBerthing.AgentId)) filter.Add(nameof(prmBerthing.AgentId), SysId.ToString(prmBerthing.AgentId));
|
||||
|
||||
// Customer Id.
|
||||
if (SysId.IsValid(prm.CustomerId)) filter.Add(nameof(prm.CustomerId), SysId.ToString(prm.CustomerId));
|
||||
if (SysId.IsValid(prmBerthing.CustomerId)) filter.Add(nameof(prmBerthing.CustomerId), SysId.ToString(prmBerthing.CustomerId));
|
||||
|
||||
// Customer.
|
||||
if (!StringUtil.IsEmpty(prm.CustomerPartial)) filter.Add(nameof(prm.CustomerPartial), prm.CustomerPartial);
|
||||
if (!StringUtil.IsEmpty(prmBerthing.CustomerPartial)) filter.Add(nameof(prmBerthing.CustomerPartial), prmBerthing.CustomerPartial);
|
||||
|
||||
// Arrived.
|
||||
if (DateUtil.IsValid(prm.ArrivedFrom)) filter.Add(nameof(prm.ArrivedFrom), DateUtil.FormatXmlDate(prm.ArrivedFrom));
|
||||
if (DateUtil.IsValid(prm.ArrivedTo)) filter.Add(nameof(prm.ArrivedTo), DateUtil.FormatXmlDate(prm.ArrivedTo));
|
||||
if (DateUtil.IsValid(prmBerthing.ArrivedFrom)) filter.Add(nameof(prmBerthing.ArrivedFrom), DateUtil.FormatXmlDate(prmBerthing.ArrivedFrom));
|
||||
if (DateUtil.IsValid(prmBerthing.ArrivedTo)) filter.Add(nameof(prmBerthing.ArrivedTo), DateUtil.FormatXmlDate(prmBerthing.ArrivedTo));
|
||||
|
||||
// 'Include all current'.
|
||||
if (prmBerthing.IncludeAllCurrent) filter.Add(nameof(prmBerthing.IncludeAllCurrent), prmBerthing.IncludeAllCurrent.ToString());
|
||||
|
||||
// Completed.
|
||||
if (DateUtil.IsValid(prm.CompletedFrom)) filter.Add(nameof(prm.CompletedFrom), DateUtil.FormatXmlDate(prm.CompletedFrom));
|
||||
if (DateUtil.IsValid(prm.CompletedTo)) filter.Add(nameof(prm.CompletedTo), DateUtil.FormatXmlDate(prm.CompletedTo));
|
||||
if (DateUtil.IsValid(prmBerthing.CompletedFrom)) filter.Add(nameof(prmBerthing.CompletedFrom), DateUtil.FormatXmlDate(prmBerthing.CompletedFrom));
|
||||
if (DateUtil.IsValid(prmBerthing.CompletedTo)) filter.Add(nameof(prmBerthing.CompletedTo), DateUtil.FormatXmlDate(prmBerthing.CompletedTo));
|
||||
|
||||
// Berth.
|
||||
if (!StringUtil.IsEmpty(prm.Berth)) filter.Add(nameof(prm.Berth), prm.Berth);
|
||||
if (!StringUtil.IsEmpty(prmBerthing.Berth)) filter.Add(nameof(prmBerthing.Berth), prmBerthing.Berth);
|
||||
|
||||
// Bollard.
|
||||
if (!StringUtil.IsEmpty(prm.Bollard)) filter.Add(nameof(prm.Bollard), prm.Bollard);
|
||||
if (!StringUtil.IsEmpty(prmBerthing.Bollard)) filter.Add(nameof(prmBerthing.Bollard), prmBerthing.Bollard);
|
||||
|
||||
// Vessel.
|
||||
if (!StringUtil.IsEmpty(prm.VesselPartial)) filter.Add(nameof(prm.VesselPartial), prm.VesselPartial);
|
||||
if (!StringUtil.IsEmpty(prmBerthing.VesselPartial)) filter.Add(nameof(prmBerthing.VesselPartial), prmBerthing.VesselPartial);
|
||||
|
||||
// Notes.
|
||||
if (!StringUtil.IsEmpty(prm.NotesPartial)) filter.Add(nameof(prm.NotesPartial), prm.NotesPartial);
|
||||
if (!StringUtil.IsEmpty(prmBerthing.NotesPartial)) filter.Add(nameof(prmBerthing.NotesPartial), prmBerthing.NotesPartial);
|
||||
|
||||
// Status.
|
||||
filter.Add(nameof(prm.StatusCat), prm.StatusCat.ToString());
|
||||
filter.Add(nameof(prmBerthing.StatusCat), prmBerthing.StatusCat.ToString());
|
||||
|
||||
// Associated data.
|
||||
if (prmBerthing.IncludeVessel) filter.Add(nameof(prmBerthing.IncludeVessel), "true");
|
||||
if (prmBerthing.IncludeCompanies) filter.Add(nameof(prmBerthing.IncludeCompanies), "true");
|
||||
|
||||
// Paging.
|
||||
if (prm.ResultsPaging.Paged)
|
||||
if (prmBerthing.ResultsPaging.Paged)
|
||||
{
|
||||
filter.Add(nameof(prm.ResultsPaging.PageNo), prm.ResultsPaging.PageNo.ToString());
|
||||
filter.Add(nameof(prm.ResultsPaging.PageLength), prm.ResultsPaging.PageLength.ToString());
|
||||
filter.Add(nameof(prmBerthing.ResultsPaging.PageNo), prmBerthing.ResultsPaging.PageNo.ToString());
|
||||
filter.Add(nameof(prmBerthing.ResultsPaging.PageLength), prmBerthing.ResultsPaging.PageLength.ToString());
|
||||
}
|
||||
|
||||
return filter;
|
||||
}
|
||||
// Berthing sort columns.
|
||||
public List<String> GetBerthingSortColumns (SlmBerthing.Params prm)
|
||||
public List<String> GetBerthingSortColumns (SlmBerthing.Params prmBerthing)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Berthing count.
|
||||
public override long GetBerthingCount (SlmBerthing.Params prm)
|
||||
public override long GetBerthingCount (SlmBerthing.Params prmBerthing)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<long> GetBerthingCount_Mobile (SlmBerthing_Mobile.Params prmBerthing, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.RequestItemCount(GetBerthingRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetBerthingQueryFilter_Mobile(prmBerthing), taskData);
|
||||
return responseData.ItemCount;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Berthing list.
|
||||
public override List<SlmBerthing> GetBerthingList (SlmBerthing.Params prm)
|
||||
public override List<SlmBerthing> GetBerthingList (SlmBerthing.Params prmBerthing)
|
||||
{
|
||||
List<SlmCompany> companies = new List<SlmCompany>();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<List<SlmBerthing>> GetBerthingList_Mobile (SlmBerthing.Params prmBerthing, SacsTaskData taskData)
|
||||
public async Task<List<SlmBerthing>> GetBerthingList_Mobile (SlmBerthing_Mobile.Params prmBerthing, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
List<SlmBerthing> companies = new List<SlmBerthing>();
|
||||
String fn = GetType().Name + ".GetBerthingList_Mobile";
|
||||
|
||||
// Berthing columns.
|
||||
List<SlmBerthing.Column> columns = new List<SlmBerthing.Column>(EnumUtil.GetValues<SlmBerthing.Column>());
|
||||
|
||||
List<SlmWebServiceItemData> itemDataList = await ExecuteBerthingQuery_Mobile(columns, prmBerthing, taskData);
|
||||
foreach (SlmWebServiceItemData itemData in itemDataList)
|
||||
{
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
// Item construction properties.
|
||||
SysId id = itemData.GetIdValue(SlmBerthing.Column.Id);
|
||||
ushort flags = (ushort)itemData.GetIntValue(SlmBerthing.Column.Flags);
|
||||
// Create item.
|
||||
SlmBerthing_Mobile berthing = new SlmBerthing_Mobile(Site, id, flags);
|
||||
// Populate item properties.
|
||||
foreach (SlmBerthing.Column column in columns)
|
||||
{
|
||||
String value = itemData.GetValue(column);
|
||||
switch (column)
|
||||
{
|
||||
case SlmBerthing.Column.VesselId: berthing.VesselId = itemData.GetIdValue(column); break;
|
||||
case SlmBerthing.Column.AgentId: berthing.AgentId = itemData.GetIdValue(column); break;
|
||||
case SlmBerthing.Column.CustomerId: berthing.CustomerId= itemData.GetIdValue(column); break;
|
||||
case SlmBerthing.Column.Berth: berthing.Berth = value; break;
|
||||
case SlmBerthing.Column.Bollard: berthing.Bollard = value; break;
|
||||
case SlmBerthing.Column.Expected: berthing.Expected = itemData.GetDateTimeValue(column); break;
|
||||
case SlmBerthing.Column.CompletionEst: berthing.CompletionEst = itemData.GetDateTimeValue(column); break;
|
||||
case SlmBerthing.Column.Arrived: berthing.Arrived = itemData.GetDateTimeValue(column); break;
|
||||
case SlmBerthing.Column.Completed: berthing.Completed = itemData.GetDateTimeValue(column); break;
|
||||
case SlmBerthing.Column.Departed: berthing.Departed = itemData.GetDateTimeValue(column); break;
|
||||
case SlmBerthing.Column.Cargo: berthing.Cargo = value; break;
|
||||
case SlmBerthing.Column.Holds: berthing.Holds = decimal.ToByte(itemData.GetDecimalValue(column)); break;
|
||||
case SlmBerthing.Column.TotalDischarge: berthing.TotalDischarge = itemData.GetDecimalValue(column); break;
|
||||
case SlmBerthing.Column.HoursWorked: berthing.HoursWorked = StringUtil.ToShort(itemData.GetDecimalValue(column)); break;
|
||||
case SlmBerthing.Column.StatsData: berthing.StatsData = value; break;
|
||||
case SlmBerthing.Column.RateConveyor: berthing.RateConveyor = itemData.GetDecimalValue(column); break;
|
||||
case SlmBerthing.Column.RateLorry: berthing.RateLorry = itemData.GetDecimalValue(column); break;
|
||||
case SlmBerthing.Column.RateQuayside: berthing.RateQuayside = itemData.GetDecimalValue(column); break;
|
||||
case SlmBerthing.Column.RateOvertime: berthing.RateOvertime = itemData.GetDecimalValue(column); break;
|
||||
case SlmBerthing.Column.SpecialInstr: berthing.SpecialInstr = value; break;
|
||||
case SlmBerthing.Column.Notes: berthing.Notes = value; break;
|
||||
case SlmBerthing.Column.Status: berthing.Status = SacsSystem.GetStatusForCode(value); break;
|
||||
}
|
||||
}
|
||||
companies.Add(berthing);
|
||||
}
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
|
||||
if (taskData.Debug) Logger.Debug(fn + " Companies: " + companies.Count);
|
||||
return companies;
|
||||
List<SlmBerthing> berthings = new List<SlmBerthing>();
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.RequestItemList(GetBerthingRequestConfig(SlmWebServiceRequest.RequestType.ItemList, taskData.Debug), GetBerthingQueryFilter_Mobile(prmBerthing), taskData);
|
||||
foreach (SlmWebServiceItemData itemData in responseData.Items)
|
||||
berthings.Add(CreateBerthing_Mobile(itemData));
|
||||
return berthings;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Berthing query execution.
|
||||
public override DbResultSet ExecuteBerthingQuery (List<ColumnDfn> columns, SlmBerthing.Params prm)
|
||||
public override DbResultSet ExecuteBerthingQuery (List<ColumnDfn> columns, SlmBerthing.Params prmBerthing)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<List<SlmWebServiceItemData>> ExecuteBerthingQuery_Mobile (List<SlmBerthing.Column> berthingColumns, SlmBerthing.Params prmBerthing, SacsTaskData taskData)
|
||||
public async Task<List<SlmWebServiceItemData>> ExecuteBerthingQuery_Mobile (List<SlmBerthing.Column> berthingColumns, SlmBerthing_Mobile.Params prmBerthing, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
|
||||
@@ -326,7 +298,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmBerthing.Column column in berthingColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetBerthingRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetBerthingQueryFilter_Mobile(prmBerthing), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetBerthingRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetBerthingQueryFilter_Mobile(prmBerthing), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -343,40 +315,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetBerthingDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmBerthing.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Berthing Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmBerthing.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmBerthing.Column.Status_Desc:
|
||||
case SlmBerthing.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmBerthing.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmBerthing.Column.Status_Ind)
|
||||
value = new DataValue(SlmBerthing.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -396,7 +396,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmCruiseBerthing.Column column in cruiseBerthingColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetCruiseBerthingRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetCruiseBerthingQueryFilter_Mobile(prmCruiseBerthing), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetCruiseBerthingRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetCruiseBerthingQueryFilter_Mobile(prmCruiseBerthing), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -413,40 +413,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetCruiseBerthingDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmCruiseBerthing.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// CruiseBerthing Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmCruiseBerthing.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmCruiseBerthing.Column.Status_Desc:
|
||||
case SlmCruiseBerthing.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmCruiseBerthing.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmCruiseBerthing.Column.Status_Ind)
|
||||
value = new DataValue(SlmCruiseBerthing.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -281,7 +281,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmDischargeHold.Column column in dischargeHoldColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetDischargeHoldRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetDischargeHoldQueryFilter_Mobile(prmDischargeHold), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetDischargeHoldRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetDischargeHoldQueryFilter_Mobile(prmDischargeHold), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -298,40 +298,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetDischargeHoldDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmDischargeHold.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// DischargeHold Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmDischargeHold.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmDischargeHold.Column.Status_Desc:
|
||||
case SlmDischargeHold.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmDischargeHold.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmDischargeHold.Column.Status_Ind)
|
||||
value = new DataValue(SlmDischargeHold.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -301,7 +301,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmDischarge.Column column in dischargeColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetDischargeRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetDischargeQueryFilter_Mobile(prmDischarge), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetDischargeRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetDischargeQueryFilter_Mobile(prmDischarge), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -318,40 +318,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetDischargeDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmDischarge.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Discharge Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmDischarge.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmDischarge.Column.Status_Desc:
|
||||
case SlmDischarge.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmDischarge.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmDischarge.Column.Status_Ind)
|
||||
value = new DataValue(SlmDischarge.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -48,6 +48,30 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<SlmVessel> GetVessel_Mobile (SlmVessel_Mobile.Params prmVessel, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
String fn = GetType().Name + ".GetVessel_Mobile";
|
||||
|
||||
// Request item data.
|
||||
SlmWebServiceClient.ItemDataResponseData responseData = await webServiceClient.RequestItemData(GetVesselRequestConfig(SlmWebServiceRequest.RequestType.Item, taskData.Debug), GetVesselQueryFilter_Mobile(prmVessel), taskData);
|
||||
if (responseData.DataElement == null) throw new NotSupportedException("No data element found in Vessel data response.");
|
||||
if (responseData.ItemElement == null) throw new NotSupportedException("No item element found in Vessel data response.");
|
||||
if (responseData.Item == null) throw new NotSupportedException("No item extracted from Vessel data response.");
|
||||
|
||||
return CreateVessel_Mobile(responseData.Item);
|
||||
}
|
||||
public SlmVessel_Mobile CreateVessel_Mobile (SlmWebServiceItemData itemData)
|
||||
{
|
||||
// Item construction properties.
|
||||
SysId id = itemData.GetIdValue(nameof(SlmVessel.Id));
|
||||
Slm.VesselCategory vesselCategory = EnumUtil.ParseEnum(itemData.GetValue(nameof(SlmVessel.VesselCategory)), Slm.VesselCategory.Unknown);
|
||||
ushort flags = (ushort)itemData.GetIntValue(nameof(SlmVessel.Flags));
|
||||
// Create item.
|
||||
SlmVessel_Mobile vessel = new SlmVessel_Mobile(Site, id, vesselCategory, flags);
|
||||
PopulateFrom(itemData, vessel);
|
||||
return vessel;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Validate Vessel.
|
||||
@@ -95,51 +119,39 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Copy data properties to and from database.
|
||||
private void PopulateTo (XElement vesselElement, SlmVessel vessel, DbUpdateInfo dbUpdateInfo)
|
||||
private void PopulateTo (XElement vesselElement, SlmVessel vessel, List<String> excludedProperties, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
vesselElement.AppendElement("Id", SysId.ToString(vessel.Id));
|
||||
vesselElement.AppendElement("Category", vessel.VesselCategory.ToString());
|
||||
vesselElement.AppendElement("Name", vessel.Name);
|
||||
vesselElement.AppendElement("Type", vessel.VesselType);
|
||||
vesselElement.AppendElement("Owner", vessel.Owner);
|
||||
vesselElement.AppendElement("Abbreviation", vessel.Abbreviation);
|
||||
vesselElement.AppendElement("Length", vessel.Length.ToString("N3"));
|
||||
vesselElement.AppendElement("Breadth", vessel.Breadth.ToString("N3"));
|
||||
vesselElement.AppendElement("Draught", vessel.Draught.ToString("N3"));
|
||||
vesselElement.AppendElement("Depth", vessel.Depth.ToString("N3"));
|
||||
vesselElement.AppendElement("Displacement", vessel.Displacement.ToString("N3"));
|
||||
vesselElement.AppendElement("CompanyIdCruiseLine", SysId.ToString(vessel.CompanyIdCruiseLine));
|
||||
vesselElement.AppendElement("Notes", vessel.Notes);
|
||||
vesselElement.AppendElement("Status", SacsSystem.GetStatusCode(vessel.Status));
|
||||
vesselElement.AppendElement("Flags", vessel.Flags.ToString());
|
||||
if (!SysId.IsValid(vessel.Id))
|
||||
{
|
||||
vesselElement.AppendElement("CreateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
vesselElement.AppendElement("CreateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
vesselElement.AppendElement("CreateHost", dbUpdateInfo.Host);
|
||||
}
|
||||
vesselElement.AppendElement("UpdateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
vesselElement.AppendElement("UpdateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
vesselElement.AppendElement("UpdateHost", dbUpdateInfo.Host);
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Id), SysId.ToString(vessel.Id));
|
||||
vesselElement.AppendElement(nameof(SlmVessel.VesselCategory), vessel.VesselCategory.ToString());
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Name), vessel.Name);
|
||||
vesselElement.AppendElement(nameof(SlmVessel.VesselType), vessel.VesselType);
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Owner), vessel.Owner);
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Abbreviation), vessel.Abbreviation);
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Length), vessel.Length.ToString("N3"));
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Breadth), vessel.Breadth.ToString("N3"));
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Draught), vessel.Draught.ToString("N3"));
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Depth), vessel.Depth.ToString("N3"));
|
||||
vesselElement.AppendElement(nameof(SlmVessel.Displacement), vessel.Displacement.ToString("N3"));
|
||||
vesselElement.AppendElement(nameof(SlmVessel.CompanyIdCruiseLine), SysId.ToString(vessel.CompanyIdCruiseLine));
|
||||
// Common properties.
|
||||
this.PopulateCommonPropertiesTo(vesselElement, vessel, excludedProperties, dbUpdateInfo);
|
||||
}
|
||||
private void PopulateFrom (XElement vesselElement, SlmVessel vessel)
|
||||
private void PopulateFrom (SlmWebServiceItemData itemData, SlmVessel vessel)
|
||||
{
|
||||
//vessel.Id = new SysId(StringUtil.ToInt(vesselElement.GetChildText("Id")));
|
||||
//vessel.VesselCategory = EnumUtil.ParseEnum(vesselElement.GetChildText("Category"), Slm.VesselCategory.Unknown);
|
||||
vessel.Name = vesselElement.GetChildText("Name");
|
||||
vessel.VesselType = vesselElement.GetChildText("Type");
|
||||
vessel.Owner = vesselElement.GetChildText("Owner");
|
||||
vessel.Abbreviation = vesselElement.GetChildText("Abbreviation");
|
||||
vessel.Length = StringUtil.ToDecimal(vesselElement.GetChildText("Length"));
|
||||
vessel.Breadth = StringUtil.ToDecimal(vesselElement.GetChildText("Breadth"));
|
||||
vessel.Draught= StringUtil.ToDecimal(vesselElement.GetChildText("Draught"));
|
||||
vessel.Depth = StringUtil.ToDecimal(vesselElement.GetChildText("Depth"));
|
||||
vessel.Displacement = StringUtil.ToDecimal(vesselElement.GetChildText("Displacement"));
|
||||
vessel.CompanyIdCruiseLine = new SysId(StringUtil.ToInt(vesselElement.GetChildText("CompanyIdCruiseLine")));
|
||||
vessel.Notes = vesselElement.GetChildText("Notes");
|
||||
vessel.Status = SacsSystem.GetStatusForCode(vesselElement.GetChildText("Status"));
|
||||
vessel.SetCreateStamp(DateUtil.ParseXmlDateTime(vesselElement.GetChildText("CreateOn")), new SysId(StringUtil.ToInt(vesselElement.GetChildText("CreateBy"))), vesselElement.GetChildText("CreateHost"));
|
||||
vessel.SetUpdateStamp(DateUtil.ParseXmlDateTime(vesselElement.GetChildText("UpdateOn")), new SysId(StringUtil.ToInt(vesselElement.GetChildText("UpdateBy"))), vesselElement.GetChildText("UpdateHost"));
|
||||
//vessel.Id = itemData.GetIdValue(nameof(SlmVessel.Id));
|
||||
//vessel.VesselCategory = EnumUtil.ParseEnum(itemData.GetValue(nameof(SlmVessel.VesselCategory)), Slm.VesselCategory.Unknown);
|
||||
vessel.Name = itemData.GetValue(nameof(SlmVessel.Name));
|
||||
vessel.VesselType = itemData.GetValue(nameof(SlmVessel.VesselType));
|
||||
vessel.Owner = itemData.GetValue(nameof(SlmVessel.Owner));
|
||||
vessel.Abbreviation = itemData.GetValue(nameof(SlmVessel.Abbreviation));
|
||||
vessel.Length = itemData.GetDecimalValue(nameof(SlmVessel.Length));
|
||||
vessel.Breadth = itemData.GetDecimalValue(nameof(SlmVessel.Breadth));
|
||||
vessel.Draught= itemData.GetDecimalValue(nameof(SlmVessel.Draught));
|
||||
vessel.Depth = itemData.GetDecimalValue(nameof(SlmVessel.Depth));
|
||||
vessel.Displacement = itemData.GetDecimalValue(nameof(SlmVessel.Displacement));
|
||||
vessel.CompanyIdCruiseLine = itemData.GetIdValue(nameof(SlmVessel.CompanyIdCruiseLine));
|
||||
// Common properties.
|
||||
this.PopulateCommonPropertiesFrom(itemData, vessel);
|
||||
vessel.AcceptChanges();
|
||||
}
|
||||
|
||||
@@ -158,137 +170,85 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Vessel query filter.
|
||||
public override List<string> GetVesselQueryFilter (SlmVessel.Params prm)
|
||||
public override List<string> GetVesselQueryFilter (SlmVessel.Params prmVessel)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public Dictionary<String, String> GetVesselQueryFilter_Mobile (SlmVessel.Params prm)
|
||||
public Dictionary<String, String> GetVesselQueryFilter_Mobile (SlmVessel.Params prmVessel)
|
||||
{
|
||||
Dictionary<String, String> filter = new Dictionary<string, string>();
|
||||
|
||||
// Vessel Id.
|
||||
if (prm.IncludedIds.Count > 0) filter.Add("IncludedIds", prm.IncludedIds.Concat(","));
|
||||
if (prm.ExcludedIds.Count > 0) filter.Add("ExcludedIds", prm.ExcludedIds.Concat(","));
|
||||
if (prmVessel.IncludedIds.Count > 0) filter.Add("IncludedIds", prmVessel.IncludedIds.Concat(","));
|
||||
if (prmVessel.ExcludedIds.Count > 0) filter.Add("ExcludedIds", prmVessel.ExcludedIds.Concat(","));
|
||||
|
||||
// Vessel Category.
|
||||
if ((int)prm.VesselCategory > 0) filter.Add("VesselCategory", ((int)prm.VesselCategory).ToString());
|
||||
if ((int)prmVessel.VesselCategory > 0) filter.Add("VesselCategory", ((int)prmVessel.VesselCategory).ToString());
|
||||
|
||||
// Company Id Cruise Line
|
||||
if (SysId.IsValid(prm.CompanyIdCruiseLine)) filter.Add("CompanyIdCruiseLine", SysId.ToString(prm.CompanyIdCruiseLine));
|
||||
if (SysId.IsValid(prmVessel.CompanyIdCruiseLine)) filter.Add("CompanyIdCruiseLine", SysId.ToString(prmVessel.CompanyIdCruiseLine));
|
||||
|
||||
// Name.
|
||||
if (!StringUtil.IsEmpty(prm.Name)) filter.Add("Name", prm.Name);
|
||||
if (!StringUtil.IsEmpty(prm.NamePartial)) filter.Add("NamePartial", prm.NamePartial);
|
||||
if (!StringUtil.IsEmpty(prmVessel.Name)) filter.Add("Name", prmVessel.Name);
|
||||
if (!StringUtil.IsEmpty(prmVessel.NamePartial)) filter.Add("NamePartial", prmVessel.NamePartial);
|
||||
|
||||
// Type.
|
||||
if (!StringUtil.IsEmpty(prm.TypePartial)) filter.Add("TypePartial", prm.TypePartial);
|
||||
if (!StringUtil.IsEmpty(prmVessel.TypePartial)) filter.Add("TypePartial", prmVessel.TypePartial);
|
||||
|
||||
// Notes.
|
||||
if (!StringUtil.IsEmpty(prm.NotesPartial)) filter.Add("NotesPartial", prm.NotesPartial);
|
||||
if (!StringUtil.IsEmpty(prmVessel.NotesPartial)) filter.Add("NotesPartial", prmVessel.NotesPartial);
|
||||
|
||||
// Status.
|
||||
filter.Add("StatusCat", prm.StatusCat.ToString());
|
||||
filter.Add("StatusCat", prmVessel.StatusCat.ToString());
|
||||
|
||||
// Paging.
|
||||
if (prm.ResultsPaging.Paged)
|
||||
if (prmVessel.ResultsPaging.Paged)
|
||||
{
|
||||
filter.Add("PageNo", prm.ResultsPaging.PageNo.ToString());
|
||||
filter.Add("PageLength", prm.ResultsPaging.PageLength.ToString());
|
||||
filter.Add("PageNo", prmVessel.ResultsPaging.PageNo.ToString());
|
||||
filter.Add("PageLength", prmVessel.ResultsPaging.PageLength.ToString());
|
||||
}
|
||||
|
||||
return filter;
|
||||
}
|
||||
// Vessel sort columns.
|
||||
public List<String> GetVesselSortColumns (SlmVessel.Params prm)
|
||||
public List<String> GetVesselSortColumns (SlmVessel.Params prmVessel)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Vessel count.
|
||||
public override long GetVesselCount (SlmVessel.Params prm)
|
||||
public override long GetVesselCount (SlmVessel.Params prmVessel)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<long> GetVesselCount_Mobile (SlmVessel.Params prmVessel, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
SlmWebServiceClient.ItemCountResponseData responseData = await webServiceClient.RequestItemCount(GetVesselRequestConfig(SlmWebServiceRequest.RequestType.Count, taskData.Debug), GetVesselQueryFilter_Mobile(prmVessel), taskData);
|
||||
return responseData.ItemCount;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Vessel list.
|
||||
public override List<SlmVessel> GetVesselList (SlmVessel.Params prm)
|
||||
public override List<SlmVessel> GetVesselList (SlmVessel.Params prmVessel)
|
||||
{
|
||||
List<SlmCompany> companies = new List<SlmCompany>();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<List<SlmVessel>> GetVesselList_Mobile (SlmVessel.Params prmVessel, SacsTaskData taskData)
|
||||
{
|
||||
ClearErrorState();
|
||||
List<SlmVessel> companies = new List<SlmVessel>();
|
||||
String fn = GetType().Name + ".GetVesselList_Mobile";
|
||||
|
||||
// Vessel columns.
|
||||
List<SlmVessel.Column> columns = new List<SlmVessel.Column>()
|
||||
{
|
||||
SlmVessel.Column.Id,
|
||||
SlmVessel.Column.VesselCategory,
|
||||
SlmVessel.Column.Name,
|
||||
SlmVessel.Column.VesselType,
|
||||
SlmVessel.Column.Owner,
|
||||
SlmVessel.Column.Abbreviation,
|
||||
SlmVessel.Column.Length,
|
||||
SlmVessel.Column.Breadth,
|
||||
SlmVessel.Column.Draught,
|
||||
SlmVessel.Column.Depth,
|
||||
SlmVessel.Column.Displacement,
|
||||
SlmVessel.Column.CompanyIdCruiseLine,
|
||||
SlmVessel.Column.Notes,
|
||||
SlmVessel.Column.Flags,
|
||||
SlmVessel.Column.Status
|
||||
};
|
||||
|
||||
List<SlmWebServiceItemData> itemDataList = await ExecuteVesselQuery_Mobile(columns, prmVessel, taskData);
|
||||
foreach (SlmWebServiceItemData itemData in itemDataList)
|
||||
{
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
// Item construction properties.
|
||||
SysId id = itemData.GetIdValue(SlmVessel.Column.Id);
|
||||
Slm.VesselCategory vesselCategory = EnumUtil.ParseEnum(itemData.GetValue(SlmVessel.Column.VesselCategory), Slm.VesselCategory.Unknown);
|
||||
ushort flags = (ushort)itemData.GetIntValue(SlmVessel.Column.Flags);
|
||||
// Create item.
|
||||
SlmVessel_Mobile vessel = new SlmVessel_Mobile(Site, id, vesselCategory, flags);
|
||||
// Populate item properties.
|
||||
foreach (SlmVessel.Column column in columns)
|
||||
{
|
||||
String value = itemData.GetValue(column);
|
||||
switch (column)
|
||||
{
|
||||
//case SlmVessel.Column.VesselCategory: vessel.VesselCategory; break;
|
||||
case SlmVessel.Column.Name: vessel.Name = value; break;
|
||||
case SlmVessel.Column.VesselType: vessel.VesselType = value; break;
|
||||
case SlmVessel.Column.Owner: vessel.Owner = value; break;
|
||||
case SlmVessel.Column.Abbreviation: vessel.Abbreviation= value; break;
|
||||
case SlmVessel.Column.Length: vessel.Length = itemData.GetDecimalValue(column); break;
|
||||
case SlmVessel.Column.Breadth: vessel.Breadth = itemData.GetDecimalValue(column); break;
|
||||
case SlmVessel.Column.Depth: vessel.Depth = itemData.GetDecimalValue(column); break;
|
||||
case SlmVessel.Column.Displacement: vessel.Displacement = itemData.GetDecimalValue(column); break;
|
||||
case SlmVessel.Column.CompanyIdCruiseLine: vessel.CompanyIdCruiseLine = itemData.GetIdValue(column); break;
|
||||
case SlmVessel.Column.Notes: vessel.Notes = value; break;
|
||||
case SlmVessel.Column.Status: vessel.Status = SacsSystem.GetStatusForCode(value); break;
|
||||
}
|
||||
}
|
||||
companies.Add(vessel);
|
||||
}
|
||||
taskData.ThrowIfCancellationRequested();
|
||||
|
||||
if (taskData.Debug) Logger.Debug(fn + " Companies: " + companies.Count);
|
||||
return companies;
|
||||
List<SlmVessel> vessels = new List<SlmVessel>();
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.RequestItemList(GetVesselRequestConfig(SlmWebServiceRequest.RequestType.ItemList, taskData.Debug), GetVesselQueryFilter_Mobile(prmVessel), taskData);
|
||||
foreach (SlmWebServiceItemData itemData in responseData.Items)
|
||||
vessels.Add(CreateVessel_Mobile(itemData));
|
||||
return vessels;
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
// Vessel query execution.
|
||||
public override DbResultSet ExecuteVesselQuery (List<ColumnDfn> columns, SlmVessel.Params prm)
|
||||
public override DbResultSet ExecuteVesselQuery (List<ColumnDfn> columns, SlmVessel.Params prmVessel)
|
||||
{
|
||||
ClearErrorState();
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
public async Task<List<SlmWebServiceItemData>> ExecuteVesselQuery_Mobile (List<SlmVessel.Column> vesselColumns, SlmVessel.Params prmVessel, SacsTaskData taskData)
|
||||
@@ -300,7 +260,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmVessel.Column column in vesselColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetVesselRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetVesselQueryFilter_Mobile(prmVessel), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetVesselRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetVesselQueryFilter_Mobile(prmVessel), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -317,46 +277,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetVesselDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmVessel.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Vessel Category.
|
||||
case SlmVessel.Column.VesselCategory_Desc:
|
||||
{
|
||||
Slm.VesselCategory vesselCategory = (Slm.VesselCategory)values.GetValue(column.DataName).AsLong();
|
||||
value = new DataValue(vesselCategories.GetDescForType((int)vesselCategory, vesselCategory.ToString()));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmVessel.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmVessel.Column.Status_Desc:
|
||||
case SlmVessel.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmVessel.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmVessel.Column.Status_Ind)
|
||||
value = new DataValue(SlmVessel.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -288,7 +288,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmChecklistItem.Column column in checklistItemColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetChecklistItemRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetChecklistItemQueryFilter_Mobile(prmChecklistItem), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetChecklistItemRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetChecklistItemQueryFilter_Mobile(prmChecklistItem), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -305,40 +305,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetChecklistItemDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmChecklistItem.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// ChecklistItem Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmChecklistItem.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmChecklistItem.Column.Status_Desc:
|
||||
case SlmChecklistItem.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmChecklistItem.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmChecklistItem.Column.Status_Ind)
|
||||
value = new DataValue(SlmChecklistItem.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -260,7 +260,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmChecklist.Column column in checklistColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetChecklistRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetChecklistQueryFilter_Mobile(prmChecklist), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetChecklistRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetChecklistQueryFilter_Mobile(prmChecklist), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -277,40 +277,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetChecklistDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmChecklist.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Checklist Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmChecklist.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmChecklist.Column.Status_Desc:
|
||||
case SlmChecklist.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmChecklist.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmChecklist.Column.Status_Ind)
|
||||
value = new DataValue(SlmChecklist.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -294,7 +294,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmItemChecklistItem.Column column in itemChecklistItemColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetItemChecklistItemRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetItemChecklistItemQueryFilter_Mobile(prmItemChecklistItem), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetItemChecklistItemRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetItemChecklistItemQueryFilter_Mobile(prmItemChecklistItem), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -311,40 +311,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetItemChecklistItemDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmItemChecklistItem.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// ItemChecklistItem Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmItemChecklistItem.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmItemChecklistItem.Column.Status_Desc:
|
||||
case SlmItemChecklistItem.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmItemChecklistItem.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmItemChecklistItem.Column.Status_Ind)
|
||||
value = new DataValue(SlmItemChecklistItem.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -278,7 +278,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmItemChecklist.Column column in itemChecklistColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetItemChecklistRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetItemChecklistQueryFilter_Mobile(prmItemChecklist), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetItemChecklistRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetItemChecklistQueryFilter_Mobile(prmItemChecklist), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -295,40 +295,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetItemChecklistDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmItemChecklist.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// ItemChecklist Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmItemChecklist.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmItemChecklist.Column.Status_Desc:
|
||||
case SlmItemChecklist.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmItemChecklist.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmItemChecklist.Column.Status_Ind)
|
||||
value = new DataValue(SlmItemChecklist.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -301,7 +301,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmCommodity.Column column in commodityColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetCommodityRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetCommodityQueryFilter_Mobile(prmCommodity), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetCommodityRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetCommodityQueryFilter_Mobile(prmCommodity), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -318,39 +318,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetCommodityDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmCommodity.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Commodity Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmCommodity.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmCommodity.Column.Status_Desc:
|
||||
case SlmCommodity.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmCommodity.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmCommodity.Column.Status_Ind)
|
||||
value = new DataValue(SlmCommodity.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -277,7 +277,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmCommodityLocation.Column column in commodityLocationColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetCommodityLocationRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetCommodityLocationQueryFilter_Mobile(prmCommodityLocation), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetCommodityLocationRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetCommodityLocationQueryFilter_Mobile(prmCommodityLocation), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -294,39 +294,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetCommodityLocationDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmCommodityLocation.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// CommodityLocation Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmCommodityLocation.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmCommodityLocation.Column.Status_Desc:
|
||||
case SlmCommodityLocation.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmCommodityLocation.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmCommodityLocation.Column.Status_Ind)
|
||||
value = new DataValue(SlmCommodityLocation.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -286,7 +286,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStockLevel.Column column in stockLevelColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStockLevelRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStockLevelQueryFilter_Mobile(prmStockLevel), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStockLevelRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStockLevelQueryFilter_Mobile(prmStockLevel), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -303,39 +303,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStockLevelDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStockLevel.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StockLevel Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStockLevel.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStockLevel.Column.Status_Desc:
|
||||
case SlmStockLevel.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStockLevel.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStockLevel.Column.Status_Ind)
|
||||
value = new DataValue(SlmStockLevel.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -267,7 +267,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStockLoading.Column column in stockLoadingColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStockLoadingRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStockLoadingQueryFilter_Mobile(prmStockLoading), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStockLoadingRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStockLoadingQueryFilter_Mobile(prmStockLoading), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -284,39 +284,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStockLoadingDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStockLoading.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StockLoading Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStockLoading.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStockLoading.Column.Status_Desc:
|
||||
case SlmStockLoading.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStockLoading.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStockLoading.Column.Status_Ind)
|
||||
value = new DataValue(SlmStockLoading.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -274,7 +274,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStockLocation.Column column in stockLocationColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStockLocationRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStockLocationQueryFilter_Mobile(prmStockLocation), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStockLocationRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStockLocationQueryFilter_Mobile(prmStockLocation), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -291,39 +291,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStockLocationDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStockLocation.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StockLocation Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStockLocation.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStockLocation.Column.Status_Desc:
|
||||
case SlmStockLocation.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStockLocation.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStockLocation.Column.Status_Ind)
|
||||
value = new DataValue(SlmStockLocation.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -304,7 +304,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStockMovement.Column column in stockMovementColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStockMovementRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStockMovementQueryFilter_Mobile(prmStockMovement), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStockMovementRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStockMovementQueryFilter_Mobile(prmStockMovement), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -321,39 +321,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStockMovementDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStockMovement.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StockMovement Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStockMovement.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStockMovement.Column.Status_Desc:
|
||||
case SlmStockMovement.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStockMovement.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStockMovement.Column.Status_Ind)
|
||||
value = new DataValue(SlmStockMovement.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -261,7 +261,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmDataItemValue.Column column in dataItemValueColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetDataItemValueRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetDataItemValueQueryFilter_Mobile(prmDataItemValue), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetDataItemValueRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetDataItemValueQueryFilter_Mobile(prmDataItemValue), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -278,59 +278,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetDataItemValueDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmDataItemValue.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Item type.
|
||||
case SlmDataItemValue.Column.ItemType_Desc:
|
||||
{
|
||||
Slm.DataItemType dataItemType = (Slm.DataItemType)values.GetValue(column.DataName).AsLong();
|
||||
value = new DataValue(dataItemTypes.GetDescForType((int)dataItemType, dataItemType.ToString()));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Value type.
|
||||
case SlmDataItemValue.Column.ValueType_Desc:
|
||||
{
|
||||
Slm.ItemValueType itemValueType = (Slm.ItemValueType)values.GetValue(column.DataName).AsLong();
|
||||
value = new DataValue(itemValueTypes.GetDescForType((int)itemValueType, itemValueType.ToString()));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmDataItemValue.Column.Status_Desc:
|
||||
case SlmDataItemValue.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmDataItemValue.Column.Status_Desc)
|
||||
{
|
||||
String statusDesc = SacsSystem.GetStatusDescForCode(statusCode);
|
||||
value = new DataValue(statusDesc);
|
||||
}
|
||||
else if (column.Id == (int)SlmDataItemValue.Column.Status_Ind)
|
||||
{
|
||||
DataValue.TriStateType triState = DataValue.TriStateType.Unknown;
|
||||
if (status == SaStatus.Active)
|
||||
triState = DataValue.TriStateType.Green;
|
||||
else if (status == SaStatus.Inactive)
|
||||
triState = DataValue.TriStateType.Red;
|
||||
value = new DataValue(triState);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
using Sarand.Core.App;
|
||||
using Sarand.Core.Base;
|
||||
using Sarand.Core.Bus;
|
||||
using Sarand.Core.Dbas.Base;
|
||||
using Sarand.Core.Xml;
|
||||
using Sarand.LogisticsMgr.Core.Mgr;
|
||||
using Sarand.LogisticsMgr.Core.WebService;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Xml.Linq;
|
||||
|
||||
namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
{
|
||||
//=======================================================================
|
||||
public static class SlmMobileMgrUtil
|
||||
{
|
||||
//-------------------------------------------------------------------
|
||||
/// <summary>
|
||||
/// Populate common properties to XML element.
|
||||
/// </summary>
|
||||
public static void PopulateCommonPropertiesTo (this SlmItemMgr mgr, XElement itemElement, SacsHierarchyItem item, List<String> excludedProperties, DbUpdateInfo dbUpdateInfo)
|
||||
{
|
||||
if (!excludedProperties.ContainsCI(nameof(item.Notes)))
|
||||
itemElement.AppendElement(nameof(item.Notes), item.Notes);
|
||||
if (!excludedProperties.ContainsCI(nameof(item.Status)))
|
||||
itemElement.AppendElement(nameof(item.Status), SacsSystem.GetStatusCode(item.Status));
|
||||
if (!excludedProperties.ContainsCI(nameof(item.Flags)))
|
||||
itemElement.AppendElement(nameof(item.Flags), item.Flags.ToString());
|
||||
if (!SysId.IsValid(item.Id) && !excludedProperties.ContainsCI("CreateStamp"))
|
||||
{
|
||||
itemElement.AppendElement("CreateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
itemElement.AppendElement("CreateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
itemElement.AppendElement("CreateHost", dbUpdateInfo.Host);
|
||||
}
|
||||
if (!excludedProperties.ContainsCI("UpdateStamp"))
|
||||
{
|
||||
itemElement.AppendElement("UpdateOn", DateUtil.FormatXmlDateTime(DateTime.Now));
|
||||
itemElement.AppendElement("UpdateBy", SysId.ToString(dbUpdateInfo.UserId));
|
||||
itemElement.AppendElement("UpdateHost", dbUpdateInfo.Host);
|
||||
}
|
||||
}
|
||||
public static void PopulateCommonPropertiesFrom (this SlmItemMgr mgr, SlmWebServiceItemData itemData, SacsHierarchyItem item)
|
||||
{
|
||||
item.Notes = itemData.GetValue(nameof(item.Notes));
|
||||
item.Status = SacsSystem.GetStatusForCode(itemData.GetValue(nameof(item.Status)));
|
||||
item.SetCreateStamp(itemData.GetDateTimeValue("CreateOn"), itemData.GetIdValue("CreateBy"), itemData.GetValue("CreateHost"));
|
||||
item.SetUpdateStamp(itemData.GetDateTimeValue("UpdateOn"), itemData.GetIdValue("UpdateBy"), itemData.GetValue("UpdateHost"));
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
}
|
||||
@@ -262,7 +262,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStaffAllocation.Column column in staffAllocationColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStaffAllocationRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStaffAllocationQueryFilter_Mobile(prmStaffAllocation), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStaffAllocationRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStaffAllocationQueryFilter_Mobile(prmStaffAllocation), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -279,40 +279,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStaffAllocationDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStaffAllocation.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StaffAllocation Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStaffAllocation.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStaffAllocation.Column.Status_Desc:
|
||||
case SlmStaffAllocation.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStaffAllocation.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStaffAllocation.Column.Status_Ind)
|
||||
value = new DataValue(SlmStaffAllocation.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -280,7 +280,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStaffJob.Column column in staffJobColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStaffJobRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStaffJobQueryFilter_Mobile(prmStaffJob), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStaffJobRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStaffJobQueryFilter_Mobile(prmStaffJob), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -297,39 +297,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStaffJobDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStaffJob.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StaffJob Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStaffJob.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStaffJob.Column.Status_Desc:
|
||||
case SlmStaffJob.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStaffJob.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStaffJob.Column.Status_Ind)
|
||||
value = new DataValue(SlmStaffJob.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -260,7 +260,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStaffMemberAvailability.Column column in staffMemberAvailabilityColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStaffMemberAvailabilityRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStaffMemberAvailabilityQueryFilter_Mobile(prmStaffMemberAvailability), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStaffMemberAvailabilityRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStaffMemberAvailabilityQueryFilter_Mobile(prmStaffMemberAvailability), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -277,40 +277,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStaffMemberAvailabilityDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStaffMemberAvailability.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StaffMemberAvailability Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStaffMemberAvailability.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStaffMemberAvailability.Column.Status_Desc:
|
||||
case SlmStaffMemberAvailability.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStaffMemberAvailability.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStaffMemberAvailability.Column.Status_Ind)
|
||||
value = new DataValue(SlmStaffMemberAvailability.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -259,7 +259,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStaffMemberSkill.Column column in staffMemberSkillColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStaffMemberSkillRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStaffMemberSkillQueryFilter_Mobile(prmStaffMemberSkill), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStaffMemberSkillRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStaffMemberSkillQueryFilter_Mobile(prmStaffMemberSkill), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -276,40 +276,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStaffMemberSkillDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStaffMemberSkill.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StaffMemberSkill Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStaffMemberSkill.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStaffMemberSkill.Column.Status_Desc:
|
||||
case SlmStaffMemberSkill.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStaffMemberSkill.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStaffMemberSkill.Column.Status_Ind)
|
||||
value = new DataValue(SlmStaffMemberSkill.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -314,7 +314,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStaffMember.Column column in staffMemberColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStaffMemberRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStaffMemberQueryFilter_Mobile(prmStaffMember), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStaffMemberRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStaffMemberQueryFilter_Mobile(prmStaffMember), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -331,39 +331,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStaffMemberDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStaffMember.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StaffMember Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStaffMember.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStaffMember.Column.Status_Desc:
|
||||
case SlmStaffMember.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStaffMember.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStaffMember.Column.Status_Ind)
|
||||
value = new DataValue(SlmStaffMember.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -259,7 +259,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStaffTaskSkill.Column column in staffTaskSkillColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStaffTaskSkillRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStaffTaskSkillQueryFilter_Mobile(prmStaffTaskSkill), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStaffTaskSkillRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStaffTaskSkillQueryFilter_Mobile(prmStaffTaskSkill), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -276,40 +276,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStaffTaskSkillDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStaffTaskSkill.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StaffTaskSkill Category.
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStaffTaskSkill.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStaffTaskSkill.Column.Status_Desc:
|
||||
case SlmStaffTaskSkill.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStaffTaskSkill.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStaffTaskSkill.Column.Status_Ind)
|
||||
value = new DataValue(SlmStaffTaskSkill.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -285,7 +285,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmStaffTask.Column column in staffTaskColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetStaffTaskRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetStaffTaskQueryFilter_Mobile(prmStaffTask), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetStaffTaskRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetStaffTaskQueryFilter_Mobile(prmStaffTask), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -302,39 +302,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetStaffTaskDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmStaffTask.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// StaffTask Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmStaffTask.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmStaffTask.Column.Status_Desc:
|
||||
case SlmStaffTask.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmStaffTask.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmStaffTask.Column.Status_Ind)
|
||||
value = new DataValue(SlmStaffTask.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -315,7 +315,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmRequirement.Column column in requirementColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetRequirementRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetRequirementQueryFilter_Mobile(prmRequirement), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetRequirementRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetRequirementQueryFilter_Mobile(prmRequirement), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -332,39 +332,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetRequirementDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmRequirement.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Requirement Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmRequirement.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmRequirement.Column.Status_Desc:
|
||||
case SlmRequirement.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmRequirement.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmRequirement.Column.Status_Ind)
|
||||
value = new DataValue(SlmRequirement.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
@@ -288,7 +288,7 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
foreach (SlmTransaction.Column column in transactionColumns)
|
||||
columns.Add(column.ToString());
|
||||
|
||||
SlmWebServiceClient.ItemListResponseData responseData = await webServiceClient.GetItemList(GetTransactionRequestConfig(SlmWebServiceRequest.RequestType.List, taskData.Debug), GetTransactionQueryFilter_Mobile(prmTransaction), columns, taskData);
|
||||
SlmWebServiceClient.QueryListResponseData responseData = await webServiceClient.RequestQueryList(GetTransactionRequestConfig(SlmWebServiceRequest.RequestType.QueryList, taskData.Debug), GetTransactionQueryFilter_Mobile(prmTransaction), columns, taskData);
|
||||
return responseData.Items;
|
||||
}
|
||||
|
||||
@@ -305,39 +305,6 @@ namespace Sarand.LogisticsMgr.Mobile.Core.Mgr
|
||||
return configRequest;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
public override DataValue GetTransactionDataValue (ColumnDfn column, NamedValue.Map values)
|
||||
{
|
||||
DataValue value = new DataValue();
|
||||
switch ((SlmTransaction.Column)column.Id)
|
||||
{
|
||||
//-----------------------------------------------------------
|
||||
// Transaction Category.
|
||||
//-----------------------------------------------------------
|
||||
// Notes.
|
||||
case SlmTransaction.Column.Notes:
|
||||
value = new DataValue(SacsHierarchyItem.FormatForDisplay(values.GetValue(column.DataName).ToString(), 200));
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
// Status.
|
||||
case SlmTransaction.Column.Status_Desc:
|
||||
case SlmTransaction.Column.Status_Ind:
|
||||
{
|
||||
String statusCode = values.GetValue(column.DataName).ToString();
|
||||
SaStatus status = SacsSystem.GetStatusForCode(statusCode);
|
||||
if (column.Id == (int)SlmTransaction.Column.Status_Desc)
|
||||
value = new DataValue(SacsSystem.GetStatusDesc(status));
|
||||
else if (column.Id == (int)SlmTransaction.Column.Status_Ind)
|
||||
value = new DataValue(SlmTransaction.GetStatusTriState(status));
|
||||
}
|
||||
break;
|
||||
|
||||
//-----------------------------------------------------------
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
//-------------------------------------------------------------------
|
||||
}
|
||||
//=======================================================================
|
||||
|
||||
Reference in New Issue
Block a user