﻿<?xml version="1.0" encoding="utf-16"?>
<JiwaDocument xmlns:jiwa="http://www.jiwa.com.au/xml/schemas" Type="JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin">
  <RecID>f788bbca-6bce-44c9-b13f-d72fa12580e8</RecID>
  <Name>Attkey Webhook Maintenance</Name>
  <Description>This plugin given the ability to Jiwa to maintain webhook subscribers and subscriptions to a screen.&amp;#13;&amp;#10;&amp;#13;&amp;#10;To install it simply import the plugin, register the form and add it to the menu in Jiwa.</Description>
  <IsEnabled>true</IsEnabled>
  <IsIsolatedToOwnAppDomain>false</IsIsolatedToOwnAppDomain>
  <ExecutionOrder>0</ExecutionOrder>
  <Author>Stuart Barnes</Author>
  <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;
using JiwaFinancials.Jiwa.JiwaApplication;
using JiwaFinancials.Jiwa.JiwaApplication.Exceptions;
using JiwaFinancials.Jiwa.JiwaODBC;
using System.Linq;
using Infragistics.Win;
using Infragistics.Win.AppStyling.Runtime;
using Infragistics.Win.Misc;
using Infragistics.Win.UltraWinEditors;
using Infragistics.Win.UltraWinMaskedEdit;
using Infragistics.Win.UltraWinSchedule;
using Infragistics.Win.UltraWinSchedule.CalendarCombo;
using Infragistics.Win.UltraWinTabControl;
using Infragistics.Win.UltraWinToolbars;
using Infragistics.Win.UltraWinToolTip;



#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)
    {
    }
}
#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)
    {
    }
}
#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






public class SYWebhookSubscriber : JiwaFinancials.Jiwa.JiwaApplication.BusinessLogic.Maintenance
{
	//private string _recID;
	private string _name;
	private bool _isEnabled;
	private int _itemNo;
	private DateTime _lastSavedDateTime;
	private byte[] _rowHash;
    private SYWebhookSubscriptions _SYWebhookSubscriptions;

//	public string RecID
//	{
//		get { return _recID; }
//		 set
//		 {
//			_recID = value;
//			//base.RecID = value;
//			NotifyPropertyChanged( "RecID");
//		 }
//	}
	

	public void Validate()
	{
		if (this._name  == null || this.Name.Trim() == "")
		{
			throw new Exception("Subscriber must have a name.");
		}
		this.Subscriptions.Validate();
	}	
	
	public SYWebhookSubscriptions Subscriptions
	{
		get { return _SYWebhookSubscriptions; }
		 set
		 {
			_SYWebhookSubscriptions = value;
			//base.RecID = value;
			NotifyPropertyChanged( "Subscriptions");
		 }
	}	

	public string Name
	{
		get { return _name; }
		 set
		 {
			_name = value;
			NotifyPropertyChanged( "Name");
		 }
	}

	public bool IsEnabled
	{
		get { return _isEnabled; }
		 set
		 {
			_isEnabled = value;
			NotifyPropertyChanged( "IsEnabled");
		 }
	}

	public int ItemNo
	{
		get { return _itemNo; }
		 set
		 {
			_itemNo = value;
			NotifyPropertyChanged( "ItemNo");
		 }
	}

	public DateTime LastSavedDateTime
	{
		get { return _lastSavedDateTime; }
		 set
		 {
			_lastSavedDateTime = value;
			NotifyPropertyChanged( "LastSavedDateTime");
		 }
	}

	public byte[] RowHash
	{
		get { return _rowHash; }
		 set
		 {
			_rowHash = value;
			NotifyPropertyChanged( "RowHash");
		 }
	}



	 public SYWebhookSubscriber()
	{
		base.ClientClassName = "JiwaFinancials.Jiwa.JiwaApplication.BusinessLogic.Maintenance";
		this.InsertFlag = true;
		this.DeleteFlag = false;
		this.ChangeFlag = false;
	}


	public void MarkChanged()
	{
		this.ChangeFlag = true;
	}
	
	public int GetMaxItemNo()
	{
		string SQL = "";
		SqlDataReader SQLReader = null;
		SqlParameter SQLParam = null;
		int result = 0;
		try
		{
			var db = this.Manager.Database;

			SQL = @"SELECT coalesce(max(itemNo),0) +1 as MaxItemNo
                    FROM SY_WebhookSubscriber";
			using (SqlCommand SQLCmd = new SqlCommand(SQL, db.SQLConnection, db.SQLTransaction))
			{
				SQLCmd.CommandTimeout = this.Manager.Database.DefaultCommandTimeout;
				SQLReader = SQLCmd.ExecuteReader();
				if (SQLReader.Read())
				{
					result = int.Parse(db.Sanitise(SQLReader, "MaxItemNo").ToString());

				}
				else
				{
					throw new JiwaFinancials.Jiwa.JiwaApplication.Exceptions.RecordNotFoundException("Not Found");
				}
				SQLReader.Close();
				}
				if ((SQLReader != null))
				{
					SQLReader.Close();
				}
		}
		finally
		{
			if ((SQLReader != null))
			{
				SQLReader.Close();
			}
		}
		return result;
	}
	
	
	
	
	
	
	
	
	
	
	

	public void Search(System.Windows.Forms.Form OwnerForm)
    {
        // Used by the user interface when searching
        //var search = JiwaFinancials.Jiwa.JiwaApplication.Manager.Instance.Search;
		var search = this.Manager.Search;
		
		//JiwaFinancials.Jiwa.JiwaApplication.JiwaSearch.clsSearch.SearchModes searchMode = JiwaFinancials.Jiwa.JiwaApplication.JiwaSearch.clsSearch.SearchModes.jswArchivingJobs;

        search.Clear();
        search.Caption = "webhooks";

        var searchOption = new JiwaFinancials.Jiwa.JiwaApplication.JiwaSearch.SearchOption();
        searchOption.Title = "Webhooks";
        searchOption.SQLStr = @"SELECT RecID
							      ,Name
							      ,IsEnabled
							  FROM SY_WebhookSubscriber";
        searchOption.OrderBy = @"ORDER BY name";
        searchOption.AddColumn("RecID", Microsoft.VisualBasic.VariantType.String, "", 0, 1);
		searchOption.AddColumn("Name", Microsoft.VisualBasic.VariantType.String, "", 50, 2);
        searchOption.AddColumn("Enabled", Microsoft.VisualBasic.VariantType.Boolean, "", 50, 3);
        search.AddSearchOption(ref searchOption);

        if (search.Show(OwnerForm) == DialogResult.OK)
        {
            if (search.Results.Count &gt; 0)
            {
                var idField = (JiwaFinancials.Jiwa.JiwaApplication.JiwaSearch.Field)search.get_Fields(1);
                Read(idField.FieldValue.ToString());
            }
        }
        else
        {
            throw new JiwaFinancials.Jiwa.JiwaApplication.Exceptions.ClientCancelledException();
        }
    }	
	
	
	
	
	
	


