﻿<?xml version="1.0" encoding="utf-16"?>
<JiwaDocument xmlns:jiwa="http://www.jiwa.com.au/xml/schemas" Type="JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin">
  <RecID>ed210ee0-c6a6-4233-8c4a-547c39d746a4</RecID>
  <Name>Create Work Order from Sales Order</Name>
  <Description>Adds a tool to the sales form ribbon "Create Work Orders".  When pressed, any items on backorder which are the primary output of bill of materials will have a work order created.  The work order is linked to the sales order line by the built-in field BM_WorkOrder.SO_Lines_InvoiceLineID on the work order linking to the sales order line, and the sales order line has a new column displaying the work order (drillable).&amp;#13;&amp;#10;&amp;#13;&amp;#10;When a work order is closed that is linked to a sales order, the sales order will receive the stock instead of it going straight into stock.</Description>
  <IsEnabled>true</IsEnabled>
  <IsIsolatedToOwnAppDomain>false</IsIsolatedToOwnAppDomain>
  <ExecutionOrder>0</ExecutionOrder>
  <Author>Jiwa Financials</Author>
  <Version>7.2</Version>
  <Code>using Microsoft.VisualBasic;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using JiwaFinancials.Jiwa;
using System.Windows.Forms;
using System.Data.SqlClient;
using System.Drawing;
using ServiceStack;
using ServiceStack.DataAnnotations;
using ServiceStack.Model;

