SelectedProcedure stored in ProcessData, used in DataEntry.iPERL and S620, S640Comm cleaned, IOrderInfo, I640Cfg, OrderManagement v.3.0.6, etc.

This commit is contained in:
Milan Hanajik
2021-12-09 17:12:52 +01:00
parent ff28d507cf
commit 68c3ccbef6
32 changed files with 2453 additions and 944 deletions
+40 -15
View File
@@ -11,6 +11,7 @@ using TBF.Rig.Sequences;
using TBF.Rig.Output.DB.SensusOracle;
using TBF.Resources;
using System.Drawing;
using NHibernate;
namespace TBF.Rig.DataEntry.iPerl
{
@@ -23,7 +24,8 @@ namespace TBF.Rig.DataEntry.iPerl
readonly EntryFormCfg cfg;
/// Loaded from database beforethe form is open
IList<OrderDetails> listOfOrders;
IList<IOrderInfo> listOfOrders;
string preselectedOrder;
/// To be retrieved after the form is closed
public string PurchaseOrder;
@@ -40,6 +42,7 @@ namespace TBF.Rig.DataEntry.iPerl
{
InitializeComponent();
ControlBox = false;
preselectedOrder = null;
completed = false;
StartForceCloseHandler();
@@ -50,11 +53,12 @@ namespace TBF.Rig.DataEntry.iPerl
/// Constructor
/// </summary>
/// <param name="waterMetersCount">Number of text boxes for serial numbers</param>
public CycleBeginningForm(int waterMetersCount, EntryFormCfg cfg)
public CycleBeginningForm(int waterMetersCount, EntryFormCfg cfg, string preselectedOrder = null)
: this()
{
this.WaterMetersCount = waterMetersCount;
this.cfg = cfg;
this.preselectedOrder = preselectedOrder;
SNText = null;
Disabled = null;
}
@@ -66,19 +70,38 @@ namespace TBF.Rig.DataEntry.iPerl
orderGroupBox.Text = Strings.Purchase_order;
okButton.Text = Strings.OkBtnText;
listOfOrders = ((cfg.Orders == Orders.FromOracle || cfg.Orders == Orders.CombinedAndFromOracle) && ProcessData.OracleDB != null)
? ProcessData.OracleDB.ReadOrderNumbers()
: new List<OrderDetails>();
listOfOrders = new List<IOrderInfo>();
if ((cfg.Orders == Orders.FromOracle || cfg.Orders == Orders.CombinedAndFromOracle) && ProcessData.OracleDB != null)
{
var list = ProcessData.OracleDB.ReadOrders();
foreach (var o in list) listOfOrders.Add(o);
}
if ((cfg.Orders == Orders.FromTracingDB || cfg.Orders == Orders.CombinedAndFromTracingDB) && ProcessData.TracingDB != null)
{
ISession session = ProcessData.TracingDB.SessionFactory.OpenSession();
var list = ProcessData.TracingDB.ReadOrders(session);
if (session.IsOpen) session.Close();
foreach (var o in list) listOfOrders.Add(o);
}
string insertFirst = null;
if (Program.LocalSettings.PurchaseOrderHistoryCount > 0)
if (!string.IsNullOrEmpty(preselectedOrder))
{
foreach (var o in listOfOrders)
insertFirst = preselectedOrder;
}
else
{
if (Program.LocalSettings.PurchaseOrderHistoryCount > 0)
{
if (o.AuftragsNummer == Program.LocalSettings.PurchaseOrderHistory[0])
foreach (var o in listOfOrders)
{
insertFirst = o.AuftragsNummer;
break;
if (o.POName == Program.LocalSettings.PurchaseOrderHistory[0])
{
insertFirst = o.POName;
break;
}
}
}
}
@@ -90,6 +113,7 @@ namespace TBF.Rig.DataEntry.iPerl
break;
case Orders.FromOracle:
case Orders.FromTracingDB:
if (insertFirst != null)
{
orderComboBox.Items.Add(insertFirst);
@@ -97,11 +121,12 @@ namespace TBF.Rig.DataEntry.iPerl
}
foreach (var o in listOfOrders)
if (o.AuftragsNummer != insertFirst)
orderComboBox.Items.Add(o.AuftragsNummer);
if (o.POName != insertFirst)
orderComboBox.Items.Add(o.POName);
break;
case Orders.CombinedAndFromOracle:
case Orders.CombinedAndFromTracingDB:
if (insertFirst != null)
{
orderComboBox.Items.Add(insertFirst);
@@ -141,8 +166,8 @@ namespace TBF.Rig.DataEntry.iPerl
orderComboBox.Items.Add("GFAATMXX");
foreach (var o in listOfOrders)
if (o.AuftragsNummer != insertFirst)
orderComboBox.Items.Add(o.AuftragsNummer);
if (o.POName != insertFirst)
orderComboBox.Items.Add(o.POName);
break;
}
@@ -201,7 +226,7 @@ namespace TBF.Rig.DataEntry.iPerl
return;
}
ProcessData.OrderDetails = (listOfOrders == null) ? null : listOfOrders.FirstOrDefault<OrderDetails>(x => x.AuftragsNummer == orderComboBox.Text);
ProcessData.OrderInfo = (listOfOrders == null) ? null : listOfOrders.FirstOrDefault<IOrderInfo>(x => x.POName == orderComboBox.Text);
PurchaseOrder = orderComboBox.Text;
Program.LocalSettings.UpdateHistory(orderComboBox.Text, ref Program.LocalSettings.PurchaseOrderHistory);