	private void ClearVariables()
	{
		//_recID = Guid.NewGuid();
		RecID = Guid.NewGuid().ToString();
		_SYWebhookSubscriptions.Clear();
		_name = "";
		_isEnabled = false;
		_itemNo = 0;
		_lastSavedDateTime = DateTime.Now;
		_rowHash = new byte[8];
	}





	public override void Delete()
	{
		this.DeleteFlag = true;
	}





	public override void CreateNew()
	{
		ClearVariables();
		this.InsertFlag = true;
		this.ChangeFlag = false;
		this.DeleteFlag = false;
	}





	public override void Clear()
	{
		ClearVariables();
		this.InsertFlag = true;
	}





	public override string DocumentNo
	{
		//get { return this.Name.ToString(); }
		get
		{
			try
			{
				switch (SortOrder.Description)
				{
				case "Rec ID.":
					return this.RecID.ToString();
				case "Name":
					return this.Name.ToString();					
				default:
					return this.Name.ToString();
				}				
			}
			catch(Exception ex)
			{
				return this.Name.ToString();
			}
			
		}
	}





	public override string RecIDFieldName
	{
		get { return "SY_WebhookSubscriber.RecID"; }
	}





	public override string TableName
	{
		get { return "SY_WebhookSubscriber"; }
	}





	public override void Deserialise(string XMLString)
	{
		throw new NotImplementedException();
	}

	public override void Copy()
	{
		throw new NotImplementedException();
	}

	public override void Serialise(ref string XML)
	{
		throw new NotImplementedException();
	}





	public override Type SerialiseType()
	{
		return typeof(SYWebhookSubscriber);
	}





	public override string SortFieldValue
	{
		get
		{
			switch (SortOrder.Description)
			{
			case "Rec ID.":
				return this.RecID.ToString();
			case "Name":
				return this.Name.ToString();					
			default:
				return null;
			}
		}
	}





	public override void Setup()
	{
		base.Setup();
		_SYWebhookSubscriptions = this.Manager.CollectionFactory.CreateCollection&lt;SYWebhookSubscriptions, SYWebhookSubscription&gt;();
		_SYWebhookSubscriptions.SYWebhookSubscriber = this;
		ClearVariables();
		SortOrders.Add(new JiwaFinancials.Jiwa.JiwaApplication.IJiwaNavigable.SortKey
		{
			Description =  "Name",
			FieldName =  "SY_WebhookSubscriber.Name",
		});		
		SortOrders.Add(new JiwaFinancials.Jiwa.JiwaApplication.IJiwaNavigable.SortKey
		{
			Description =  "Rec ID.",
			FieldName =  "SY_WebhookSubscriber.RecID",
		});
	}





	public override void Read(string RecID)
	{
		string SQL = "";
		SqlDataReader SQLReader = null;
		SqlParameter SQLParam = null;
		bool oldReading = IsReading;
		try
		{
			IsReading = true;
			var db = this.Manager.Database;
			OnReadStart();
			Clear();
			SQL = @" select RecID, Name, IsEnabled, ItemNo, LastSavedDateTime, RowHash from SY_WebhookSubscriber where RecID = @RecID";
			using (SqlCommand SQLCmd = new SqlCommand(SQL, db.SQLConnection, db.SQLTransaction))
			{
				SQLCmd.CommandTimeout = this.Manager.Database.DefaultCommandTimeout;
				SQLParam = new SqlParameter("@RecID", System.Data.SqlDbType.Char);
				SQLParam.Value = RecID;
				SQLCmd.Parameters.Add(SQLParam);
				SQLReader = SQLCmd.ExecuteReader();
				if (SQLReader.Read())
				{
					this.RecID = db.Sanitise(SQLReader, "RecID").ToString();
					_name = db.Sanitise(SQLReader, "Name").ToString();
					_isEnabled = bool.Parse(db.Sanitise(SQLReader, "IsEnabled").ToString());
					_itemNo = int.Parse(db.Sanitise(SQLReader, "ItemNo").ToString());
					_lastSavedDateTime = DateTime.Parse(db.Sanitise(SQLReader, "LastSavedDateTime").ToString());
					_rowHash = (byte[])(db.Sanitise(SQLReader, "RowHash"));
					this.InsertFlag = false;
					this.DeleteFlag = false;
					this.ChangeFlag = false;

				}
				else
				{
					throw new JiwaFinancials.Jiwa.JiwaApplication.Exceptions.RecordNotFoundException("Not Found");
				}
				SQLReader.Close();
				}
				if ((SQLReader != null))
				{
					SQLReader.Close();
				}
				this._SYWebhookSubscriptions.ReadRecords(RecID.ToString());
				OnReadEnd();
		}
		finally
		{
			if ((SQLReader != null))
			{
				SQLReader.Close();
			}
			IsReading = oldReading;
		}
	}