#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.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm)
		{
			JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm salesOrderForm = (JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm)JiwaForm;
			
			// Add tool to ribbon to create work orders
			Infragistics.Win.UltraWinToolbars.RibbonGroup group = salesOrderForm.UltraToolbarsManager1.Ribbon.Tabs["Main"].Groups["Actions"];
				
			Infragistics.Win.UltraWinToolbars.ButtonTool newTool = new Infragistics.Win.UltraWinToolbars.ButtonTool("Create Work Orders");       
	        newTool.SharedProps.Caption = "Create Work Orders";
	        salesOrderForm.UltraToolbarsManager1.Tools.Add(newTool);
			group.Tools.AddTool("Create Work Orders");
	        group.Tools["Create Work Orders"].InstanceProps.MinimumSizeOnRibbon = Infragistics.Win.UltraWinToolbars.RibbonToolSize.Normal;
	       
	        salesOrderForm.UltraToolbarsManager1.ToolClick += SalesOrderForm_Toolbar_ToolClick;        
			salesOrderForm.StateChanged += SalesOrderForm_StateChanged;
			salesOrderForm.LineDisplayed += SalesOrderForm_LineDisplayed;
			
			// Add the columns to display work order No.
			salesOrderForm.grdLines.AddColumn("WorkOrderNo", new JiwaFinancials.Jiwa.JiwaApplication.JiwaManageGrid.JiwaTextCellType(), "Work Order", 8, false, true, true, true, 50, true, false, 0, false);
			salesOrderForm.grdLines.ApplyCustomColumnInfoToGrid();
		}
    }
	
	#region "Sales Order methods"
	public void SalesOrderForm_Toolbar_ToolClick(object sender, Infragistics.Win.UltraWinToolbars.ToolClickEventArgs e)
	{
        if ("Create Work Orders" == e.Tool.Key)
		{
			JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm salesOrderForm = (JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm)((Infragistics.Win.UltraWinToolbars.UltraToolbarsManager)sender).DockWithinContainer;
            CreateWorkOrders(salesOrderForm);
        }
    }
	
	public void SalesOrderForm_StateChanged(object sender, System.EventArgs e)
	{
		JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm salesOrderForm = (JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm)(sender);
        salesOrderForm.UltraToolbarsManager1.Tools["Create Work Orders"].SharedProps.Enabled = false;

		if (salesOrderForm.SalesOrder.SalesOrderLines.TotalBackOrderedQuantity &gt; 0 &amp;&amp; 1 == salesOrderForm.SalesOrder.CurrentHistoryNo &amp;&amp; JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder.SalesOrderStatuses.e_SalesOrderClosed != salesOrderForm.SalesOrder.SalesOrderStatus)
		{
			salesOrderForm.UltraToolbarsManager1.Tools["Create Work Orders"].SharedProps.Enabled = true;
		}
    }
	
	public void SalesOrderForm_LineDisplayed(object sender, System.EventArgs e, JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine SalesOrderLine, int Row)
	{
		JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm salesOrderForm = (JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm)(sender);
		
		for(int row = 0; row &lt;= salesOrderForm.grdLines.ActiveSheet.RowCount - 1; row++)
		{
			if (salesOrderForm.grdLines.get_GridText("Key", row).ToString() == SalesOrderLine.RecID)
			{
				JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder workOrder = GetWorkOrderFromInvoiceLineID(SalesOrderLine.RecID, salesOrderForm.Manager);
				if (workOrder != null)
				{
					salesOrderForm.grdLines.set_GridText("WorkOrderNo", row, workOrder.WorkOrderNo);
					salesOrderForm.grdLines.SetDrillDown("WorkOrderNo", row, "JiwaFinancials.Jiwa.JiwaBillOfMaterialsUI.WorkOrder.WorkOrder", workOrder.RecID);
					salesOrderForm.grdLines.LockColumn(true, "", row);
				}
				break;
			}
		}
	}
	
	public void CreateWorkOrders(JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.BaseSalesOrderEntryForm SalesOrderForm)
	{		
		var db = SalesOrderForm.Manager.Database;
		bool weStartedTransaction = false;
		
		try
		{						
			// Start a transaction if none already exists
			if (null == db.SQLTransaction)
			{
				db.BeginNewTransaction();
				weStartedTransaction = true;
			}
			
			SalesOrderForm.SalesOrder.Save();
			
			foreach(JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine line in SalesOrderForm.SalesOrder.SalesOrderLines)
			{
				if (line.QuantityBackOrdered &gt; 0)
				{												
					JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder existingWorkOrder = GetWorkOrderFromInvoiceLineID(line.RecID, SalesOrderForm.Manager);
					if (null == existingWorkOrder)
					{
						JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder workOrder = SalesOrderForm.Manager.BusinessLogicFactory.CreateBusinessLogic&lt;JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder&gt;(null);
						workOrder.CreateNew();				
						workOrder.Bill.Read(GetBillIDFromPartNo(line.PartNo, SalesOrderForm.Manager));
						workOrder.ProductionQuantity = line.QuantityBackOrdered;
						workOrder.SalesOrderLine.ReadRecord(line.RecID);
						workOrder.Reference = SalesOrderForm.SalesOrder.InvoiceNo;
						workOrder.Save();
						workOrder.Read(workOrder.RecID);
						workOrder.Status = JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder.Statuses.Started;
						workOrder.Save();
					}
				}
			}
									
			if (weStartedTransaction)
			{
	            db.SQLTransaction.Commit();
	            db.SQLTransaction.Dispose();
	            db.SQLTransaction = null;
			}
			
			SalesOrderForm.SalesOrder.Read(SalesOrderForm.SalesOrder.RecID);
		}
		catch (System.Exception ex)
		{
			if (weStartedTransaction &amp;&amp; db.SQLTransaction != null)
			{
                if (db.SQLTransaction.Connection != null)
                    db.SQLTransaction.Rollback();                
                db.SQLTransaction.Dispose();
                db.SQLTransaction = null;
            }
			throw;
		}
		finally
		{
			if (weStartedTransaction)
				db.SQLTransaction = null;
		}
	}
	
	public string GetBillIDFromPartNo(string PartNo, JiwaFinancials.Jiwa.JiwaApplication.Manager Manager)
	{
		// Get the BillID by trying to match on primary output partno == sales order line partno
		string billID = null;
		SqlDataReader SQLReader = null;
    	SqlParameter SQLParam = null;
		
		try
		{
			var db = Manager.Database;
			string Sql = @"SELECT TOP 1 BM_Main.RecID
							FROM BM_Main
							JOIN BM_Outputs ON BM_Outputs.BM_Main_RecID = BM_Main.RecID
							JOIN IN_Main ON IN_Main.InventoryID = BM_Outputs.InventoryID
							WHERE IN_Main.PartNo = @PartNo
							AND BM_Main.IsEnabled = 1";

			using (SqlCommand SQLCmd = new SqlCommand(Sql, db.SQLConnection, db.SQLTransaction)) {
				SQLParam = new SqlParameter("@PartNo", System.Data.SqlDbType.VarChar);
				SQLParam.Value = PartNo;
				SQLCmd.Parameters.Add(SQLParam);

				SQLReader = db.ExecuteReader(SQLCmd);

				if (SQLReader.Read() == true) 
				{
					billID = SQLReader["RecID"].ToString();
				} 
				else 
				{
					throw new JiwaFinancials.Jiwa.JiwaApplication.Exceptions.RecordNotFoundException(String.Format("No bill with output item '{0}' found.", PartNo));
				}
			}
		}
		finally
		{
            if (null != SQLReader)
			{
                SQLReader.Close();
            }
		}
		
		return billID;
	}
	
	public JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder GetWorkOrderFromInvoiceLineID(string InvoiceLineID, JiwaFinancials.Jiwa.JiwaApplication.Manager Manager)
	{		
		JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder workOrder = null;		
		SqlDataReader SQLReader = null;
    	SqlParameter SQLParam = null;
		
		try
		{
			var db = Manager.Database;
			string Sql = @"SELECT TOP 1 BM_WorkOrder.RecID, BM_WorkOrder.WorkOrderNo
							FROM BM_WorkOrder
							WHERE BM_WorkOrder.SO_Lines_InvoiceLineID = @InvoiceLineID";

			using (SqlCommand SQLCmd = new SqlCommand(Sql, db.SQLConnection, db.SQLTransaction)) {
				SQLParam = new SqlParameter("@InvoiceLineID", System.Data.SqlDbType.VarChar);
				SQLParam.Value = InvoiceLineID;
				SQLCmd.Parameters.Add(SQLParam);

				SQLReader = db.ExecuteReader(SQLCmd);

				if (SQLReader.Read() == true) 
				{
					workOrder = Manager.BusinessLogicFactory.CreateBusinessLogic&lt;JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder&gt;(null);
					workOrder.RecID = SQLReader["RecID"].ToString();
					workOrder.WorkOrderNo = SQLReader["WorkOrderNo"].ToString();
				} 
			}
		}
		finally
		{
            if (null != SQLReader)
			{
                SQLReader.Close();
            }
		}
		
		return workOrder;
	}		
	#endregion		
}
#endregion

