﻿<?xml version="1.0" encoding="utf-16"?>
<JiwaDocument xmlns:jiwa="http://www.jiwa.com.au/xml/schemas" Type="JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin">
  <RecID>11d3d244-3ecd-4859-918b-78d7ee5a9168</RecID>
  <Name>Sales Order Process - Change Ledger - Demo Data</Name>
  <Description>Changes the InventoryMovement (Stock Value) of the journal from sales order processing to use a specific GL account.</Description>
  <IsEnabled>true</IsEnabled>
  <IsIsolatedToOwnAppDomain>false</IsIsolatedToOwnAppDomain>
  <ExecutionOrder>0</ExecutionOrder>
  <Author>Jiwa Financials</Author>
  <Version>7.2.1.0</Version>
  <Code>using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Diagnostics;
using JiwaFinancials.Jiwa;

#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.JiwaSales.SalesOrder.SalesOrder)
		{
			JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder salesOrder = (JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder)JiwaBusinessLogic;
			salesOrder.Process_JournalSetsLineAddBefore += Process_JournalSetsLineAddBefore;
		}
    }
	
	private void Process_JournalSetsLineAddBefore(JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder.ProcessJournalLineTypes ProcessJournalLineType, JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder SalesOrder, ref JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrderLine SalesOrderLine, ref JiwaFinancials.Jiwa.JiwaJournalSets.JournalSet JournalSet, ref JiwaFinancials.Jiwa.JiwaJournalSets.Line JournalSetLine)
	{		
		// SalesOrderLine AND InventorySales
		if (((int)ProcessJournalLineType &amp; 
			((int)JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder.ProcessJournalLineTypes.SalesOrderLine | (int)JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder.ProcessJournalLineTypes.InventoryMovement))
			== ((int)JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder.ProcessJournalLineTypes.SalesOrderLine | 
			(int)JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder.ProcessJournalLineTypes.InventoryMovement))			
		{
			// In demo data 6200-000-00 is the inventory movement (Stock Value) account for most items.
			// Item 01140008 in demo data has stock value account of 6200-000-00
			// This will change that to be 4140-900-00
			// So processing a sales order with part 01140008 on it should see a post to account 4140-900-00 instead of 6200-000-00
			JournalSetLine.GLAccount.ReadRecordFromAccountNo("4140-900-00");			
		}				
	}
}
#endregion
</Code>
  <ExceptionPolicy>Abort</ExceptionPolicy>
  <Language>CSharp</Language>
  <BusinessLogicCollection>
    <BusinessLogic>
      <RecID>12bdd8db-b483-446f-b925-05c94e14eb62</RecID>
      <Description>Sales Order Entry</Description>
      <ClassName>JiwaFinancials.Jiwa.JiwaSales.SalesOrder.SalesOrder</ClassName>
      <Assembly>JiwaSales, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</Assembly>
    </BusinessLogic>
  </BusinessLogicCollection>
  <ReferenceCollection>
    <Reference>
      <RecID>90efcb73-05bb-41f4-81d6-db7160743c34</RecID>
      <AssemblyFullName>JiwaApplication, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaApplication.dll</AssemblyName>
      <AssemblyLocation>E:\VSTS\Jiwa 7\MikesV7JiwaBranch\Built Files\JiwaApplication.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2fdbace0-7771-40d7-bd98-4e8ac546efab</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>803dafbd-5ec3-4c05-a03f-e0f1bd3a98a7</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>dd3b0485-142f-450a-9ca0-a270736a6e9f</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>c3ed2cc7-f9d7-4ada-a073-722e00d1087b</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>4b730718-fb42-4112-b2bb-6b5ab18e6c58</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>8cd607cc-be3e-446c-a7a2-27070142ac3a</RecID>
      <AssemblyFullName>JiwaSales, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaSales.dll</AssemblyName>
      <AssemblyLocation>E:\VSTS\Jiwa 7\MikesV7JiwaBranch\Built Files\JiwaSales.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>ef5d1eee-4ca5-472d-9599-956b513f9587</RecID>
      <AssemblyFullName>JiwaJournalSets, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaJournalSets.dll</AssemblyName>
      <AssemblyLocation>E:\VSTS\Jiwa 7\MikesV7JiwaBranch\Built Files\JiwaJournalSets.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>def2535d-c4a9-460e-acbb-6c4b18b6ef9b</RecID>
      <AssemblyFullName>JiwaPriceSchemes, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaPriceSchemes.dll</AssemblyName>
      <AssemblyLocation>E:\VSTS\Jiwa 7\MikesV7JiwaBranch\Built Files\JiwaPriceSchemes.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>ef0cfa9d-1bff-4f7c-95de-f083354df43c</RecID>
      <AssemblyFullName>JiwaCashBook, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaCashBook.dll</AssemblyName>
      <AssemblyLocation>E:\VSTS\Jiwa 7\MikesV7JiwaBranch\Built Files\JiwaCashBook.dll</AssemblyLocation>
    </Reference>
  </ReferenceCollection>
</JiwaDocument>