	protected override void iSave()
	{
		Validate();
		string strSQl = "";
		SqlParameter parameter = new SqlParameter();
		database database = this.Manager.Database;
		//System.Diagnostics.Debugger.Launch();
		int maxItem =  GetMaxItemNo();
		database.BeginNewTransaction();
		if (this.DeleteFlag)
		{
			strSQl = @" delete from SY_WebhookSubscriber where RecID = @RecID";
			using (SqlCommand command = new SqlCommand(strSQl, database.SQLConnection, database.SQLTransaction))
			{
				parameter = new SqlParameter("@RecID" , SqlDbType.UniqueIdentifier)
				{
					 Value = Guid.Parse(this.RecID)
				};
				command.Parameters.Add(parameter);

				if (database.ExecuteNonQuery(command) == 0)
				{
					database.RollBack();
					throw new ConcurrencyConflictException("Delete failed");
				}
				else
				{
					database.Commit();
				}
			}
		}
		else
		{
			if (this.InsertFlag)
			{
				//strSQl = @" insert into SY_WebhookSubscriber ( RecID, Name, IsEnabled, ItemNo, LastSavedDateTime, RowHash values ( @RecID, @Name, @IsEnabled, @ItemNo, @LastSavedDateTime, @RowHash)";
				strSQl = @" insert into SY_WebhookSubscriber ( RecID, [Name], IsEnabled, ItemNo, LastSavedDateTime ) values ( @RecID, @Name, @IsEnabled, @ItemNo, @LastSavedDateTime)";
				this.ItemNo = maxItem;
			}
			else if (this.ChangeFlag)
			{
				//strSQl = @" update SY_WebhookSubscriber set RecID = @RecID, Name = @Name, IsEnabled = @IsEnabled, ItemNo = @ItemNo, LastSavedDateTime = @LastSavedDateTime, RowHash = @RowHash where RecID = @RecID, ";
				strSQl = @" update SY_WebhookSubscriber set RecID = @RecID, [Name] = @Name, IsEnabled = @IsEnabled, ItemNo = @ItemNo, LastSavedDateTime = @LastSavedDateTime where RecID = @RecID ";
			}
			using (SqlCommand command = new SqlCommand(strSQl, database.SQLConnection, database.SQLTransaction))
			{
				parameter = new SqlParameter("@RecID" , SqlDbType.UniqueIdentifier)
				{
					 Value = Guid.Parse(this.RecID)
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@Name" , SqlDbType.Char)
				{
					 Value = this._name
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@IsEnabled" , SqlDbType.Bit)
				{
					 Value = this._isEnabled
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@ItemNo" , SqlDbType.Int)
				{
					 Value = this._itemNo
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@LastSavedDateTime" , SqlDbType.DateTime)
				{
					 Value = this._lastSavedDateTime
				};
				command.Parameters.Add(parameter);
//
//				parameter = new SqlParameter("@RowHash" , SqlDbType.Binary)
//				{
//					 Value = this._rowHash
//				};
//				command.Parameters.Add(parameter);

				if (database.ExecuteNonQuery(command) == 0)
				{
					database.RollBack();
					throw new ConcurrencyConflictException("Insert / Update failed");
				}
				else
				{
					this._SYWebhookSubscriptions.Save();
					database.Commit();
					DeleteFlag = false;
					InsertFlag = false;
					ChangeFlag = false;
				}
			}
		}
	}



}





	public class SYWebhookSubscriptions : JiwaFinancials.Jiwa.JiwaApplication.JiwaCollection&lt;SYWebhookSubscription&gt;
    {
		
		
		 private SYWebhookSubscriber _SYWebhookSubscriber;

        public SYWebhookSubscriber SYWebhookSubscriber
        {
            get { return _SYWebhookSubscriber; }
            set { _SYWebhookSubscriber = value; }
        }

		
		
		public void Validate()
		{
			if (this.Count == 0)
			{
				throw new Exception("Must have at least one subscription.");
			}
			foreach(SYWebhookSubscription sub in this)
			{
				sub.Validate();
			}
		}
		

		public override void Save()
		{
			base.Save();
			this.ChangeFlag = false;
		}
		
	    public List&lt;string&gt; ToIDList()
		{
			return this.ToList().Select(item =&gt; item.RecID.ToString()).ToList();
		}
		
		public List&lt;SYWebhookSubscription&gt; ToList()
		{
			return Collection.Cast&lt;SYWebhookSubscription&gt;().ToList();
		}
		
        public override void Add(SYWebhookSubscription item)
        {
			item.SY_WebhookSubscriber_RecID = _SYWebhookSubscriber.RecID;
			if(item.ItemNo == 0)
			{
				if (this.Count == 0)
				{
					item.ItemNo = 1;
				}
				else
				{
					List&lt;int&gt; ints = this.ToList().Select( s =&gt; s.ItemNo).ToList();
					item.ItemNo = ints.Max() + 1;
					
				}
			}
            base.Add(item);
            //item.DeliveryRun = this.RunInstance;
        }

        public void ReadRecords(String SubsciberID)
        {
			
           string Sql = null;
            SqlDataReader SQLReader = null;
            bool oldReading = Reading;

            try
            {
                Reading = true;
                Clear();

                //var db = JiwaFinancials.Jiwa.JiwaApplication.Manager.Instance.Database;
				var db = this.Manager.Database;
                //next line launches the debugger
                //  //System.Diagnostics.Debugger.Break();

                SqlParameter parameter = new SqlParameter("@Subscriber", SqlDbType.Char)
                {
                    Value = SubsciberID
                };

                
                Sql =
                    @"select RecID, SY_WebhookSubscriber_RecID, EventName, URL, ItemNo, LastSavedDateTime, RowHash from SY_WebhookSubscription where SY_WebhookSubscriber_RecID = @Subscriber order by itemno";

                using (SqlCommand SQLCmd = new SqlCommand(Sql, db.SQLConnection, db.SQLTransaction))
                {
                    SQLCmd.CommandTimeout = this.Manager.Database.DefaultCommandTimeout;
                    SQLCmd.Parameters.Add(parameter);

                    SQLReader = SQLCmd.ExecuteReader();

                    while (SQLReader.Read() == true)
                    {
                        //DebtorTermsLine line = new DebtorTermsLine();
						SYWebhookSubscription subscriber = this.Manager.CollectionItemFactory.CreateCollectionItem&lt;SYWebhookSubscription&gt;();
						subscriber.RecID = db.Sanitise(SQLReader, "RecID").ToString();
						subscriber.SY_WebhookSubscriber_RecID = db.Sanitise(SQLReader, "SY_WebhookSubscriber_RecID").ToString();
						subscriber.EventName = db.Sanitise(SQLReader, "EventName").ToString();
						subscriber.URL = db.Sanitise(SQLReader, "URL").ToString();
						subscriber.ItemNo = int.Parse(db.Sanitise(SQLReader, "ItemNo").ToString());
						subscriber.LastSavedDateTime = DateTime.Parse(db.Sanitise(SQLReader, "LastSavedDateTime").ToString());
						subscriber.RowHash = (byte[])(db.Sanitise(SQLReader, "RowHash"));
						subscriber.InsertFlag = false;
						subscriber.ChangeFlag = false;
						subscriber.DeleteFlag = false;
                        Add(subscriber);
						subscriber.InsertFlag = false;
						subscriber.ChangeFlag = false;
						subscriber.DeleteFlag = false;						
                    }

                    SQLReader.Close();
                }

                base.OnRead();

            }
            finally
            {
                Reading = oldReading;

                if ((SQLReader != null))
                {
                    SQLReader.Close();
                }
            }           
        }
		
		


		
		
		public void Delete()
		{
			foreach( SYWebhookSubscription line in this)
			{
				
				line.DeleteFlag = true;
				line.ChangeFlag = true;
			}
			this.ChangeFlag = true;
		}
			
		
		
	
		

	}







public class SYWebhookSubscription :  JiwaFinancials.Jiwa.JiwaApplication.JiwaCollectionItem&lt;SYWebhookSubscription&gt;
{
	//private Guid _recID;
	private string _sY_WebhookSubscriber_RecID;
	private string _eventName;
	private string _uRL;
	private int _itemNo;
	private DateTime _lastSavedDateTime;
	private byte[] _rowHash;


//	public Guid RecID
//	{
//		get { return _recID; }
//		 set
//		 {
//			_recID = value;
//			//base.RecID = value;
//			NotifyPropertyChanged( "RecID");
//		 }
//	}
	
	
	
	public void Validate()
	{
		if (this._eventName  == null || this._eventName.Trim() == "")
		{
			throw new Exception("A subscription must have an event name.");
		}
		
		if (this.URL  == null || this.URL.Trim() == "")
		{
			throw new Exception("A subscription must have a URL.");
		}		
	}
	
	

	public string SY_WebhookSubscriber_RecID
	{
		get { return _sY_WebhookSubscriber_RecID; }
		 set
		 {
			_sY_WebhookSubscriber_RecID = value;
			NotifyPropertyChanged( "SY_WebhookSubscriber_RecID");
		 }
	}

	public string EventName
	{
		get { return _eventName; }
		 set
		 {
			_eventName = value;
			NotifyPropertyChanged( "EventName");
		 }
	}

	public string URL
	{
		get { return _uRL; }
		 set
		 {
			_uRL = value;
			NotifyPropertyChanged( "URL");
		 }
	}

	public int ItemNo
	{
		get { return _itemNo; }
		 set
		 {
			_itemNo = value;
			NotifyPropertyChanged( "ItemNo");
		 }
	}

	public DateTime LastSavedDateTime
	{
		get { return _lastSavedDateTime; }
		 set
		 {
			_lastSavedDateTime = value;
			NotifyPropertyChanged( "LastSavedDateTime");
		 }
	}

	public byte[] RowHash
	{
		get { return _rowHash; }
		 set
		 {
			_rowHash = value;
			NotifyPropertyChanged( "RowHash");
		 }
	}



	 public SYWebhookSubscription()
	{
	}





	private void ClearVariables()
	{
		RecID = Guid.NewGuid().ToString();
		_sY_WebhookSubscriber_RecID = Guid.NewGuid().ToString();
		_eventName = "";
		_uRL = "";
		_itemNo = 0;
		_lastSavedDateTime = DateTime.Now;
		_rowHash = new byte[8];
	}





	public override void Setup()
	{
		base.Setup();
		ClearVariables();
	}





	public void Read(string RecID)
	{
		string SQL = "";
		SqlDataReader SQLReader = null;
		SqlParameter SQLParam = null;
		try
		{
			var db = this.Manager.Database;
			Clear();
			SQL = @" select RecID, SY_WebhookSubscriber_RecID, EventName, URL, ItemNo, LastSavedDateTime, RowHash from SY_WebhookSubscription where RecID = @RecID";
			using (SqlCommand SQLCmd = new SqlCommand(SQL, db.SQLConnection, db.SQLTransaction))
			{
				SQLCmd.CommandTimeout = this.Manager.Database.DefaultCommandTimeout;
				SQLParam = new SqlParameter("@RecID", System.Data.SqlDbType.Char);
				SQLParam.Value = RecID;
				SQLCmd.Parameters.Add(SQLParam);
				SQLReader = SQLCmd.ExecuteReader();
				if (SQLReader.Read())
				{
					RecID = db.Sanitise(SQLReader, "RecID").ToString();
					_sY_WebhookSubscriber_RecID = db.Sanitise(SQLReader, "SY_WebhookSubscriber_RecID").ToString();
					_eventName = db.Sanitise(SQLReader, "EventName").ToString();
					_uRL = db.Sanitise(SQLReader, "URL").ToString();
					_itemNo = int.Parse(db.Sanitise(SQLReader, "ItemNo").ToString());
					_lastSavedDateTime = DateTime.Parse(db.Sanitise(SQLReader, "LastSavedDateTime").ToString());
					_rowHash = (byte[])(db.Sanitise(SQLReader, "RowHash"));

				}
				else
				{
					throw new JiwaFinancials.Jiwa.JiwaApplication.Exceptions.RecordNotFoundException("Not Found");
				}
				SQLReader.Close();
				}
				if ((SQLReader != null))
				{
					SQLReader.Close();
				}
		}
		finally
		{
			if ((SQLReader != null))
			{
				SQLReader.Close();
			}
		}
	}





	protected override void iSave()
	{
		string strSQl = "";
		SqlParameter parameter = new SqlParameter();
		database database = this.Manager.Database;
		//database.BeginNewTransaction();
		if (this.DeleteFlag)
		{
			strSQl = @" delete from SY_WebhookSubscription where RecID = @RecID";
			using (SqlCommand command = new SqlCommand(strSQl, database.SQLConnection, database.SQLTransaction))
			{
				parameter = new SqlParameter("@RecID" , SqlDbType.Char)
				{
					 Value = this.RecID
				};
				command.Parameters.Add(parameter);

				if (database.ExecuteNonQuery(command) == 0)
				{
					database.RollBack();
					throw new ConcurrencyConflictException("Delete failed");
				}
				else
				{
					database.Commit();
				}
			}
		}
		else
		{
			if (this.InsertFlag)
			{
				//strSQl = @" insert into SY_WebhookSubscription ( RecID, SY_WebhookSubscriber_RecID, EventName, URL, ItemNo, LastSavedDateTime, RowHash values ( @RecID, @SY_WebhookSubscriber_RecID, @EventName, @URL, @ItemNo, @LastSavedDateTime, @RowHash)";
				strSQl = @" insert into SY_WebhookSubscription ( RecID, SY_WebhookSubscriber_RecID, EventName, URL, ItemNo, LastSavedDateTime ) values ( @RecID, @SY_WebhookSubscriber_RecID, @EventName, @URL, @ItemNo, @LastSavedDateTime)";
			}
			else if (this.ChangeFlag)
			{
				//strSQl = @" update SY_WebhookSubscription set RecID = @RecID, SY_WebhookSubscriber_RecID = @SY_WebhookSubscriber_RecID, EventName = @EventName, URL = @URL, ItemNo = @ItemNo, LastSavedDateTime = @LastSavedDateTime, RowHash = @RowHash where RecID = @RecID, ";
				strSQl = @" update SY_WebhookSubscription set RecID = @RecID, SY_WebhookSubscriber_RecID = @SY_WebhookSubscriber_RecID, EventName = @EventName, URL = @URL, ItemNo = @ItemNo, LastSavedDateTime = @LastSavedDateTime where RecID = @RecID ";
			}
			using (SqlCommand command = new SqlCommand(strSQl, database.SQLConnection, database.SQLTransaction))
			{
				parameter = new SqlParameter("@RecID" , SqlDbType.Char)
				{
					 Value = this.RecID
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@SY_WebhookSubscriber_RecID" , SqlDbType.Char)
				{
					 Value = this._sY_WebhookSubscriber_RecID
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@EventName" , SqlDbType.Char)
				{
					 Value = this._eventName
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@URL" , SqlDbType.Char)
				{
					 Value = this._uRL
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@ItemNo" , SqlDbType.Int)
				{
					 Value = this._itemNo
				};
				command.Parameters.Add(parameter);

				parameter = new SqlParameter("@LastSavedDateTime" , SqlDbType.DateTime)
				{
					 Value = this._lastSavedDateTime
				};
				command.Parameters.Add(parameter);

//				parameter = new SqlParameter("@RowHash" , SqlDbType.Binary)
//				{
//					 Value = this._rowHash
//				};
//				command.Parameters.Add(parameter);

				if (database.ExecuteNonQuery(command) == 0)
				{
					//database.RollBack();
					throw new ConcurrencyConflictException("Insert / Update failed");
				}
				else
				{
					//database.Commit();
					DeleteFlag = false;
					InsertFlag = false;
					ChangeFlag = false;
				}
			}
		}
	}



}



 	public partial class frmWebHooks : JiwaFinancials.Jiwa.JiwaApplication.Maintenance.UserInterface
    {
		
		
		public bool Displaying;
		public bool SetingValues;
		
		private SYWebhookSubscriber _subscriber; 
		
		
        /// &lt;summary&gt;
        /// Required designer variable.
        /// &lt;/summary&gt;
        private System.ComponentModel.IContainer components = null;
		
		
		public frmWebHooks()
		{
//			System.Diagnostics.Debugger.Launch();
//			System.Diagnostics.Debugger.Break();			
			InitializeComponent();
		}
		
		public override void SetupBeforeHandlers()
		{
			//System.Diagnostics.Debugger.Break();
			base.SetupBeforeHandlers();		
			//System.Diagnostics.Debugger.Break();
			_subscriber = this.Manager.BusinessLogicFactory.CreateBusinessLogic&lt;SYWebhookSubscriber&gt;(this);
			this.BusinessLogic = _subscriber;
			
		}
		
		
		public override void Setup()
		{
			//System.Diagnostics.Debugger.Launch();
			//System.Diagnostics.Debugger.Break();
		   
			base.Setup();
			SetupWindow();
			SetupSubscriptionGrid();
			AddHandlers();
			this.BusinessLogic.IsReading = false;
			this.BusinessLogic.IsCreating = false;
			this.MdiParent = this.Manager.MDIParentForm;
		}
		
		
        public override void AddHandlers()
		{
			base.AddHandlers();
			this.utName.TextChanged += HeaderValuesChanged;
			this.uxEnabled.CheckedChanged +=  HeaderValuesChanged;
			this._subscriber.ReadEnd += Subscriber_ReadEnd;
			this._subscriber.CreateEnd += Subscriber_CreateEnd;
			jgSubscriptions.ButtonClicked += GridLines_ButtonClicked;
			jgSubscriptions.Change += GridLines_Change;	
		}
		
		
		
		public override void DeleteRecord()
		{
			this._subscriber.Delete();
			this._subscriber.Save();
			if(this._subscriber.GetMaxItemNo() == 1 )
			{
				this.NewRecord();
			}
			else
			{
				this.ReadRecord(JiwaFinancials.Jiwa.JiwaApplication.IJiwaNavigable.ReadModes.Previous);
			}
			
			//base.DeleteRecord();
		}
		public override void NewRecord()
		{
			base.NewRecord();
			SetButtons();
			SetUpFormValues();
			SetFormControls();
		}		
		
		public override void Save()
		{
			base.Save();
			SetButtons();			
		}		
		
		
		
		private void GridLines_ButtonClicked(object sender, FarPoint.Win.Spread.EditorNotifyEventArgs e)
		{
			FarPoint.Win.Spread.Column column = jgSubscriptions.ActiveSheet.Columns[e.Column];
			if (column.Tag.ToString() == "Bin") 
			{
				this._subscriber.Subscriptions.Remove(_subscriber.Subscriptions[jgSubscriptions.get_GridText("RecID", e.Row).ToString()]);
				this._subscriber.MarkChanged();
				DisplayLines();
				SetButtons();
			}
		}
		
		
		
		private void GridLines_Change(object sender, FarPoint.Win.Spread.ChangeEventArgs e)
		{
			//System.Diagnostics.Debugger.Break();
			string Key = null;
			string ColID = jgSubscriptions.ActiveSheet.Columns[e.Column].Tag.ToString();

			if (ColID == "Event") 
			{
				if (e.Row == jgSubscriptions.ActiveSheet.RowCount - 1) 
				{
					SYWebhookSubscription line = this.Manager.CollectionItemFactory.CreateCollectionItem&lt;SYWebhookSubscription&gt;();
					line.EventName =  jgSubscriptions.get_GridText("Event", e.Row).ToString();
					this._subscriber.Subscriptions.Add(line);
					line.ChangeFlag = true;	
					this._subscriber.LastSavedDateTime = DateTime.Now;
					
				}
				else
				{
					Key = jgSubscriptions.get_GridText("RecID", e.Row).ToString();
					SYWebhookSubscription line = this._subscriber.Subscriptions[Key];
					line.EventName =  jgSubscriptions.get_GridText("Event", e.Row).ToString();
					line.ChangeFlag = true;
					this._subscriber.LastSavedDateTime = DateTime.Now;
				}

				
			}
			
			
			if (ColID == "URL") 
			{
				if (e.Row == jgSubscriptions.ActiveSheet.RowCount - 1) 
				{
					SYWebhookSubscription line = this.Manager.CollectionItemFactory.CreateCollectionItem&lt;SYWebhookSubscription&gt;();
					line.URL =  jgSubscriptions.get_GridText("Event", e.Row).ToString();
					this._subscriber.Subscriptions.Add(line);
					line.ChangeFlag = true;	
					this._subscriber.LastSavedDateTime = DateTime.Now;
					
				}
				else
				{
					Key = jgSubscriptions.get_GridText("RecID", e.Row).ToString();
					SYWebhookSubscription line = this._subscriber.Subscriptions[Key];
					line.URL =  jgSubscriptions.get_GridText("URL", e.Row).ToString();
					line.ChangeFlag = true;
					this._subscriber.LastSavedDateTime = DateTime.Now;
				}

				
			}		
			DisplayLines();
			SetButtons();
			
		}				
		
		
		
		
		
		
		
		
		
		
		
		private void Subscriber_CreateEnd(object sender, System.EventArgs e)
        {
			SetUpFormValues();
		}
		
		
		private void Subscriber_ReadEnd(object sender, System.EventArgs e)
        {
			SetUpFormValues();
			SetFormControls();
		}

		public void SetFormControls()
		{
		}
		
		
		private void HeaderValuesChanged(object sender, System.EventArgs e)
		{
			if (SetingValues)
			{
				return;
			}
			this._subscriber.Name = this.utName.Text;
			this._subscriber.IsEnabled = this.uxEnabled.Checked;

			SetButtons();
		}		
		
		
		
		
		public void SetButtons()
		{
		    this.UltraToolbarsManager1.Tools["ID_RecordSave"].SharedProps.Enabled = this._subscriber.ChangeFlag || this._subscriber.Subscriptions.ChangeFlag;
			this.UltraToolbarsManager1.Tools["ID_RecordCancel"].SharedProps.Enabled = this._subscriber.ChangeFlag || this._subscriber.Subscriptions.ChangeFlag;
			this.UltraToolbarsManager1.Tools["ID_RecordDelete"].SharedProps.Enabled = ! this._subscriber.InsertFlag;
			this.UltraToolbarsManager1.Tools["ID_RecordNew"].SharedProps.Enabled = !this._subscriber.ChangeFlag &amp;&amp;  ! this._subscriber.Subscriptions.ChangeFlag;
			this.UltraToolbarsManager1.Tools["ID_RecordRefresh"].SharedProps.Enabled  = ! this._subscriber.InsertFlag;
		}		
		
		
		public void SetUpFormValues()
		{
			SetingValues = true;
			this.utName.Text = this._subscriber.Name;
			this.uxEnabled.Checked = this._subscriber.IsEnabled;
			DisplayLines();
			SetingValues = false;
		
		}
		
		
		
		
		
		
		public void DisplayLines()
		{
			jgSubscriptions.ActiveSheet.RowCount = 0;
            jgSubscriptions.ActiveSheet.RowCount = this._subscriber.Subscriptions.Count + 1;
			int i = 0;
			foreach( SYWebhookSubscription line in _subscriber.Subscriptions)
			{
				
				jgSubscriptions.set_GridText("RecID", i, line.RecID);
				jgSubscriptions.set_GridText("Event", i, line.EventName );
				jgSubscriptions.set_GridText("URL", i, line.URL  );
			    jgSubscriptions.LockColumn(false, "Bin", i);
				i++;
			}			
		}
		
		private void SetupSubscriptionGrid()
        {
			////System.Diagnostics.Debugger.Break();
			/// 
			
			JiwaFinancials.Jiwa.JiwaApplication.JiwaManageGrid.JiwaQuantityCellType qtycelltype = new JiwaFinancials.Jiwa.JiwaApplication.JiwaManageGrid.JiwaQuantityCellType();
            jgSubscriptions.AddColumn("RecID", new JiwaFinancials.Jiwa.JiwaApplication.JiwaManageGrid.JiwaTextCellType(), "RecID", 0, false, false, false, true);
			jgSubscriptions.AddColumn("Event", new JiwaFinancials.Jiwa.JiwaApplication.JiwaManageGrid.JiwaTextCellType(), "Event", 40, false, true, false,false);
			jgSubscriptions.AddColumn("URL", new JiwaFinancials.Jiwa.JiwaApplication.JiwaManageGrid.JiwaTextCellType(), "URL", 40, false, true, false,false);
			jgSubscriptions.AddColumn("Bin", new JiwaFinancials.Jiwa.JiwaApplication.JiwaManageGrid.JiwaBinButtonCellType(this.Manager), "", 10, false, true, false,true);
            jgSubscriptions.ActiveSheet.OperationMode = FarPoint.Win.Spread.OperationMode.RowMode;
            jgSubscriptions.EditModePermanent = false;
            jgSubscriptions.SelectionBlockOptions = FarPoint.Win.Spread.SelectionBlockOptions.Rows;
			jgSubscriptions.ButtonDrawMode = FarPoint.Win.Spread.ButtonDrawModes.Always;
			jgSubscriptions.ActiveSheet.RowHeader.ColumnCount = 1;
        	jgSubscriptions.ActiveSheet.RowHeaderVisible = true;
			
			jgSubscriptions.ActiveSheet.RowCount = 1;
            jgSubscriptions.SetupComplete();
        }		
		
		
		
		
	    public JiwaFinancials.Jiwa.JiwaApplication.IJiwaForm JiwaForm
        {
            get
            {
                return this;
	
            }
        }		
		
		
		public override void Search(System.Windows.Forms.Form OwnerForm)
        {
			this._subscriber.Search(this);
        }		
		
		
		
		
		

        /// &lt;summary&gt;
        /// Clean up any resources being used.
        /// &lt;/summary&gt;
        /// &lt;param name="disposing"&gt;true if managed resources should be disposed; otherwise, false.&lt;/param&gt;
        protected override void Dispose(bool disposing)
        {
            if (disposing &amp;&amp; (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// &lt;summary&gt;
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// &lt;/summary&gt;
        private void InitializeComponent()
        {
            this.upTop = new Infragistics.Win.Misc.UltraPanel();
            this.upGrid = new Infragistics.Win.Misc.UltraPanel();
            this.jgSubscriptions = new JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid();
            this.jgSubscriptions_Sheet1 = new FarPoint.Win.Spread.SheetView();
            this.utName = new Infragistics.Win.UltraWinEditors.UltraTextEditor();
            this.uxEnabled = new Infragistics.Win.UltraWinEditors.UltraCheckEditor();
            this.ulName = new Infragistics.Win.Misc.UltraLabel();
            ((System.ComponentModel.ISupportInitialize)(this.UltraToolbarsManager1)).BeginInit();
            this.UserInterface_Fill_Panel.ClientArea.SuspendLayout();
            this.UserInterface_Fill_Panel.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.UltraStatusBar1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.InboxControlStyler1)).BeginInit();
            this.upTop.ClientArea.SuspendLayout();
            this.upTop.SuspendLayout();
            this.upGrid.ClientArea.SuspendLayout();
            this.upGrid.SuspendLayout();
            ((System.ComponentModel.ISupportInitialize)(this.jgSubscriptions)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.jgSubscriptions_Sheet1)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.utName)).BeginInit();
            ((System.ComponentModel.ISupportInitialize)(this.uxEnabled)).BeginInit();
            this.SuspendLayout();
            // 
            // _UserInterface_Toolbars_Dock_Area_Left
            // 
            this._UserInterface_Toolbars_Dock_Area_Left.InitialResizeAreaExtent = 5;
            this._UserInterface_Toolbars_Dock_Area_Left.Location = new System.Drawing.Point(0, 232);
            this._UserInterface_Toolbars_Dock_Area_Left.Size = new System.Drawing.Size(5, 917);
            // 
            // _UserInterface_Toolbars_Dock_Area_Right
            // 
            this._UserInterface_Toolbars_Dock_Area_Right.Location = new System.Drawing.Point(1375, 232);
            this._UserInterface_Toolbars_Dock_Area_Right.Size = new System.Drawing.Size(5, 917);
            // 
            // _UserInterface_Toolbars_Dock_Area_Top
            // 
            this._UserInterface_Toolbars_Dock_Area_Top.Size = new System.Drawing.Size(1380, 232);
            // 
            // _UserInterface_Toolbars_Dock_Area_Bottom
            // 
            this._UserInterface_Toolbars_Dock_Area_Bottom.InitialResizeAreaExtent = 0;
            this._UserInterface_Toolbars_Dock_Area_Bottom.Location = new System.Drawing.Point(0, 1149);
            this._UserInterface_Toolbars_Dock_Area_Bottom.Size = new System.Drawing.Size(1380, 0);
            // 
            // UltraToolbarsManager1
            // 
            this.UltraToolbarsManager1.MenuSettings.ForceSerialization = true;
            this.UltraToolbarsManager1.Ribbon.FileMenuStyle = Infragistics.Win.UltraWinToolbars.FileMenuStyle.None;
            this.UltraToolbarsManager1.Ribbon.QuickAccessToolbar.Visible = false;
            this.UltraToolbarsManager1.Ribbon.Visible = true;
            this.UltraToolbarsManager1.ToolbarSettings.ForceSerialization = true;
            // 
            // UserInterface_Fill_Panel
            // 
            // 
            // UserInterface_Fill_Panel.ClientArea
            // 
            this.UserInterface_Fill_Panel.ClientArea.Controls.Add(this.upGrid);
            this.UserInterface_Fill_Panel.ClientArea.Controls.Add(this.upTop);
            this.UserInterface_Fill_Panel.Location = new System.Drawing.Point(5, 232);
            this.UserInterface_Fill_Panel.Size = new System.Drawing.Size(1370, 917);
            // 
            // UltraStatusBar1
            // 
            this.UltraStatusBar1.Location = new System.Drawing.Point(0, 1149);
            this.UltraStatusBar1.Size = new System.Drawing.Size(1380, 35);
            // 
            // upTop
            // 
            // 
            // upTop.ClientArea
            // 
            this.upTop.ClientArea.Controls.Add(this.ulName);
            this.upTop.ClientArea.Controls.Add(this.uxEnabled);
            this.upTop.ClientArea.Controls.Add(this.utName);
            this.upTop.Dock = System.Windows.Forms.DockStyle.Top;
            this.upTop.Location = new System.Drawing.Point(0, 0);
            this.upTop.Name = "upTop";
            this.upTop.Size = new System.Drawing.Size(1370, 91);
            this.upTop.TabIndex = 0;
            // 
            // upGrid
            // 
            // 
            // upGrid.ClientArea
            // 
            this.upGrid.ClientArea.Controls.Add(this.jgSubscriptions);
            this.upGrid.Dock = System.Windows.Forms.DockStyle.Fill;
            this.upGrid.Location = new System.Drawing.Point(0, 91);
            this.upGrid.Name = "upGrid";
            this.upGrid.Size = new System.Drawing.Size(1370, 826);
            this.upGrid.TabIndex = 1;
            // 
            // jgSubscriptions
            // 
            this.jgSubscriptions.AccessibleDescription = "";
            this.jgSubscriptions.AllowGrouping = false;
            this.jgSubscriptions.AllowSorting = false;
            this.jgSubscriptions.CustomColumnXML = "";
            this.jgSubscriptions.Dock = System.Windows.Forms.DockStyle.Fill;
            this.jgSubscriptions.InputMapWhenAncestorOfFocusedNormal = null;
            this.jgSubscriptions.Location = new System.Drawing.Point(0, 0);
            this.jgSubscriptions.LockBackColour = System.Drawing.Color.Empty;
            this.jgSubscriptions.LockForeColour = System.Drawing.Color.Empty;
            this.jgSubscriptions.Manager = null;
            this.jgSubscriptions.Name = "jgSubscriptions";
            this.jgSubscriptions.selectedCellRanges = null;
            this.jgSubscriptions.Sheets.AddRange(new FarPoint.Win.Spread.SheetView[] {
            this.jgSubscriptions_Sheet1});
            this.jgSubscriptions.ShowingTotals = false;
            this.jgSubscriptions.Size = new System.Drawing.Size(1370, 826);
            this.jgSubscriptions.SourceCollection = null;
            this.InboxControlStyler1.SetStyleSettings(this.jgSubscriptions, new Infragistics.Win.AppStyling.Runtime.InboxControlStyleSettings(Infragistics.Win.DefaultableBoolean.Default));
            this.jgSubscriptions.TabIndex = 0;
            this.jgSubscriptions.TypeCurrencyDecimalPlaces = new decimal(new int[] {
            0,
            0,
            0,
            0});
            this.jgSubscriptions.UnLockBackColour = System.Drawing.Color.Empty;
            this.jgSubscriptions.UnLockForeColour = System.Drawing.Color.Empty;
            this.jgSubscriptions.VirtualMode = false;
            this.jgSubscriptions.VirtualModeDisplayRowsMethod = null;
            this.jgSubscriptions.VirtualModePort = null;
            this.jgSubscriptions.VirtualModeRows = 0;
            // 
            // jgSubscriptions_Sheet1
            // 
            this.jgSubscriptions_Sheet1.Reset();
            this.jgSubscriptions_Sheet1.SheetName = "Sheet1";
            // Formulas and custom names must be loaded with R1C1 reference style
            this.jgSubscriptions_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.R1C1;
            this.jgSubscriptions_Sheet1.ColumnCount = 4;
            this.jgSubscriptions_Sheet1.RowHeader.Columns.Default.Resizable = false;
            this.jgSubscriptions_Sheet1.ReferenceStyle = FarPoint.Win.Spread.Model.ReferenceStyle.A1;
            // 
            // utName
            // 
            this.utName.Location = new System.Drawing.Point(170, 32);
            this.utName.Name = "utName";
            this.utName.Size = new System.Drawing.Size(533, 28);
            this.utName.TabIndex = 0;
            // 
            // uxEnabled
            // 
            this.uxEnabled.Location = new System.Drawing.Point(752, 36);
            this.uxEnabled.Name = "uxEnabled";
            this.uxEnabled.Size = new System.Drawing.Size(120, 20);
            this.uxEnabled.TabIndex = 1;
            this.uxEnabled.Text = "Enabled";
            // 
            // ulName
            // 
            this.ulName.Location = new System.Drawing.Point(66, 35);
            this.ulName.Name = "ulName";
            this.ulName.Size = new System.Drawing.Size(85, 23);
            this.ulName.TabIndex = 2;
            this.ulName.Text = "Subsciber";
            // 
            // frmWebHooks
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(9F, 20F);
            this.ClientSize = new System.Drawing.Size(1380, 1184);
            this.Name = "frmWebHooks";
            this.InboxControlStyler1.SetStyleSettings(this, new Infragistics.Win.AppStyling.Runtime.InboxControlStyleSettings(Infragistics.Win.DefaultableBoolean.Default));
            this.Text = "Webhooks";
            ((System.ComponentModel.ISupportInitialize)(this.UltraToolbarsManager1)).EndInit();
            this.UserInterface_Fill_Panel.ClientArea.ResumeLayout(false);
            this.UserInterface_Fill_Panel.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)(this.UltraStatusBar1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.InboxControlStyler1)).EndInit();
            this.upTop.ClientArea.ResumeLayout(false);
            this.upTop.ClientArea.PerformLayout();
            this.upTop.ResumeLayout(false);
            this.upGrid.ClientArea.ResumeLayout(false);
            this.upGrid.ResumeLayout(false);
            ((System.ComponentModel.ISupportInitialize)(this.jgSubscriptions)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.jgSubscriptions_Sheet1)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.utName)).EndInit();
            ((System.ComponentModel.ISupportInitialize)(this.uxEnabled)).EndInit();
            this.ResumeLayout(false);

        }

        #endregion

        public  Infragistics.Win.Misc.UltraPanel upGrid;
        public JiwaFinancials.Jiwa.JiwaApplication.Controls.JiwaGrid jgSubscriptions;
        public FarPoint.Win.Spread.SheetView jgSubscriptions_Sheet1;
        public Infragistics.Win.Misc.UltraPanel upTop;
        public Infragistics.Win.Misc.UltraLabel ulName;
        public Infragistics.Win.UltraWinEditors.UltraCheckEditor uxEnabled;
        public Infragistics.Win.UltraWinEditors.UltraTextEditor utName;
    }</Code>
  <ExceptionPolicy>Report</ExceptionPolicy>
  <Language>CSharp</Language>
  <ReferenceCollection>
    <Reference>
      <RecID>721ac0f0-b4c3-4cb7-830e-54609acf3aa0</RecID>
      <AssemblyFullName>JiwaApplication, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaApplication.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaApplication.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>6c1a16a6-677a-487a-b9dd-c3adde1f2c4a</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>5f03791c-40cd-4283-9f74-6c5b02995207</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>c045ada5-b069-4b7b-8448-82e27990a2ba</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>364f6162-2091-4501-ad1c-23e013bbc7e6</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>40911c52-228b-4b7d-8f80-30f160fea797</RecID>
      <AssemblyFullName>JiwaODBC, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaODBC.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaODBC.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>9c7fc986-3ef1-447c-ae19-c59821375662</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>e53ff282-3a29-4aa0-bb69-c7d34bb5953e</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>74b2729a-1dd5-49e7-ad8c-3a3ab26b34ac</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>61604d8f-2a6d-4e4e-ae78-8d4c731755e0</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>d532931f-1cb0-45ba-b670-3c0b1af2b22f</RecID>
      <AssemblyFullName>JiwaServiceModel, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaServiceModel.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaServiceModel.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>7aafd158-72f7-4dff-b4fb-1397bee402a9</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>21aa7670-3d51-4b2e-ad79-b58a4f59df0d</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>40784010-34b0-41f6-9675-c2d5e2b64af9</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>70d6d990-7f8e-402b-87b3-89c9d0c9147f</RecID>
      <AssemblyFullName>Microsoft.SqlServer.Smo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.Smo.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\Microsoft.SqlServer.Smo.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>0e5eb2de-9999-4a73-8bef-1ddbf6098915</RecID>
      <AssemblyFullName>Microsoft.SqlServer.ConnectionInfo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.ConnectionInfo.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\Microsoft.SqlServer.ConnectionInfo.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>bb79403d-7c35-41a4-aeae-aa9d2c432471</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>fcddd734-f2b9-4430-8c69-9f912ca5c247</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>053c46f3-e796-4bc7-bf04-27b382fdd9fe</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>7e70f1cf-2f64-487c-b843-84f6491a106f</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>578c617f-f3f1-4ee5-a474-782ebb114a2d</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>3ae2191e-a066-44d4-b804-3882475d0ebb</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>c5bee092-2234-4077-9b7b-a96279e1ab48</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>9b703a1b-f164-4b70-85c8-eac5eea7effb</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>87c468f3-6529-42f2-8ee9-8e1f592bd51f</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>44f974aa-1e59-4863-aefc-3195a64bac93</RecID>
      <AssemblyFullName>ServiceStack, Version=5.0.0.0, Culture=neutral, PublicKeyToken=02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ServiceStack.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>e6749d23-dd4a-431e-9096-94461ffdce81</RecID>
      <AssemblyFullName>EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>EntityFramework.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\EntityFramework.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2c891465-99ee-4fa9-9e5b-772589659948</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>7fb44011-2d80-4dfa-a0b1-2e019c0aac5a</RecID>
      <AssemblyFullName>ActiproSoftware.SyntaxEditor.WinForms, Version=16.1.330.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763</AssemblyFullName>
      <AssemblyName>ActiproSoftware.SyntaxEditor.WinForms.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ActiproSoftware.SyntaxEditor.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2d07e19a-d31d-4f44-b1bf-bced76b42a61</RecID>
      <AssemblyFullName>ZetaHtmlEditControl, Version=1.1.0.3, Culture=neutral, PublicKeyToken=2e2e5ba5da72b6c0</AssemblyFullName>
      <AssemblyName>ZetaHtmlEditControl.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ZetaHtmlEditControl.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>0ca0e726-0922-4553-bc6a-05a9f437de52</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>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>16025ebb-5955-4ca5-9955-1a311febba09</RecID>
      <AssemblyFullName>JiwaEncryption, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaEncryption.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaEncryption.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>e0e37774-7bb9-436b-9e35-e8de3fff03d8</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>0c8449e2-edb7-4283-962b-a05269fa2157</RecID>
      <AssemblyFullName>Microsoft.SqlServer.Dac, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.Dac.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\Microsoft.SqlServer.Dac.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>21aaee1e-295d-4e63-8c98-868975c2b1f2</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>99fa85ac-7e65-4f5c-89bb-58c28b68161a</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>2ee10b31-e7cd-4dc8-a32a-8a2b92b2adc3</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>6b7638a9-52a1-4302-9132-0336538c0a60</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>b6ec487a-98fd-4891-a0c4-51372da09664</RecID>
      <AssemblyFullName>JiwaLib, Version=7.2.1.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaLib.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaLib.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>311df03a-8e9c-4bfd-8315-8c48344bcaf3</RecID>
      <AssemblyFullName>Microsoft.ApplicationInsights, Version=2.4.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</AssemblyFullName>
      <AssemblyName>Microsoft.ApplicationInsights.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\Microsoft.ApplicationInsights.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>5d3d257d-75a4-404c-9f9b-3cbc563bb2e4</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>9193dfa0-d4b9-4aa4-a814-81b77a6d7606</RecID>
      <AssemblyFullName>EntityFramework.SqlServer, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>EntityFramework.SqlServer.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\EntityFramework.SqlServer.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>b08b4609-898a-4852-9bf4-825ade6781fc</RecID>
      <AssemblyFullName>ServiceStack.Text, Version=5.0.0.0, Culture=neutral, PublicKeyToken=02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.Text.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ServiceStack.Text.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>d9080299-3ef3-4146-9726-496cc7b82c31</RecID>
      <AssemblyFullName>ActiproSoftware.Shared.WinForms, Version=16.1.330.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763</AssemblyFullName>
      <AssemblyName>ActiproSoftware.Shared.WinForms.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ActiproSoftware.Shared.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>72467eb5-2a3a-41be-9358-1795602ad3fe</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>6faadec4-460b-45c3-b840-d02ea950af19</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>6476c7e2-1040-41b0-b063-985c888cb4d4</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>e7089c44-8579-4ccb-abec-62a0874368c5</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>bc279af3-8481-43d5-9baf-8edc18b60eb4</RecID>
      <AssemblyFullName>ServiceStack.Interfaces, Version=5.0.0.0, Culture=neutral, PublicKeyToken=02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.Interfaces.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ServiceStack.Interfaces.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>8b01c6dc-d791-4bde-957c-fddc8b277706</RecID>
      <AssemblyFullName>ServiceStack.Server, Version = 5.0.0.0, Culture = neutral, PublicKeyToken = 02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.Server.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ServiceStack.Server.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>703f5bb9-6451-483e-8919-8a26fe24c57b</RecID>
      <AssemblyFullName>ServiceStack.OrmLite, Version = 5.0.0.0, Culture = neutral, PublicKeyToken = 02c12cbda47e6587</AssemblyFullName>
      <AssemblyName>ServiceStack.OrmLite.dll</AssemblyName>
      <AssemblyLocation>E:\Program Files (x86)\Jiwa Financials\Jiwa 7\ServiceStack.OrmLite.dll</AssemblyLocation>
    </Reference>
  </ReferenceCollection>
</JiwaDocument>