#region "BusinessLogicPlugin"
public class BusinessLogicPlugin : System.MarshalByRefObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogicPlugin
{

    public override object InitializeLifetimeService()
    {
        // returning null here will prevent the lease manager
        // from deleting the Object.
        return null;
    }

    public void Setup(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic JiwaBusinessLogic, JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin Plugin)
    {
		if (JiwaBusinessLogic is JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder)
		{
			JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder workOrder = (JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder)JiwaBusinessLogic;			
			workOrder.SaveEnding += WorkOrder_SaveEnding;
		}
    }		
	
	public void WorkOrder_SaveEnding(object sender, System.EventArgs e)
	{
		JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder workOrder = (JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder)sender;
		
		if (workOrder.Status == JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder.Statuses.Closed &amp;&amp; workOrder.OriginalStatus != JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder.Statuses.Closed)
		{
			// work order is being closed - if this is a WO for a sales order, then push output item to originating sales order			
			if (workOrder.SalesOrderLine != null &amp;&amp; workOrder.SalesOrderLine.InvoiceLineID != null &amp;&amp; workOrder.SalesOrderLine.InvoiceLineID.Trim().Length &gt; 0 )
			{
				JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder salesOrder = workOrder.Manager.BusinessLogicFactory.CreateBusinessLogic&lt;JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder&gt;(null);
				salesOrder.Read(workOrder.SalesOrderLine.SalesOrder.RecID);
				
				if (salesOrder.SalesOrderStatus == JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder.SalesOrderStatuses.e_SalesOrderProcessed)
				{
					salesOrder.MakeNewSnapshot(true);
				}
				
				// Find sales order line - it might be a different snapshot, so has a different InvoiceLineID now - so we use the ItemNo (LineNum) to index the collection
				JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine salesOrderLine = salesOrder.SalesOrderLines[workOrder.SalesOrderLine.ItemNo];
				
				if (salesOrderLine != null)
				{
					foreach(JiwaFinancials.Jiwa.JiwaApplication.Inventory.SOH.LineDetail&lt;JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.OutputItem&gt; outputLineDetail in workOrder.OutputItems.PrimaryOutputItem.LineDetails)
					{										
						JiwaFinancials.Jiwa.JiwaSales.SalesOrder.LineDetail salesOrderLineDetail = new JiwaFinancials.Jiwa.JiwaSales.SalesOrder.LineDetail();
						
						salesOrderLineDetail.SOHID = outputLineDetail.IN_SOH_LinkID;
						salesOrderLineDetail.BinLocation = outputLineDetail.BinLocation;
						salesOrderLineDetail.Cost = outputLineDetail.Cost;
						salesOrderLineDetail.DateIn = outputLineDetail.DateIn;
						salesOrderLineDetail.ExpiryDate = outputLineDetail.ExpiryDate;
						salesOrderLineDetail.Quantity = outputLineDetail.Quantity;
						salesOrderLineDetail.SerialNo = outputLineDetail.SerialNo;					
						salesOrderLineDetail.IN_LogicalID = outputLineDetail.IN_LogicalID;
					
						salesOrderLine.LineDetails.Add(salesOrderLineDetail);
						salesOrderLine.ReAdjustDelivered(salesOrderLine.QuantityOrdered, false);
					}
				}				
				salesOrder.Save();
			}
		}
	}
}
#endregion

