by Microsharp » Thu Oct 27, 2022 8:45 pm
Thanks Stuart,
I tried but still could not make it show on Sales Order screen under Total Cubic Size
Below is the code for FormPlugin
#region "FormPlugin"
public class FormPlugin : System.MarshalByRefObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaFormPlugin
{
public override object InitializeLifetimeService()
{
// returning null here will prevent the lease manager
// from deleting the Object.
return null;
}
public void SetupBeforeHandlers(JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm JiwaForm, JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin Plugin)
{
}
public void Setup(JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm JiwaForm, JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin Plugin)
{
//if (JiwaForm is JiwaFinancials.Jiwa.JiwaPurchaseOrdersUI.MainForm)
if (JiwaForm is JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm)
{
//JiwaFinancials.Jiwa.JiwaPurchaseOrdersUI.MainForm frmPurchaseOrders = JiwaForm as JiwaFinancials.Jiwa.JiwaPurchaseOrdersUI.MainForm;
JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm frmSalesOrders = JiwaForm as JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm;
#region UI
JiwaFinancials.Jiwa.JiwaApplication.Controls.NumericEditor numTotalQuantity = new JiwaFinancials.Jiwa.JiwaApplication.Controls.NumericEditor();
Infragistics.Win.Misc.UltraLabel lblTotalQuantity = new Infragistics.Win.Misc.UltraLabel();
((System.ComponentModel.ISupportInitialize)numTotalQuantity).BeginInit();
numTotalQuantity.Anchor = AnchorStyles.Top | AnchorStyles.Right;
numTotalQuantity.Location = new Point(frmSalesOrders.TotalWeightNumericEditor.Location.X, frmSalesOrders.TotalCubicNumericEditor.Location.Y);
numTotalQuantity.Name = "numTotalQuantity";
numTotalQuantity.Size = frmSalesOrders.TotalWeightNumericEditor.Size;
numTotalQuantity.DecimalPlaces = 2;
numTotalQuantity.Appearance = frmSalesOrders.TotalWeightNumericEditor.Appearance;
lblTotalQuantity.Anchor = AnchorStyles.Top | AnchorStyles.Right;
lblTotalQuantity.Location = new Point(frmSalesOrders.lblTotalWeight.Location.X, frmSalesOrders.lblTotalCubic.Location.Y);
lblTotalQuantity.Name = "lblTotalQuantity";
lblTotalQuantity.Size = frmSalesOrders.lblTotalWeight.Size;
lblTotalQuantity.Text = "Total Qty.";
lblTotalQuantity.Appearance = frmSalesOrders.lblTotalWeight.Appearance;
frmSalesOrders.TableLayoutPanel1.Controls.Add(lblTotalQuantity, 5, 6);
frmSalesOrders.TableLayoutPanel1.Controls.Add(numTotalQuantity, 6, 6);
((System.ComponentModel.ISupportInitialize)numTotalQuantity).EndInit();
frmSalesOrders.Manager.MakeReadOnly(numTotalQuantity, true);
#endregion
frmSalesOrders.SalesOrder.ReadEnd += delegate (object sender, EventArgs e)
{
numTotalQuantity.Value = frmSalesOrders.SalesOrder.SalesOrderLines.Cast<JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine>()
.Sum(l => l.QuantityOrdered);
};
frmSalesOrders.SalesOrder.CreateEnd += delegate (object sender, EventArgs e)
{
numTotalQuantity.Value = decimal.One;
};
frmSalesOrders.SalesOrder.CopyEnd += delegate (object sender, EventArgs e)
{
numTotalQuantity.Value = frmSalesOrders.SalesOrder.SalesOrderLines.Cast<JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine>()
.Sum(l => l.QuantityOrdered);
};
frmSalesOrders.SalesOrder.SaveStart += delegate (object sender, EventArgs e)
{
JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomFieldValue cfvTotalOrderQuantity = frmSalesOrders.SalesOrder.CustomFieldValues.get_ItemFromSettingName("TotalQuantityOrdered", Plugin.Name);
if (cfvTotalOrderQuantity.Contents != null)
{
cfvTotalOrderQuantity.Contents = Convert.ToString(frmSalesOrders.SalesOrder.SalesOrderLines.Cast<JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine>()
.Sum(l => l.QuantityOrdered));
}
};
frmSalesOrders.SalesOrder.SalesOrderLines.Added += delegate (JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine item)
{
numTotalQuantity.Value = frmSalesOrders.SalesOrder.SalesOrderLines.Cast<JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine>()
.Sum(l => l.QuantityOrdered);
};
frmSalesOrders.SalesOrder.SalesOrderLines.Removed += delegate (JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine item)
{
numTotalQuantity.Value = frmSalesOrders.SalesOrder.SalesOrderLines.Cast<JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine>()
.Sum(l => l.QuantityOrdered);
};
frmSalesOrders.SalesOrder.SalesOrderLines.Changed += delegate (JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine item, System.ComponentModel.PropertyChangedEventArgs e)
{
if (e.PropertyName == "Quantity")
{
numTotalQuantity.Value = frmSalesOrders.SalesOrder.SalesOrderLines.Cast<JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine>()
.Sum(l => l.QuantityOrdered);
}
};
}
}
}
#endregion