#region "ApplicationManagerPlugin"
public class ApplicationManagerPlugin : System.MarshalByRefObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaApplicationManagerPlugin
{

    public override object InitializeLifetimeService()
    {
        // returning null here will prevent the lease manager
        // from deleting the Object.
        return null;
    }

    public void Setup(JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin Plugin)
    {
    }
}
#endregion

#region "CustomFieldPlugin"
public class CustomFieldPlugin : System.MarshalByRefObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaCustomFieldPlugin
{
    public override object InitializeLifetimeService()
    {
        // returning null here will prevent the lease manager
        // from deleting the Object.
        return null;
    }

    public void FormatCell(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Col, int Row, JiwaFinancials.Jiwa.JiwaApplication.IJiwaCustomFieldValues HostObject, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomField CustomField, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomFieldValue CustomFieldValue)
    {
    }

    public void ReadData(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Row, JiwaFinancials.Jiwa.JiwaApplication.IJiwaCustomFieldValues HostObject, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomField CustomField, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomFieldValue CustomFieldValue)
    {
    }

    public void ButtonClicked(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Col, int Row, JiwaFinancials.Jiwa.JiwaApplication.IJiwaCustomFieldValues HostObject, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomField CustomField, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomFieldValue CustomFieldValue)
    {
    }
}
#endregion

#region "LineCustomFieldPlugin"
public class LineCustomFieldPlugin : System.MarshalByRefObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaLineCustomFieldPlugin
{
    public override object InitializeLifetimeService()
    {
        // returning null here will prevent the lease manager
        // from deleting the Object.
        return null;
    }

    public void FormatCell(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Col, int Row, JiwaFinancials.Jiwa.JiwaApplication.IJiwaLineCustomFieldValues HostItem, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomField CustomField, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomFieldValue CustomFieldValue)
    {
    }

    public void ReadData(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Row, JiwaFinancials.Jiwa.JiwaApplication.IJiwaLineCustomFieldValues HostItem, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomField CustomField, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomFieldValue CustomFieldValue)
    {
    }

    public void ButtonClicked(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Col, int Row, JiwaFinancials.Jiwa.JiwaApplication.IJiwaLineCustomFieldValues HostItem, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomField CustomField, JiwaFinancials.Jiwa.JiwaApplication.CustomFields.CustomFieldValue CustomFieldValue)
    {
    }
}
#endregion

#region "SystemSettingPlugin"
public class SystemSettingPlugin : System.MarshalByRefObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaSystemSettingPlugin
{
    public override object InitializeLifetimeService()
    {
        // returning null here will prevent the lease manager
        // from deleting the Object.
        return null;
    }

    public void FormatCell(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Col, int Row, JiwaFinancials.Jiwa.JiwaApplication.SystemSettings.Setting SystemSetting)
    {
    }

    public void ReadData(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Row, JiwaFinancials.Jiwa.JiwaApplication.SystemSettings.Setting SystemSetting)
    {
    }

    public void ButtonClicked(JiwaFinancials.Jiwa.JiwaApplication.IJiwaBusinessLogic BusinessLogicHost, JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid GridObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm FormObject, int Col, int Row, JiwaFinancials.Jiwa.JiwaApplication.SystemSettings.Setting SystemSetting)
    {
    }
}
#endregion

#region "ScheduledExecutionPlugin"
public class ScheduledExecutionPlugin : System.MarshalByRefObject, JiwaFinancials.Jiwa.JiwaApplication.IJiwaScheduledExecutionPlugin
{
    public void Execute(JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin Plugin, JiwaFinancials.Jiwa.JiwaApplication.Schedule.Schedule Schedule)
    {
        lock (JiwaFinancials.Jiwa.JiwaApplication.Manager.CriticalSectionFlag)
        {
            // place processing code in here
        }
    }

    public void OnServiceStart(JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin Plugin)
    {
    }

    public void OnServiceStopping(JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin Plugin)
    {
    }
}
#endregion
</Code>
  <ExceptionPolicy>Report</ExceptionPolicy>
  <Language>CSharp</Language>
  <PluginFormCollection>
    <PluginForm>
      <RecID>3f3c683b-45e2-4ee3-a78c-e649a96bd66f</RecID>
      <Description>Sales Orders</Description>
      <ClassName>JiwaFinancials.Jiwa.JiwaSalesUI.SalesOrder.SalesOrderEntryForm</ClassName>
    </PluginForm>
  </PluginFormCollection>
  <BusinessLogicCollection>
    <BusinessLogic>
      <RecID>2338f0fb-ba61-4862-9bfa-d934843c4bcf</RecID>
      <Description>Work Order</Description>
      <ClassName>JiwaFinancials.Jiwa.JiwaBillOfMaterials.WorkOrder.WorkOrder</ClassName>
      <Assembly>JiwaBillOfMaterials, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</Assembly>
    </BusinessLogic>
  </BusinessLogicCollection>
  <ReferenceCollection>
    <Reference>
      <RecID>b73b5980-1607-46ed-be1d-450c47396411</RecID>
      <AssemblyFullName>JiwaApplication, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaApplication.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaApplication.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>b6403818-378e-443b-9b7b-c80a1b0cf7f2</RecID>
      <AssemblyFullName>mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>mscorlib.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>6e6ca5fa-82d1-425e-9eff-313d181542ab</RecID>
      <AssemblyFullName>System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>85513d96-4f9e-470b-8b62-61b5c9b57663</RecID>
      <AssemblyFullName>Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>Microsoft.VisualBasic.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualBasic\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>268e4b23-6b5b-447a-ba29-ac3ef0aa15c1</RecID>
      <AssemblyFullName>System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>System.Drawing.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>50568aa2-ec11-413c-a4b2-7fecf5149b0d</RecID>
      <AssemblyFullName>JiwaODBC, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaODBC.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaODBC.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>275a0eb0-77cb-4ce8-aace-5a442d0db258</RecID>
      <AssemblyFullName>System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Data.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2c060e6b-debd-437b-9d26-f06073dff348</RecID>
      <AssemblyFullName>System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Xml.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>5cd08036-4afe-4f3d-9225-114d4a54fd58</RecID>
      <AssemblyFullName>System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Runtime.Serialization.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>66837f82-304f-4ad1-8dc7-fdbdf5792572</RecID>
      <AssemblyFullName>System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Windows.Forms.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>047c23c1-ca99-438f-8279-a6e4e0626b95</RecID>
      <AssemblyFullName>JiwaServiceModel, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaServiceModel.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaServiceModel.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>205795f9-12c8-4bb0-82d8-1426acca8a70</RecID>
      <AssemblyFullName>Infragistics4.Win.Misc.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.Misc.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.Misc.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.Misc.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>29ffade6-eb43-46e5-b46a-032c7ea3b7a2</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinEditors.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinEditors.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinEditors.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinEditors.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>3d945ca0-2ac1-4aca-9eac-591c996a60fa</RecID>
      <AssemblyFullName>Infragistics4.Win.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>630fa684-c7f3-4ac2-b97b-4611440d9938</RecID>
      <AssemblyFullName>Microsoft.SqlServer.Smo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.Smo.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\Microsoft.SqlServer.Smo.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>a6a415ed-a98b-4208-8290-155ee8599ebf</RecID>
      <AssemblyFullName>Microsoft.SqlServer.ConnectionInfo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.ConnectionInfo.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\Microsoft.SqlServer.ConnectionInfo.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>d488f174-f472-47da-a06b-ad1b46df0d29</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinExplorerBar.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinExplorerBar.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinExplorerBar.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinExplorerBar.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>10ffabd6-9b09-4283-8afa-8006a42ac17d</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinTree.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinTree.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinTree.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinTree.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>67b1b227-ebd5-49cf-a391-08c92efe323e</RecID>
      <AssemblyFullName>FarPoint.Win.Spread, Version=8.35.20151.0, Culture=neutral, PublicKeyToken=327c3516b1b18457</AssemblyFullName>
      <AssemblyName>FarPoint.Win.Spread.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\FarPoint.Win.Spread\8.35.20151.0__327c3516b1b18457\FarPoint.Win.Spread.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>b62dada0-7c5c-431a-a978-afa1bd119345</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinTabControl.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinTabControl.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinTabControl.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinTabControl.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>b30fe7a8-bfe1-4003-8754-69cf499ee588</RecID>
      <AssemblyFullName>Infragistics4.Shared.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Shared.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Shared.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Shared.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>5ccd476c-ab72-421b-9a28-c23fc8d0fab6</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinToolbars.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinToolbars.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinToolbars.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinToolbars.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>e5cdced6-e037-4a85-b257-22889c0f1f1e</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinStatusBar.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinStatusBar.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinStatusBar.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinStatusBar.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>7b2c603e-0e70-4145-87ed-dc3325641f1f</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinSchedule.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinSchedule.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinSchedule.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinSchedule.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>6d7a8194-ec62-48c0-be31-dc92970b8255</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinListView.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinListView.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinListView.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinListView.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2dc37938-ef1c-4673-8ec1-026b9e21cc41</RecID>
      <AssemblyFullName>ServiceStack, Version=5.0.0.0, Culture=neutral, PublicKeyToken=02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\ServiceStack.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>e27271df-c67a-46ec-918d-875aec0799e7</RecID>
      <AssemblyFullName>EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>EntityFramework.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\EntityFramework.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>c70feaa4-a501-494d-93a1-6676c551ae2d</RecID>
      <AssemblyFullName>System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Core.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>a13118d8-cd49-4fb5-851e-ec05deeffb34</RecID>
      <AssemblyFullName>ActiproSoftware.SyntaxEditor.WinForms, Version=16.1.330.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763</AssemblyFullName>
      <AssemblyName>ActiproSoftware.SyntaxEditor.WinForms.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\ActiproSoftware.SyntaxEditor.WinForms\16.1.330.0__c27e062d3c1a4763\ActiproSoftware.SyntaxEditor.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>280adeb7-280a-4a74-b3e3-2c78004ed405</RecID>
      <AssemblyFullName>ZetaHtmlEditControl, Version=1.1.0.3, Culture=neutral, PublicKeyToken=2e2e5ba5da72b6c0</AssemblyFullName>
      <AssemblyName>ZetaHtmlEditControl.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\ZetaHtmlEditControl.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>5e9514d8-a1f8-4978-8671-4c774df14071</RecID>
      <AssemblyFullName>ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms, Version=16.1.330.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763</AssemblyFullName>
      <AssemblyName>ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms\16.1.330.0__c27e062d3c1a4763\ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>12a044ca-cfdc-496c-9b2f-03540a7055e4</RecID>
      <AssemblyFullName>JiwaEncryption, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaEncryption.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaEncryption.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2f4fda4c-cd46-40ee-8bf4-22c37edda902</RecID>
      <AssemblyFullName>System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>System.Security.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Security\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Security.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>835f5682-f313-4c98-a6cb-5f6bf7a8240e</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinGrid.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinGrid.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.UltraWinGrid.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.UltraWinGrid.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>bb1a2d08-6f50-4f9a-82d5-c7c1c9af1dc2</RecID>
      <AssemblyFullName>Microsoft.SqlServer.Dac, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.Dac.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\Microsoft.SqlServer.Dac.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>1e72a916-b115-4c85-8dcd-c1ee3730b8d7</RecID>
      <AssemblyFullName>CrystalDecisions.CrystalReports.Engine, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.CrystalReports.Engine.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine\13.0.3500.0__692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>32c2fa72-3a2e-4618-8ced-2013c3ac6f2a</RecID>
      <AssemblyFullName>CrystalDecisions.Shared, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.Shared.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\CrystalDecisions.Shared\13.0.3500.0__692fbea5521e1304\CrystalDecisions.Shared.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>bea6f6b6-b708-4366-aabe-ff645d0cba27</RecID>
      <AssemblyFullName>CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.ReportAppServer.ClientDoc.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.ClientDoc\13.0.3500.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.ClientDoc.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>8c48584f-3c06-46de-9d1f-b6e872339281</RecID>
      <AssemblyFullName>CrystalDecisions.ReportAppServer.Controllers, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.ReportAppServer.Controllers.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.Controllers\13.0.3500.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.Controllers.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2718e828-337b-4323-9f12-0504bce39e8f</RecID>
      <AssemblyFullName>Infragistics4.Win.AppStylistSupport.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.AppStylistSupport.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Infragistics4.Win.AppStylistSupport.v13.1\v4.0_13.1.20131.2060__7dd5c3163f2cd0cb\Infragistics4.Win.AppStylistSupport.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>f4b1d662-f0ee-4a89-ae3b-a22535f5fbaf</RecID>
      <AssemblyFullName>JiwaLib, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaLib.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaLib.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>00383026-fe54-48a7-82aa-b3b872c9b386</RecID>
      <AssemblyFullName>Microsoft.ApplicationInsights, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</AssemblyFullName>
      <AssemblyName>Microsoft.ApplicationInsights.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\Microsoft.ApplicationInsights.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>dfd9267b-c280-4446-bc1d-0bd1af4d5df9</RecID>
      <AssemblyFullName>CrystalDecisions.Windows.Forms, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.Windows.Forms.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\CrystalDecisions.Windows.Forms\13.0.3500.0__692fbea5521e1304\CrystalDecisions.Windows.Forms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>23379f71-0414-4813-9aeb-cff07735199c</RecID>
      <AssemblyFullName>EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>EntityFramework.SqlServer.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\EntityFramework.SqlServer.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>611d0112-bc8c-4c6c-8309-6af1d105c883</RecID>
      <AssemblyFullName>ServiceStack.Text, Version=5.0.0.0, Culture=neutral, PublicKeyToken=02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.Text.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\ServiceStack.Text.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2217d4f1-bdf2-41b9-9f48-59b40ee272bb</RecID>
      <AssemblyFullName>ActiproSoftware.Shared.WinForms, Version=16.1.330.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763</AssemblyFullName>
      <AssemblyName>ActiproSoftware.Shared.WinForms.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\ActiproSoftware.Shared.WinForms\16.1.330.0__c27e062d3c1a4763\ActiproSoftware.Shared.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>bdf01516-8ee7-47a8-9395-743cbabae768</RecID>
      <AssemblyFullName>FarPoint.Win, Version=8.35.20151.0, Culture=neutral, PublicKeyToken=327c3516b1b18457</AssemblyFullName>
      <AssemblyName>FarPoint.Win.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\FarPoint.Win\8.35.20151.0__327c3516b1b18457\FarPoint.Win.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>5ea08fe0-87d2-42cf-be0d-3be5239ac003</RecID>
      <AssemblyFullName>CrystalDecisions.ReportAppServer.ReportDefModel, Version=13.0.3500.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.ReportAppServer.ReportDefModel.dll</AssemblyName>
      <AssemblyLocation>C:\WINDOWS\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.ReportDefModel\13.0.3500.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.ReportDefModel.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>c7e5c1df-a442-488b-87b8-da11dca5d0d1</RecID>
      <AssemblyFullName>ServiceStack.Interfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.Interfaces.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\ServiceStack.Interfaces.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>532f6682-df88-4778-ba02-6f79e28fd623</RecID>
      <AssemblyFullName>ServiceStack.Server, Version = 5.0.0.0, Culture = neutral, PublicKeyToken = 02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.Server.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\ServiceStack.Server.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>4caf28a9-e033-467e-b106-8ee029d7a093</RecID>
      <AssemblyFullName>ServiceStack.OrmLite, Version = 5.0.0.0, Culture = neutral, PublicKeyToken = 02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.OrmLite.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\ServiceStack.OrmLite.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>3fbf57c9-c7aa-4e0b-8743-6b5e2b73ad8f</RecID>
      <AssemblyFullName>JiwaSalesUI, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaSalesUI.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaSalesUI.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>f3f9272e-d7eb-4505-b76e-2f1a86654c7a</RecID>
      <AssemblyFullName>JiwaSales, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaSales.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaSales.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>92f8bce9-fbc9-40a5-93c2-4009f54903c7</RecID>
      <AssemblyFullName>JiwaPriceSchemes, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaPriceSchemes.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaPriceSchemes.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>a34d2e36-024e-4b06-bd5a-5a87ffc38d5b</RecID>
      <AssemblyFullName>JiwaJobCosting, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaJobCosting.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaJobCosting.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>325b7d6c-b414-45e7-aa37-99490ccbdb93</RecID>
      <AssemblyFullName>JiwaSerialNumbersUI, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaSerialNumbersUI.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaSerialNumbersUI.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>95e1e82a-3955-4374-8c74-0f489e4fe86d</RecID>
      <AssemblyFullName>JiwaBillOfMaterials, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaBillOfMaterials.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaBillOfMaterials.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>efada3a8-b600-42da-b2a3-60e320cd5098</RecID>
      <AssemblyFullName>JiwaJournalSets, Version=7.2.0.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaJournalSets.dll</AssemblyName>
      <AssemblyLocation>C:\VSTS\Jiwa 7\07.02.00\Built Files\JiwaJournalSets.dll</AssemblyLocation>
    </Reference>
  </ReferenceCollection>
</JiwaDocument>