using Exact.SystemLayer.TypeExtension;
using Exact.Win.UI.Form;
using Microsoft.VisualBasic;
using System;
using System.ComponentModel;
using System.IO;
using System.Text;
using System.Windows.Forms;
using UpgradeHelpers.Gui;
using UpgradeHelpers.Helpers;
namespace Exact.Crm.DocumentBrowser
{
[Exact.Win.UI.Form.FormLayout(ShowExactMenu=false, ShowActionBar=true, ShowStatusBar=true)]
internal partial class frmBrowseDocuments
: Exact.Win.UI.Form.ExactFormBase, Exact.SystemLayer.Interfaces.IExactConnection2
{
public frmBrowseDocuments()
: base()
{
if (m_vb6FormDefInstance is null)
{
if (m_InitializingDefInstance)
{
m_vb6FormDefInstance = this;
}
else
{
try
{
//For the start-up form, the first instance created is the default instance.
if (!(System.Reflection.Assembly.GetExecutingAssembly().EntryPoint is null) && System.Reflection.Assembly.GetExecutingAssembly().EntryPoint.DeclaringType == this.GetType())
{
m_vb6FormDefInstance = this;
}
}
catch
{
}
}
}
//This call is required by the Windows Form Designer.
InitializeComponent();
}
//-- Interfaces
//-- Private vars
private Exact.SystemLayer.Interfaces.IApplication m_App = null;
private Exact.SystemLayer.Interfaces.ICompany m_Comp = null;
private Exact.SystemLayer.Interfaces.ITranslator m_Term = null;
private Exact.DataLayer.IEdlConnection m_conn = null;
private Exact.DataLayer.IEdlRef m_EdlRef = null; //Chan31941 07-Jun-2005 [FC 15.246.455]
private int m_JobLevel = 0;
private byte[] m_AttachedDocument = null;
private byte[] m_DocumentBody = null;
private string m_FileName = "";
private string m_TempFile = "";
private bool m_busy = false;
//Start CBR 80.967.458
private GlobalInterfaces.GI_Exact.Cmdm.Tools.IclsGeneral m_oCMDMTools = null;
private const string gsCMDMTopicAccount = "ACCOUNT";
private bool m_bUseCentralData = false;
//End CBR 80.967.458
//-- Public vars: Contains the params
//-- For query - view
public string OrderNumber = "";
public string OurRef = "";
public string YourRef = "";
public object AttachmentId = null;
public object Account = null;
public object Resource = null;
public object ProjectNumber = null;
public object Item = null;
public object PaymentReference = null;
public object ItemSerialNumber = null;
//chan221476 (10-02-2009) [BR29.584.764] - New variable to store table name
public string TableSourceInvoice = "";
////New feature, add existing documents:
private System.Collections.Generic.IList<int> m_alngExisting = new System.Collections.Generic.List<int>();
private System.Collections.Generic.IList<string> m_astrFilterDocType = new System.Collections.Generic.List<string>();
//-- Used when adding new
public int DocType = 0;
public string DefaultOrderNumber = "";
public string DefaultOurRef = "";
public string DefaultYourRef = "";
public string DefaultAccount = "";
public string DefaultResource = "";
public string DefaultProjectNumber = "";
public string DefaultItem = "";
public string DefaultPaymentReference = "";
public string DefaultItemSerialNumber = "";
public string DefaultEntryKey = "";
public string NewDocumentID = "";
public bool ReadOnly = false;
public bool ReturnIDWhenEmpty = false;
public bool UseExistConnection = false;
private bool bShouldReturnID = false;
private bool bAllowAddNew = false;
private bool bAllowAddExisting = false;
private bool bEnableButtons = false;
private const string cUnsafeFileExtensions = ".ade.adp.bas.bat.chm.cmd.com.cpl.crt.exe.hlp.hta.inf.ins.isp.js.jse.lnk.mdb.mde.msc.msi.msp.mst.pcd.pif.reg.scr.sct.shs.shb.url.vb.vbe.vbs.wsc.wsf.wsh";
private const short cFileThresholdSize = 4000; //Chan31941, 12-Oct-04 [12.654.658]
//''Private Enum WhereClause
//'' eAll
//'' eOrderNumberAccount
//'' eOrderNumberYourRefAccount
//'' eOrderNumberOurRefAccount
//'' eOurRefYourRefAccount
//'' eOurRefAccount
//'' eYourRefAccount
//'' eOrderNumber
//'' eOrderNumberYourRef
//'' eOrderNumberOurRef
//'' eOurRefYourRef
//'' eAccount
//'' eOurRef
//'' eYourRef
//'' eItem
//'' eProject
//'' eResource
//'' eNone
//''End Enum
//-- Holds reference to maintenance object
private Exact.SystemLayer.Interfaces.IExactMaintenance m_Maint = null;
//-- Observers
private Exact.SystemLayer.SubjectRx.SubjectFactory m_Factory = null;
private Exact.SystemLayer.SubjectRx.Subject m_Subject = null;
private Exact.SystemLayer.Interfaces.IObserver m_Observer = null;
//-- Constants
private enum aBarButtons
{
CMD_CLOSE = 1,
CMD_EDIT = 2,
CMD_NEW = 3,
CMD_OPEN = 4,
CMD_NOTE = 5,
CMD_DOWNLOAD = 6,
CMD_EXISTING = 7
}
//[limh109866][FC21.820.527]16 MAR 2007
public string StateCode = "";
public string CountryCode = "";
public Exact.SystemLayer.Interfaces.ISettings iSet = null;
public bool m_bUseTaxExemptedCert = false; //BR 28.356.242
private Exact.SystemLayer.SetAppTitle.Titles _m_oTitle = null;
private Exact.SystemLayer.SetAppTitle.Titles m_oTitle
{
get
{
if (_m_oTitle is null)
{
_m_oTitle = new Exact.SystemLayer.SetAppTitle.Titles();
}
return _m_oTitle;
}
set
{
_m_oTitle = value;
}
}
//PBI 112801: Applocale Set application title
public void AddExistingType(int lngType)
{
////---------------------------------------------------------------------------------------
//// Procedure: AddExistingType
//// DateTime : 30-07-2003 / 11:14
//// Author : Rick Langevoort
//// Purpose : Add a type ID to the array of types to be displayed.
////
//// Returns : -
////
//// Revision :
////---------------------------------------------------------------------------------------
Globals.Add2Array_Long( m_alngExisting, lngType, true);
}
//Option to filter on document type
public void FilterDocType(int lngType)
{
Globals.Add2Array( m_astrFilterDocType, lngType.ToString().Trim(), true);
}
//-- Connetion interface
public Exact.SystemLayer.Interfaces.IApplication Application
{
get
{
return m_App;
}
set
{
m_App = value;
}
}
public Exact.SystemLayer.Interfaces.ICompany Company
{
get
{
return m_Comp;
}
set
{
m_Comp = value;
}
}
public Exact.SystemLayer.Interfaces.ITranslator Translator
{
get
{
return m_Term;
}
set
{
m_Term = value;
}
}
public void Connect()
{
Initialize(m_App, m_Comp, m_Term);
m_App.ConnectObject(brwDocuments, m_Comp, m_Term);
m_App.ConnectObject(ActionBar, m_Comp, m_Term);
//Chan31941 07-Jun-2005 [FC 15.246.455]
m_EdlRef = m_conn.CreateRef("orkrg", "ID", "*", Exact.DataLayer.LockModes.edlLockUpdate);
}
//-- Public functions and subs
//UPGRADE-WARNING: Parameter Term was changed from byref to byval.
//UPGRADE-WARNING: Parameter Comp was changed from byref to byval.
//UPGRADE-WARNING: Parameter App was changed from byref to byval.
public void Initialize(Exact.SystemLayer.Interfaces.IApplication App, Exact.SystemLayer.Interfaces.ICompany Comp, Exact.SystemLayer.Interfaces.ITranslator Term)
{
//-- Create objects
if (m_App is null)
{
m_App = App;
}
if (m_Comp is null)
{
m_Comp = Comp;
}
if (m_Term is null)
{
m_Term = Term;
}
if (m_conn is null)
{
m_conn = m_Comp.EDLConnection;
}
//-- Get the joblevel of the user
m_JobLevel = GetJobLevel();
}
public void ShowForm()
{
this.ShowDialog();
}
private void ActionBar_ButtonClick(object eventSender, Exact.Win.UI.Controls.Interfaces.ButtonClickEventArgs eventArgs)
{
int nID = eventArgs.nID;
try
{
Exact.DataLayer.EdlObject vAccount = null;
frmExisting objEx = null;
//UPGRADE_WARNING: (6021) Casting 'int' to Enum may cause different behaviour. More Information: https://www.mobilize.net/vbtonet/ewis/ewi6021
switch((aBarButtons) nID)
{
case aBarButtons.CMD_EXISTING :
//Chan31941, [06-Sep-2006] [20.078.294]
if (IsRecordLocked())
{
return;
}
objEx = new frmExisting();
//UPGRADE_ISSUE: (2064) Void method Global.Load was not upgraded. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2064
//VB.Global.Load(objEx);
////Set types to be shown:
foreach (int m_alngExisting_item in m_alngExisting)
{
objEx.AddExistingType(m_alngExisting_item);
}
//BR 09.188.353: Document browser should try to prefill the account number
//Apply only for single type document
objEx.DefaultAccount = DefaultAccount;
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultAccount) || Exact.SystemLayer.Common.ConvertHelper.IsNull(DefaultAccount) || DefaultAccount.TrimNullAndSpaces() == "")
{
if (m_alngExisting.Count == 1)
{
switch(m_alngExisting[0])
{
case GlobalInterfaces.GI_Exact.Crm.DocumentBrowser.Globals.cTypePurchaseQuotation :
vAccount = m_conn.Query("SELECT cicmpy.cmp_wwn FROM orkrg INNER JOIN cicmpy ON cicmpy.crdnr = orkrg.crdnr WHERE orkrg.ordernr = ?", OrderNumber, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
break;
case GlobalInterfaces.GI_Exact.Crm.DocumentBrowser.Globals.cTypeSalesOrder : case GlobalInterfaces.GI_Exact.Crm.DocumentBrowser.Globals.cTypeRequestForProposal :
vAccount = m_conn.Query("SELECT cicmpy.cmp_wwn FROM orkrg INNER JOIN cicmpy ON cicmpy.debnr = orkrg.debnr WHERE orkrg.ordernr = ?", OrderNumber, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
break;
case GlobalInterfaces.GI_Exact.Crm.DocumentBrowser.Globals.cTypePurchaseInvoice :
//Chan31941, [08-Nov-2006] [20.781.920]-Adjustment on performance for SQL2005
vAccount = m_conn.Query("SELECT cicmpy.cmp_wwn FROM cicmpy WHERE cicmpy.crdnr = (SELECT DISTINCT gbkmut.crdnr " +
"FROM gbkmut " +
"LEFT OUTER JOIN btwtrs b1 ON gbkmut.reknr = b1.reknr AND gbkmut.reknr IS NOT NULL AND b1.reknr IS NOT NULL " +
"LEFT OUTER JOIN btwtrs b2 ON gbkmut.crdnr = b2.creditor AND gbkmut.crdnr IS NOT NULL AND b2.creditor IS NOT NULL " +
"WHERE gbkmut.faktuurnr = ? AND gbkmut.crdnr IS NOT NULL " +
"AND (b1.ID IS NULL AND b2.ID IS NULL))", OurRef, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
break;
}
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vAccount))
{
objEx.DefaultAccount = vAccount;
}
}
}
////Set order data:
objEx.DefaultOrderNumber = DefaultOrderNumber;
objEx.DefaultOurRef = DefaultOurRef;
objEx.DefaultYourRef = DefaultYourRef;
objEx.DefaultResource = DefaultResource;
objEx.DefaultProjectNumber = DefaultProjectNumber;
objEx.DefaultItem = DefaultItem;
objEx.DefaultPaymentReference = DefaultPaymentReference;
objEx.DefaultItemSerialNumber = DefaultItemSerialNumber;
objEx.DefaultEntryKey = DefaultEntryKey;
objEx.ReadOnly = ReadOnly;
////Start browsing:
objEx.BrowseExisting(m_App, m_conn, m_Comp, m_Term, this);
if (objEx.DocMatched)
{
RefreshBrowser();
}
objEx.Close();
objEx = null;
break;
case aBarButtons.CMD_EDIT :
//Chan31941, [27-Jul-2006] [19.759.784]
if (IsDocumentExists())
{
return;
}
if (HasRights())
{
//Chan31941, [06-Sep-2006] [20.078.294]
if (IsRecordLocked())
{
return;
}
OpenAttachment();
}
else
{
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, m_Term.String(15469, "No rights"), m_oTitle.GetTitle(this));
}
break;
case aBarButtons.CMD_CLOSE :
//-- Try to delete the current temp file
DeleteTempFile();
//UPGRADE_WARNING: (1049) Use of Null/IsNull() detected. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1049
if (Exact.SystemLayer.Common.ConvertHelper.IsNull((Exact.SystemLayer.Common.ConvertHelper.IsEmpty(AttachmentId)) ? DBNull.Value : AttachmentId))
{
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(NewDocumentID))
{
if (brwDocuments.NumRows > 0)
{
brwDocuments.CurrentRow = 1;
if (bShouldReturnID)
{
//UPGRADE_WARNING: (1068) brwDocuments.Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
NewDocumentID = Convert.ToString(brwDocuments.get_value("ID"));
}
}
}
else if (brwDocuments.NumRows == 0)
{
NewDocumentID = ""; //br30.701.256 chon32144 30/05/2009
}
}
//[limh109866][05 JUN 2006]br19.275.758
//Me.Hide
this.Close();
break;
case aBarButtons.CMD_NEW :
//Chan31941, [06-Sep-2006] [20.078.294]
if (IsRecordLocked())
{
return;
}
NewDocument();
break;
case aBarButtons.CMD_OPEN :
//Chan31941, [27-Jul-2006] [19.759.784]
if (IsDocumentExists())
{
return;
}
if (HasRights())
{
DisplayAttachment(false);
}
else
{
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, m_Term.String(15469, "No rights"), m_oTitle.GetTitle(this));
}
break;
case aBarButtons.CMD_NOTE :
if (HasRights())
{
DisplayNotes();
}
else
{
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, m_Term.String(15469, "No rights"), m_oTitle.GetTitle(this));
}
break;
case aBarButtons.CMD_DOWNLOAD :
//Chan31941, [27-Jul-2006] [19.759.784]
if (IsDocumentExists())
{
return;
}
if (HasRights())
{
DisplayAttachment(true);
}
else
{
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, m_Term.String(15469, "No rights"), m_oTitle.GetTitle(this));
}
break;
}
}
finally
{
eventArgs.nID = nID;
}
}
private bool bLoaded = false;
private void brwDocuments_RowChanged(Object eventSender, EventArgs eventArgs)
{
if (bLoaded) EnableButtons(true);
}
private void brwDocuments_Selected(Object eventSender, EventArgs eventArgs)
{
if (ActionBar[(int) aBarButtons.CMD_EDIT].Enabled)
{
ActionBar_ButtonClick(ActionBar, new Exact.Win.UI.Controls.Interfaces.ButtonClickEventArgs((int) aBarButtons.CMD_EDIT));
}
}
protected override void FormLoad()
{
//-- Set the caption
//PBI 112801: Applocale Set application title
m_oTitle.SetFormTitle(this, m_Term.String(31261, "Attachments"), true);
//-- Init observer
System.Threading.Tasks.Task.Run(() => { InitObserver(); });
//Read settings
ReadSettings();
}
private void Form_Load(object sender, System.EventArgs e)
{
//>>BR: 14.556.042-Locking error during adding attachment
bEnableButtons = true;
if (IsOrkrgLocked())
{
bEnableButtons = false;
}
NewDocumentID = "";
if (Exact.SystemLayer.Common.ConvertHelper.IsNull((Exact.SystemLayer.Common.ConvertHelper.IsEmpty(AttachmentId)) ? DBNull.Value : AttachmentId))
{
bShouldReturnID = ReturnIDWhenEmpty;
}
////New feature: show existing, non-matched, documents of specified type(s):
////Add the default type (Miscellaneous) if not exist
if (!Globals.TestArray_Long(m_alngExisting))
{
if (DocType != 0)
{
AddExistingType(DocType);
}
else
{
AddExistingType(GlobalInterfaces.GI_Exact.Crm.DocumentBrowser.Globals.cTypeMiscellaneous);
}
}
ActionBar.ToggleVisibility(false);
ActionBar.ShowButton((int)aBarButtons.CMD_EXISTING, Globals.TestArray_Long(m_alngExisting));
ActionBar.ToggleVisibility(true);
}
private void Form_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
// Do not remove, allow form UI to render first
System.Windows.Forms.Application.DoEvents();
// Run browser query and rendering in separate Task
System.Threading.Tasks.Task.Run(()=> { RefreshBrowser(); bLoaded = true; });
}
private void Form_Closed(Object eventSender, CancelEventArgs eventArgs)
{
int Cancel = (eventArgs.Cancel) ? 1 : 0;
try
{
if (IsRunning(false))
{
//-- Don't allow unload
Cancel = 1;
return;
}
//-- Try to delete the current temp file
DeleteTempFile();
//UPGRADE_WARNING: (1049) Use of Null/IsNull() detected. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1049
if (Exact.SystemLayer.Common.ConvertHelper.IsNull((Exact.SystemLayer.Common.ConvertHelper.IsEmpty(AttachmentId)) ? DBNull.Value : AttachmentId))
{
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(NewDocumentID))
{
if (brwDocuments.NumRows > 0)
{
brwDocuments.CurrentRow = 1;
if (bShouldReturnID)
{
//UPGRADE_WARNING: (1068) brwDocuments.Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
NewDocumentID = Convert.ToString(brwDocuments.get_value("ID"));
}
}
}
else if (brwDocuments.NumRows == 0)
{
NewDocumentID = ""; //br30.701.256 chon32144 30/05/2009
}
}
//-- Terminate observer
TerminateObserver();
//chan221476 (10-02-2009) [BR29.584.764] - Set it back to empty when form close
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(TableSourceInvoice))
{
TableSourceInvoice = "";
}
//-- Kill objects
m_Maint = null;
m_App = null;
m_Comp = null;
m_Term = null;
m_conn = null;
//>>BR: 14.556.042-Locking error during adding attachment
//Chan31941, 07-Jun-2005 [FC 15.246.455]
m_EdlRef?.Dispose();
m_EdlRef = null;
m_oTitle = null; //PBI 112801: Applocale Set application title
}
finally
{
eventArgs.Cancel = Cancel != 0;
}
}
//''Private Function GetClause() As WhereClause
//'' '-- Resource is always filled!
//''
//'' '-- Browse only for item?
//'' If Not IsEmpty(Item) Then
//'' If IsEmpty(ProjectNumber) And IsEmpty(Account) And IsEmpty(OrderNumber) And IsEmpty(OurRef) And IsEmpty(YourRef) Then
//'' GetClause = eItem
//'' Exit Function
//'' End If
//'' End If
//''
//'' '-- Browse only for resource?
//'' If Not IsEmpty(Resource) Then
//'' If IsEmpty(ProjectNumber) And IsEmpty(Account) And IsEmpty(OrderNumber) And IsEmpty(OurRef) And IsEmpty(YourRef) And IsEmpty(Item) Then
//'' GetClause = eResource
//'' Exit Function
//'' End If
//'' End If
//''
//'' '-- Browse only for project?
//'' If Not IsEmpty(ProjectNumber) Then
//'' If IsEmpty(Item) And IsEmpty(Account) And IsEmpty(OrderNumber) And IsEmpty(OurRef) And IsEmpty(YourRef) Then
//'' GetClause = eProject
//'' Exit Function
//'' End If
//'' End If
//''
//'' '-- Evaluate fither
//'' If Not IsEmpty(OrderNumber) And Not IsEmpty(OurRef) And Not IsEmpty(YourRef) Then
//'' GetClause = eAll
//'' Else
//'' If Not IsEmpty(OrderNumber) And Not IsEmpty(OurRef) And Not IsEmpty(Account) Then
//'' GetClause = eOrderNumberOurRefAccount
//'' Else
//'' If Not IsEmpty(OrderNumber) And Not IsEmpty(YourRef) And Not IsEmpty(Account) Then
//'' GetClause = eOrderNumberYourRefAccount
//'' Else
//'' If Not IsEmpty(YourRef) And Not IsEmpty(OurRef) And Not IsEmpty(Account) Then
//'' GetClause = eOurRefYourRefAccount
//'' Else
//'' If Not IsEmpty(OrderNumber) And Not IsEmpty(OurRef) Then
//'' GetClause = eOrderNumberOurRef
//'' Else
//'' If Not IsEmpty(OrderNumber) And Not IsEmpty(YourRef) Then
//'' GetClause = eOrderNumberYourRef
//'' Else
//'' If Not IsEmpty(YourRef) And Not IsEmpty(OurRef) Then
//'' GetClause = eOurRefYourRefAccount
//'' Else
//'' If Not IsEmpty(YourRef) And Not IsEmpty(Account) Then
//'' GetClause = eYourRefAccount
//'' Else
//'' If Not IsEmpty(OurRef) And Not IsEmpty(Account) Then
//'' GetClause = eOurRefAccount
//'' Else
//'' If Not IsEmpty(OrderNumber) And Not IsEmpty(Account) Then
//'' GetClause = eOrderNumberAccount
//'' Else
//'' If Not IsEmpty(Account) Then
//'' GetClause = eAccount
//'' Else
//'' If Not IsEmpty(YourRef) Then
//'' GetClause = eYourRef
//'' Else
//'' If Not IsEmpty(OurRef) Then
//'' GetClause = eOurRef
//'' Else
//'' If Not IsEmpty(OrderNumber) Then
//'' GetClause = eOrderNumber
//'' Else
//'' GetClause = eNone
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//'' End If
//''End Function
//UPGRADE-WARNING: Parameter AttachGuid was changed from byref to byval.
private void UpdateBacoDiscussions(string AttachGuid)
{
//'tanj42445 - 20101125 - FC 37.043.210 - Trigger notification when update document
Exact.SystemLayer.Interfaces.IConnectivity oESF = new Exact.Entity.Notification.Connectivity();
m_App.ConnectObject(oESF, m_Comp, m_Term);
//UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
m_conn.Exec("UPDATE BacoDiscussions SET OrderNumber=?,OurRef=?,YourRef=?,Cmpwwn=?,Type=?,HumResId=?,EntryKey=? WHERE ID=?", new Exact.DataLayer.EdlObject[]{DefaultOrderNumber, DefaultOurRef, DefaultYourRef, DefaultAccount, DocType, DefaultResource, DefaultEntryKey, AttachGuid});
oESF.NotifyProcessWithBCEdit("BDDocument", "ID", AttachGuid, Exact.SystemLayer.Interfaces.NotifyAction.naUpdate);
m_conn.Commit();
//'End FC 36.946.408
}
private void NewDocument()
{
string DocumentId = "";
Exact.SystemLayer.Interfaces.IExactMaintenance oMaint = null;
Exact.SystemLayer.Interfaces.IExtensionDlg b = null;
Exact.SystemLayer.Utils.MaintenanceHelper maintHelper = null;
Exact.SystemLayer.Interfaces.IValueSet vs = null;
if (!StartNewDocumentApp())
{
//UPGRADE_WARNING: (7008) The ProgId could not be found on computer where this application was migrated More Information: https://www.mobilize.net/vbtonet/ewis/ewi7008
b = (Exact.SystemLayer.Interfaces.IExtensionDlg) new Exact.Win.UI.FipAttachment();
m_App.ConnectObject(b, m_Comp, m_Term);
b.Title = m_Term.String(7226, "Document");
//UPGRADE_WARNING: (1068) tempRefParam of type object is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
object tempRefParam = DocumentId;
b.Show(this.Handle, 0, ref tempRefParam);
DocumentId = Convert.ToString(tempRefParam);
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DocumentId))
{
UpdateBacoDiscussions(DocumentId);
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(NewDocumentID))
{
NewDocumentID = DocumentId;
}
}
}
else
{
//-- Use new document applications
//If m_Maint Is Nothing Then
// Set m_Maint = CreateObject("MDocuments.Document", "")
// m_App.ConnectObject m_Maint, m_Comp, m_Term
//End If
//CBR78.032.704
maintHelper = new Exact.SystemLayer.Utils.MaintenanceHelper();
m_App.ConnectObject(maintHelper, m_Comp, m_Term);
oMaint = maintHelper.CreateMaintObj("MDocuments.Document", "");
vs = new Exact.SystemLayer.Common.ValueSet();
//-- Create value set with values
vs.Add("OrderNumber", DefaultOrderNumber);
vs.Add("OurRef", DefaultOurRef);
vs.Add("YourRef", DefaultYourRef);
vs.Add("Person", DefaultResource);
vs.Add("Associate", DefaultAccount);
vs.Add("Type", DocType);
vs.Add("ProjectNr", DefaultProjectNumber);
if ((((DefaultItem) is null) ? 0 : Convert.ToString(DefaultItem).Trim().Length) > 0)
{
vs.Add("Item", DefaultItem);
}
vs.Add("PaymentReference", DefaultPaymentReference);
if ((((DefaultItem) is null) ? 0 : Convert.ToString(DefaultItem).Trim().Length) > 0 && (((DefaultItemSerialNumber) is null) ? 0 : Convert.ToString(DefaultItemSerialNumber).Trim().Length) > 0)
{
//NGOB24429: [09.150.093] 23/12/2003 (Wrongly set property name, caused invalid validation in repository.)
//.Add "ItemSerialNumberCode", DefaultItemSerialNumber
vs.Add("ItemSerialNumber", DefaultItemSerialNumber);
}
vs.Add("EntryKey", DefaultEntryKey);
//[limh109866][FC21.820.527]16 MAR 2007
//BR 28.356.242 - Check on the setting
if (m_bUseTaxExemptedCert && !System.String.IsNullOrWhiteSpace(StateCode) && !System.String.IsNullOrWhiteSpace(CountryCode))
{
vs.Add("StateCode", StateCode);
vs.Add("CountryCode", CountryCode);
}
if (UseExistConnection)
{
vs.Add("UseExistConnection", UseExistConnection);
}
oMaint.Add(this.Handle, vs, Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal, "U");
oMaint = null;
//[limh109866][05 JUN 2006]br19.275.758
if (m_App is null)
{
return;
}
bShouldReturnID = true;
//tanc30792 [BR 12.312.774] [10 Sep 2004]
//Always refresh to refresh the calculated field
brwDocuments.Refresh();
vs = null;
}
EnableButtons(true);
}
private void OpenAttachment()
{
string DocumentId = "";
Exact.SystemLayer.Interfaces.IExactMaintenance oMaint = null;
Exact.SystemLayer.Interfaces.IExtensionDlg b = null;
Exact.SystemLayer.Utils.MaintenanceHelper maintHelper = null;
if (!StartNewDocumentApp())
{
//UPGRADE_WARNING: (7008) The ProgId could not be found on computer where this application was migrated More Information: https://www.mobilize.net/vbtonet/ewis/ewi7008
b = (Exact.SystemLayer.Interfaces.IExtensionDlg) new Exact.Win.UI.FipAttachment();
m_App.ConnectObject(b, m_Comp, m_Term);
b.Title = m_Term.String(31617, "Attachement");
//Open the document
if (brwDocuments.NumRows != 0)
{
//UPGRADE_WARNING: (1068) brwDocuments.Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
DocumentId = Convert.ToString(brwDocuments.get_value("BacoDiscussions.ID"));
if (ReadOnly)
{
//UPGRADE_WARNING: (1068) tempRefParam of type object is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
object tempRefParam = DocumentId;
b.Show(this.Handle, 1, ref tempRefParam);
DocumentId = Convert.ToString(tempRefParam);
}
else
{
//UPGRADE_WARNING: (1068) tempRefParam2 of type object is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
object tempRefParam2 = DocumentId;
b.Show(this.Handle, 0, ref tempRefParam2);
DocumentId = Convert.ToString(tempRefParam2);
}
}
b = null;
}
else
{
//-- Use new document applications
//If m_Maint Is Nothing Then
// Set m_Maint = CreateObject("MDocuments.Document")
// m_App.ConnectObject m_Maint, m_Comp, m_Term
//End If
//CBR78.032.704
maintHelper = new Exact.SystemLayer.Utils.MaintenanceHelper();
m_App.ConnectObject(maintHelper, m_Comp, m_Term);
oMaint = maintHelper.CreateMaintObj("MDocuments.Document", "");
//UPGRADE_WARNING: (1068) brwDocuments.Value() of type Variant is being forced to int. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
oMaint.Edit(this.Handle, Convert.ToInt32(brwDocuments.get_value("BacoDiscussions.HID")), Exact.SystemLayer.Interfaces.MaintenanceFlags.mntModal, (ReadOnly) ? "UR" : "UA");
oMaint = null;
//[limh109866][05 JUN 2006]br19.275.758
if (m_App is null)
{
return;
}
//tanc30792 [BR 12.312.774] [10 Sep 2004]
//Always refresh to refresh the calculated field
brwDocuments.Refresh();
}
}
private bool StartNewDocumentApp()
{
//-- Use new document app when crm present in license or when Compact
//BR 10.316.682: No checking on CRM and Compact option
//If m_Comp.GetOpt(OPT_E_CIS) Or m_Comp.GetOpt(OPT_COMPACT) Then
return true;
//Else
// StartNewDocumentApp = False
//End If
}
private string GetSelectCol()
{
return "HID, (LEFT(RIGHT(RTRIM('00000000' + CAST(HID AS char(8))), 8), 2) + '.' + SUBSTRING(RIGHT(RTRIM('00000000' + CAST(HID AS char(8))), 8), 3, 3) + '.' + RIGHT(RTRIM('00000000' + CAST(HID AS char(8))), 3)) AS HIDFormatted, " +
"BacoDiscussionFixedTypes.Description, BacoDiscussions.JobLevel, BacoDiscussions.Subject, BacoDiscussions.FileName, (RTRIM(Cast(DataLength(BacoDiscussions.Document)/1000 AS char(12))) + ' KB') AS Size, BacoDiscussions.OrderNumber, BacoDiscussions.OurRef, BacoDiscussions.YourRef, (CASE WHEN ISNULL(BacoDiscussions.Source,'S') = 'I' THEN 1 ELSE 0 END) AS Input, (CASE WHEN NOT ISNULL(BacoDiscussions.Source,'S') = 'I' THEN 1 ELSE 0 END) AS Output, (CASE WHEN BacoDiscussions.Note IS NULL THEN 0 ELSE 1 END) as Notes," +
"BacoDiscussions.CreatedByFullName, BacoDiscussions.CreatedDate, BacoDiscussions.ModifiedDate," +
"BacoDiscussions.ID";
}
private string GetColumnInfo()
{
//tanc30792 [BR 14.674.387] [12 Apr 2005] Term Size
return "HIDFormatted,7226,Document,,,2048;BacoDiscussionFixedTypes.Description,4243,Description,15;" +
"Input,8644,Input;Output,8888,Output;Notes,8873,Notes;BacoDiscussions.OrderNumber,404,Order Number;BacoDiscussions.OurRef,119,Our Ref;BacoDiscussions.YourRef,78,Your Ref;BacoDiscussions.Subject,213,Subject,25;BacoDiscussions.JobLevel,209,Security level,10,64;BacoDiscussions.CreatedDate,2468,Created,20;" +
"BacoDiscussions.CreatedByFullName,10696,Created by,20;BacoDiscussions.FileName,31617,File name,25;BacoDiscussions.ModifiedDate,32118,Modified,20;" +
"BacoDiscussions.ModifiedByFullName,24774,Modified by,20;Size,5810,Size,12,64";
}
private string GetFrom()
{
//BR 08.910.344: Optimize query by reducing number of "inner join"
//GetFrom = "BacoDiscussions " & _
// ' "INNER JOIN BacoDiscussionFixedTypes ON BacoDiscussions.Type = BacoDiscussionFixedTypes.TypeID " & _
// ' "INNER JOIN (" & _
// ' "SELECT ID " & _
// ' "FROM BacoDiscussions " & _
// ' "INNER JOIN BacoDiscussionFixedTypes ON BacoDiscussions.Type = BacoDiscussionFixedTypes.TypeID WHERE [WHERE]" & _
// ' " UNION " & _
// ' "SELECT ID " & _
// ' "FROM BacoDiscussions " & _
// ' "LEFT JOIN BacoDiscussionFixedTypes ON BacoDiscussions.Type = BacoDiscussionFixedTypes.TypeID WHERE BacoDiscussions.ID=" & m_conn.Literal(IIf(IsEmpty(AttachmentId), Null, AttachmentId)) & _
// ' ") AS X ON X.Id=BacoDiscussions.ID "
string result = "";
result = "BacoDiscussions " +
"INNER JOIN BacoDiscussionFixedTypes ON BacoDiscussions.Type = BacoDiscussionFixedTypes.TypeID WHERE [WHERE]";
//[limh109866][FC21.820.527]16 MAR 2007
//BR 28.356.242 - Check on the setting
if (m_bUseTaxExemptedCert && !System.String.IsNullOrWhiteSpace(StateCode) && !System.String.IsNullOrWhiteSpace(CountryCode))
{
result = "BacoDiscussions " +
"INNER JOIN BacoDiscussionFixedTypes ON BacoDiscussions.Type = BacoDiscussionFixedTypes.TypeID " +
"INNER JOIN TaxExemptStateCertificates ON BacoDiscussions.ID = TaxExemptStateCertificates.DocumentID WHERE [WHERE]";
}
return result;
}
//-- Does the user have rights to open the document?
private bool HasRights()
{
//Get information on the document
Exact.DataLayer.EdlObject vDocument = m_conn.Query("SELECT Owner, CreatedBy, JobLevel, HumresID FROM BacoDiscussions WHERE ID=?", new Exact.DataLayer.EdlObject(brwDocuments.get_value("ID")), Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
bool bHasRights = true;
Exact.SystemLayer.Interfaces.IUser withVar = null;
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vDocument))
{
withVar = m_Comp.User;
bHasRights = (withVar.ID == ((double) vDocument[0]));
bHasRights = bHasRights || withVar.ID == ((double) vDocument[1]);
bHasRights = bHasRights || m_JobLevel >= ((double) vDocument[2]);
bHasRights = bHasRights || (withVar.ID == ((double) vDocument[3]) && ((double) vDocument[2]) == 100);
bHasRights = bHasRights || withVar.Administrator;
//BR 45.464.594 Check project specific document rights
bHasRights = bHasRights || (((double) vDocument[2]) == 101 && IsProjectMember());
}
return bHasRights;
}
private bool IsProjectMember()
{
//UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
return (bool) m_conn.Query("SELECT 1 FROM prmember WHERE ProjectNr = (SELECT ProjectNr FROM BacoDiscussions WHERE ID = ?) AND res_id = ?", new Exact.DataLayer.EdlObject[]{new Exact.DataLayer.EdlObject(brwDocuments.get_value("ID")), m_Comp.User.ID}, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
}
private int GetJobLevel()
{
Exact.DataLayer.EdlObject vResult = m_conn.Query("SELECT job_level" +
" FROM humres " +
" WHERE res_id=?", m_Comp.User.ID, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult))
{
return (int) vResult;
}
else
{
return 0;
}
}
// --- showing attached document ---
//UPGRADE-WARNING: Parameter bDownLoad was changed from byref to byval.
private void DisplayAttachment(bool bDownLoad)
{
string sTempFileName = "";
int nFileHandle = 0;
bool bYesDownload = false;
Exact.SystemLayer.General.Filer oFiler = new Exact.SystemLayer.General.Filer();
try
{
//-- Get Current document
StartProcess();
//UPGRADE_WARNING: (1068) brwDocuments.Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
ReadAttachedDocument(Convert.ToString(brwDocuments.get_value("ID")));
//-- Try to delete the current temp file
DeleteTempFile();
// --- generate temporary file to be able to show attachment ---
if (m_AttachedDocument.GetUpperBound(0) > 0 || m_DocumentBody.GetUpperBound(0) > 0)
{
// --- generate temporary file name and path ---
sTempFileName = Path.GetFileName(Path.GetTempFileName());
if ((((m_FileName) is null) ? 0 : Convert.ToString(m_FileName).Trim().Length) > 0)
{
sTempFileName = Path.GetFileNameWithoutExtension(sTempFileName) + "." + Path.GetExtension(m_FileName).Substring(1);
}
else
{
sTempFileName = Path.GetFileNameWithoutExtension(sTempFileName) + ".htm";
}
sTempFileName = (new DirectoryInfo(Path.GetTempPath())).FullName + "\\" + sTempFileName;
using (FileStream fs = File.Create(sTempFileName))
{
//Chan31941, 12-Oct-04 [12.654.658]-validate with UBound instead of IsEmpty
//If Not IsEmpty(m_AttachedDocument) Then
if (m_AttachedDocument.GetUpperBound(0) > 0)
{
//UPGRADE_WARNING: (2080) Put was upgraded to FilePutObject and has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2080
fs.Write(m_AttachedDocument, 0, m_AttachedDocument.Length);
}
else
{
//Chan31941, 12-Oct-04 [12.654.658]-call function to download images.
DownloadInsertedImages();
//UPGRADE_WARNING: (2080) Put was upgraded to FilePutObject and has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2080
fs.Write(m_DocumentBody, 0, m_DocumentBody.Length);
}
}
//Special Cater for htm chinese character
oFiler.ConvertFileFormat(sTempFileName, sTempFileName); //ASL for applocale
oFiler = null;
//Chan31941, 12-Oct-04 [12.654.658]
//do not check UBound(m_AttachedDocument) cus this preventing document without attachment to launch
//If UBound(m_AttachedDocument) > 0 Then
if (bDownLoad || cUnsafeFileExtensions.ToUpper().IndexOf(Path.GetExtension(sTempFileName).Substring(1).ToUpper()) >= 0)
{
if (!bDownLoad)
{
//PBI 112801: Applocale Set application title
bYesDownload = m_App.Query(this.Handle, m_Term.String(15839, "Unsafe") + ": " + m_Term.String(16165, "file") + Environment.NewLine + m_Term.String(20307, "Save?"), m_oTitle.GetTitle(this));
}
else
{
bYesDownload = true;
}
//-- Download?
if (bYesDownload)
{
if (CommonDialog == null)
this.CommonDialog = new Exact.Win.UI.UniCommonDialog.CommonDialogW();
CommonDialog.DefaultExt = Path.GetExtension(sTempFileName).Substring(1);
//PBI 112801: Applocale Set application title
CommonDialog.DialogTitle = m_oTitle.GetTitle(this);
CommonDialog.CancelError = true;
CommonDialog.Flags = (int) (Exact.Win.UI.UniEnums.FileOpenConstantsW.cdlOFNHideReadOnly | Exact.Win.UI.UniEnums.FileOpenConstantsW.cdlOFNOverwritePrompt);
//UPGRADE_WARNING: (1068) brwDocuments.Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
CommonDialog.FileName = Convert.ToString(brwDocuments.get_value("FileName"));
//UPGRADE_TODO: (1069) Error handling statement (On Error Resume Next) was converted to a pattern that might have a different behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1069
try
{
CommonDialog.ShowSave();
if (CommonDialog.FileName.TrimNullAndSpaces() != "")
{
//BR37.628.906 File not replaced if already exists. Since user already selected <replace file> option, so just delete if file exists
if (File.Exists(CommonDialog.FileName))
{
File.Delete(CommonDialog.FileName);
}
File.Move(sTempFileName, CommonDialog.FileName);
}
}
catch (Exception catchedException)
{
Exact.Exceptions.Globe.BaseGlobeException exc = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException);
}
}
ProgressTerm();
EndProcess();
return;
}
////chan31941, 16-Sep-04 [12.369.914]
////set the document to ReadOnly mode.
//UPGRADE_WARNING: (6021) Casting 'bool' to Enum may cause different behaviour. More Information: https://www.mobilize.net/vbtonet/ewis/ewi6021
//UPGRADE_ISSUE: (2064) Scripting.IFile property GetFile.Attributes was not upgraded. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2064
File.SetAttributes(sTempFileName, FileAttributes.ReadOnly);
ProgressTerm();
// --- open attachment using associated application ---
string tempRefParam = null;
string tempRefParam2 = null;
string tempRefParam3 = null;
if (32 > Exact.SystemLayer.Common.PInvoke.SafeNative.shell32.ShellExecute(this.Handle , tempRefParam, sTempFileName, tempRefParam2, tempRefParam3, 5).ToInt32())
{
string tempRefParam4 = null;
string tempRefParam5 = "notepad.exe";
string tempRefParam6 = null;
if (32 > Exact.SystemLayer.Common.PInvoke.SafeNative.shell32.ShellExecute(this.Handle , tempRefParam4, tempRefParam5, sTempFileName, tempRefParam6, 5).ToInt32())
{
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, "No application associated with this file type.", m_oTitle.GetTitle(this));
}
}
//End If
//-- the current temp file in memory
m_TempFile = sTempFileName;
}
EndProcess();
}
catch (System.Exception catchedException)
{
Exact.Exceptions.Globe.BaseGlobeException excep = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException);
//PBI 112801: Applocale Set application title
//UPGRADE_WARNING: (2081) Err.Number has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
m_App.Message(this.Handle, m_Term.String(8335, "Unknown error") + ": (" + ") - " + excep.Message, m_oTitle.GetTitle(this));
ProgressTerm();
EndProcess();
}
}
private void ReadAttachedDocument(string ID)
{
Exact.DataLayer.EdlObject vResult = null;
int lngSize = 0;
Exact.DataLayer.EdlObject Piece = null;
try
{
//*** Chan31941, 12-Oct-04 [12.654.658] - codes to read attachment, replacing the commented old codes below ***'
vResult = m_conn.Query("SELECT DataLength(Document), Body, FileName FROM BacoDiscussions WHERE ID=? ", ID, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult))
{
lngSize = (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult[0])) ? 0 : ((int) vResult[0]);
m_DocumentBody = (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult[1])) ? (UnicodeEncoding.Unicode.GetBytes("")) : ((byte[]) vResult[1]);
m_FileName = (string) vResult[2];
}
else
{
//UPGRADE_WARNING: (1059) Code was upgraded to use System.Text.UnicodeEncoding.Unicode.GetBytes() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
m_AttachedDocument = UnicodeEncoding.Unicode.GetBytes("");
//UPGRADE_WARNING: (1059) Code was upgraded to use System.Text.UnicodeEncoding.Unicode.GetBytes() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
m_DocumentBody = UnicodeEncoding.Unicode.GetBytes("");
m_FileName = "";
}
//check if document datalength is greater then predefined thresholdsize.
if (lngSize > cFileThresholdSize)
{
ProgressInit(Convert.ToDouble(lngSize), m_Term.String(6473, "Retrieving info"));
m_AttachedDocument = new byte[lngSize];
int tempForEndVar = lngSize;
for (int lngI = 1; (cFileThresholdSize < 0) ? lngI >= tempForEndVar : lngI <= tempForEndVar; lngI += cFileThresholdSize)
{
ProgressValue(Convert.ToDouble(lngI));
//UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
Piece = m_conn.Query("SELECT TOP 1 SUBSTRING(Document,?,?) FROM BacoDiscussions WHERE ID=?", new Exact.DataLayer.EdlObject[]{lngI, cFileThresholdSize, ID});
int tempForEndVar2 = Piece.GetUpperBound(0);
for (int lngJ = 0; lngJ <= tempForEndVar2; lngJ++)
{
if (lngI - 1 + lngJ <= m_AttachedDocument.GetUpperBound(0))
{
m_AttachedDocument[lngI - 1 + lngJ] = ((byte[]) Piece.Data)[lngJ];
}
else
{
break;
}
}
}
ProgressTerm();
}
else
{
vResult = m_conn.Query("SELECT Document, Body, FileName FROM BacoDiscussions WHERE ID = ?", ID, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult))
{
m_AttachedDocument = (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult[0])) ? (UnicodeEncoding.Unicode.GetBytes("")) : ((byte[]) vResult[0]);
m_DocumentBody = (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult[1])) ? (UnicodeEncoding.Unicode.GetBytes("")) : ((byte[]) vResult[1]);
m_FileName = (string) vResult[2];
}
else
{
//UPGRADE_WARNING: (1059) Code was upgraded to use System.Text.UnicodeEncoding.Unicode.GetBytes() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
m_AttachedDocument = UnicodeEncoding.Unicode.GetBytes("");
//UPGRADE_WARNING: (1059) Code was upgraded to use System.Text.UnicodeEncoding.Unicode.GetBytes() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
m_DocumentBody = UnicodeEncoding.Unicode.GetBytes("");
m_FileName = "";
}
}
}
catch (System.Exception catchedException)
{
Exact.Exceptions.Globe.BaseGlobeException excep = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException);
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, m_Term.String(8335, "Unknown error") + ": (" + ") - " + excep.Message, m_oTitle.GetTitle(this));
ProgressTerm();
}
}
//-- Progress indication procedures
private void ProgressInit(double Max, string sMessage)
{
StatusBar.Progress = sMessage;
StatusBar.Max = Convert.ToInt32(Max);
StatusBar.Value = 0;
}
private void ProgressValue(double dValue)
{
StatusBar.Value = Convert.ToInt32(dValue);
System.Windows.Forms.Application.DoEvents();
}
private void ProgressTerm()
{
StatusBar.Value = 0;
StatusBar.Progress = "";
}
public void StartProcess()
{
m_busy = true;
EnableButtons(false);
brwDocuments.Enabled = false;
System.Windows.Forms.Application.DoEvents();
}
public void EndProcess()
{
m_busy = false;
EnableButtons(true);
brwDocuments.Enabled = true;
System.Windows.Forms.Application.DoEvents();
}
private void EnableButtons(bool bEnabled)
{
//>>BR: 14.556.042-Locking error during adding attachment
ActionBar[(int) aBarButtons.CMD_NEW].Enabled = bEnabled && !ReadOnly && bAllowAddNew && bEnableButtons;
ActionBar[(int) aBarButtons.CMD_EDIT].Enabled = bEnabled && brwDocuments.CurrentRow > 0 && bEnableButtons;
ActionBar[(int) aBarButtons.CMD_DOWNLOAD].Enabled = bEnabled && brwDocuments.CurrentRow > 0;
ActionBar[(int) aBarButtons.CMD_OPEN].Enabled = bEnabled && brwDocuments.CurrentRow > 0;
ActionBar[(int) aBarButtons.CMD_NOTE].Enabled = bEnabled && brwDocuments.CurrentRow > 0 && bEnableButtons;
ActionBar[(int) aBarButtons.CMD_CLOSE].Enabled = bEnabled;
if (ReadOnly)
{
ActionBar[(int) aBarButtons.CMD_EDIT].SetCaptionTermID(8549, "Display", false);
}
else
{
ActionBar[(int) aBarButtons.CMD_EDIT].SetCaptionTermID(25319, "Edit", false);
}
//Chan31941, [06-Sep-2006] [20.078.294]
ActionBar[(int) aBarButtons.CMD_EXISTING].Enabled = bAllowAddNew && !ReadOnly && bAllowAddExisting && bEnableButtons;
//Start CBR 80.967.458
if (m_Comp.GetOpt(GlobalInterfaces.GI_Exact.Crm.DocumentBrowser.Options.OPT_CENTRAL_MASTER_DATA))
{
LoadObjCMDMToolsGeneral();
if (m_bUseCentralData)
{
ActionBar[(int) aBarButtons.CMD_NEW].Enabled = true;
}
}
//End CBR 80.967.458
}
//Chan31941, [06-Sep-2006] [20.078.294]
//Check if record is locked. If true, then disable <New>,<Edit> and <Add existing> buttons
private bool IsRecordLocked()
{
bool result = false;
if (IsOrkrgLocked())
{
//Display message
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, m_Term.String(18839, "Data in use"), m_oTitle.GetTitle(this));
bEnableButtons = false;
EnableButtons(true);
result = true;
}
return result;
}
//>>BR: 14.556.042-Locking error during adding attachment
private bool IsOrkrgLocked()
{
bool result = false;
Exact.DataLayer.EdlObject vRes = null;
string sSQL = "";
try
{
result = false;
sSQL = "SELECT ID FROM orkrg WITH (NOLOCK) WHERE ordernr = ?";
vRes = m_conn.Query(sSQL, OrderNumber, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
//BR 21.862.123 [27-06-2007]: add in additional condition to check OrderNumber,
// if it is empty, then no need check for locking since is new record
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vRes) && !Exact.SystemLayer.Common.ConvertHelper.IsEmpty(OrderNumber))
{
//Chan31941, 07-Jun-2005 [FC 15.246.455]
m_EdlRef.Find1(vRes);
m_conn.Commit();
result = false;
}
}
catch
{
//Chan31941, [11-Sep-2006] [20.107.535]
m_conn.Commit();
//Chan31941, 07-Jun-2005 [FC 15.246.455]
result = true;
}
return result;
}
//UPGRADE-WARNING: Parameter bSilent was changed from byref to byval.
private bool IsRunning(bool bSilent = false)
{
if (!bSilent)
{
if (m_busy)
{
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, m_Term.String(10333, "Can't close"), m_oTitle.GetTitle(this));
}
}
return m_busy;
}
private void RefreshBrowser()
{
Exact.DataLayer.EdlObject vIsCreditor = null;
Exact.DataLayer.EdlObject vDocID = null;
Exact.DataLayer.EdlObject vResult = null;
this.Cursor = Cursors.WaitCursor;
// --- Set browser props
//Chan31941, 05-Jan-2005 [13.521.061]-do not display error.
//.DisplayErrors = True
brwDocuments.ResetColInfo();
brwDocuments.ColInfo = GetColumnInfo();
brwDocuments.CheckmarkCols = "Input,Output,Notes";
brwDocuments.InvisibleCols = "HID,BacoDiscussions.ID";
brwDocuments.Tables = "BacoDiscussions,BacoDiscussionFixedTypes";
brwDocuments.SelectColumnsMode = 1;
brwDocuments.StorageKey = "CRMDocumentBrowser";
// -- Build Select statement
string sSQL = "SELECT [SELECT] FROM [FROM] [ORDER BY]";
sSQL = StringsHelper.Replace(sSQL, "[SELECT]", GetSelectCol(), 1, -1, CompareMethod.Binary);
sSQL = StringsHelper.Replace(sSQL, "[ORDER BY]", " ORDER BY BacoDiscussions.HID DESC", 1, -1, CompareMethod.Binary);
string sWhere = "";
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(Account))
{
sWhere = "BacoDiscussions.cmpwwn=" + m_conn.Literal(Account);
}
//08.910.344: Turn this filter option off
//BR 09.371.219: RTE on search for related trough document
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(Resource) && (((Resource) is null) ? 0 : Convert.ToString(Resource).Length) > 0)
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
sWhere = sWhere + "BacoDiscussions.HumresID=" + m_conn.Literal(Resource);
}
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(OrderNumber) && (((OrderNumber) is null) ? 0 : Convert.ToString(OrderNumber).Length) > 0)
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
sWhere = sWhere + "BacoDiscussions.OrderNumber=" + m_conn.Literal(OrderNumber);
}
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(OurRef) && (((OurRef) is null) ? 0 : Convert.ToString(OurRef).Length) > 0)
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
sWhere = sWhere + "BacoDiscussions.OurRef=" + m_conn.Literal(OurRef);
}
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(YourRef))
{ //BR 15.445.947 - kohw108768 - 22 June 2005 - need to use this searching criteria when users do not fill in anything in field Your Ref
//br34.058.775(simc178002)[29/03/2010] validation need to cater for GIU. GIU used docnumber to group lines together.
//Pass in docnumber to YourRef in BacoDiscussions line
if (GetFromGIU(YourRef, OurRef))
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " OR ";
}
if (System.String.IsNullOrWhiteSpace(YourRef))
{
sWhere = sWhere + "BacoDiscussions.YourRef IS NULL";
}
else
{
sWhere = sWhere + "BacoDiscussions.YourRef=" + m_conn.Literal(YourRef);
}
}
else
{
//Original
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
if (System.String.IsNullOrWhiteSpace(YourRef))
{
sWhere = sWhere + "BacoDiscussions.YourRef IS NULL";
}
else
{
sWhere = sWhere + "BacoDiscussions.YourRef=" + m_conn.Literal(YourRef);
}
}
//' If sWhere <> "" Then sWhere = sWhere & " AND "
//' If YourRef = "" Then
//' sWhere = sWhere & "BacoDiscussions.YourRef IS NULL"
//' Else
//' sWhere = sWhere & "BacoDiscussions.YourRef=" & m_conn.Literal(YourRef)
//' End If
}
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(ProjectNumber) && (((ProjectNumber) is null) ? 0 : Convert.ToString(ProjectNumber).Length) > 0)
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
sWhere = sWhere + "BacoDiscussions.ProjectNr=" + m_conn.Literal(ProjectNumber);
}
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(Item) && (((Item) is null) ? 0 : Convert.ToString(Item).Length) > 0)
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
sWhere = sWhere + "BacoDiscussions.ItemCode=" + m_conn.Literal(Item);
}
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(PaymentReference) && (((PaymentReference) is null) ? 0 : Convert.ToString(PaymentReference).Length) > 0)
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
sWhere = sWhere + "BacoDiscussions.PaymentReference LIKE " + m_conn.Literal(PaymentReference);
}
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(ItemSerialNumber) && (((ItemSerialNumber) is null) ? 0 : Convert.ToString(ItemSerialNumber).Length) > 0)
{
vResult = m_conn.Query("SELECT TOP 1 ID FROM ItemNumbers WHERE Number=?", new Exact.DataLayer.EdlObject(ItemSerialNumber), Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult))
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
sWhere = sWhere + "BacoDiscussions.ItemNumberID=" + m_conn.Literal(vResult.Data);
}
}
bool bMatchedFields = true;
if (System.String.IsNullOrWhiteSpace(sWhere))
{
bMatchedFields = false;
}
if (Globals.TestArray(m_astrFilterDocType))
{
if (!System.String.IsNullOrWhiteSpace(sWhere))
{
sWhere = sWhere + " AND ";
}
//BR48.097.773 - For Item card -> Attachment, the document type filtering should check again the output of each transaction only
if (TableSourceInvoice == "I")
{
sWhere = sWhere + "((BacoDiscussions.Type IN (" + String.Join(",", m_astrFilterDocType) + ") AND Source = 'S') OR Source <> 'S')";
}
else
{
sWhere = sWhere + "BacoDiscussions.Type IN (" + String.Join(",", m_astrFilterDocType) + ")";
}
}
//Not allow add existing if no matched fields
bAllowAddExisting = false;
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultOrderNumber) && (((DefaultOrderNumber) is null) ? 0 : Convert.ToString(DefaultOrderNumber).Length) > 0);
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultOurRef) && (((DefaultOurRef) is null) ? 0 : Convert.ToString(DefaultOurRef).Length) > 0);
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultYourRef) && (((DefaultYourRef) is null) ? 0 : Convert.ToString(DefaultYourRef).Length) > 0);
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultResource) && (((DefaultResource) is null) ? 0 : Convert.ToString(DefaultResource).Length) > 0);
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultProjectNumber) && (((DefaultProjectNumber) is null) ? 0 : Convert.ToString(DefaultProjectNumber).Length) > 0);
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultItem) && (((DefaultItem) is null) ? 0 : Convert.ToString(DefaultItem).Length) > 0);
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultItemSerialNumber) && (((DefaultItemSerialNumber) is null) ? 0 : Convert.ToString(DefaultItemSerialNumber).Length) > 0);
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultPaymentReference) && (((DefaultPaymentReference) is null) ? 0 : Convert.ToString(DefaultPaymentReference).Length) > 0);
bAllowAddExisting = bAllowAddExisting || (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(DefaultEntryKey) && (((DefaultEntryKey) is null) ? 0 : Convert.ToString(DefaultEntryKey).Length) > 0);
//BR 09.233.667: Use AttachmentID if no matched fields or account
string sSql2 = "";
string sCondition = "";
if (!bMatchedFields)
{
bAllowAddNew = false;
//UPGRADE_WARNING: (1049) Use of Null/IsNull() detected. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1049
if (!Exact.SystemLayer.Common.ConvertHelper.IsNull((Exact.SystemLayer.Common.ConvertHelper.IsEmpty(AttachmentId)) ? DBNull.Value : AttachmentId))
{
sWhere = "ID=" + m_conn.Literal(AttachmentId);
}
else
{
throw new Exact.Exceptions.Globe.ApplicationException2(m_Term.String(20006, "Invalid") + ": " + m_Term.String(26031, "Parameters"));
}
}
else
{
bAllowAddNew = true;
//UPGRADE_WARNING: (1049) Use of Null/IsNull() detected. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1049
if (!Exact.SystemLayer.Common.ConvertHelper.IsNull((Exact.SystemLayer.Common.ConvertHelper.IsEmpty(AttachmentId)) ? DBNull.Value : AttachmentId))
{
//[limh109866][29 JUN 2006]br18.971.461
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(Account))
{
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(OrderNumber) && (((OrderNumber) is null) ? 0 : Convert.ToString(OrderNumber).Length) > 0)
{ //br30.701.256 chon32144 03/06/2009
sWhere = sWhere + " OR (BacoDiscussions.ID=" + m_conn.Literal(AttachmentId) + " AND BacoDiscussions.OrderNumber IS NOT NULL) ";
}
else
{
sWhere = sWhere + " OR BacoDiscussions.ID=" + m_conn.Literal(AttachmentId);
}
}
else
{
//BR 22.857.239 - Tighten the filter WHERE clause, if not unrelated documents will be shown
//UPGRADE_WARNING: (1068) Account of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
vIsCreditor = m_conn.Query("SELECT cicmpy.crdnr, cicmpy.debnr FROM cicmpy WHERE cicmpy.cmp_wwn ='" + Convert.ToString(Account) + "'", null, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vIsCreditor[0]))
{
sWhere = sWhere + " OR BacoDiscussions.ID=" + m_conn.Literal(AttachmentId);
}
else
{
//DEBTOR for Delivery Notes, Confirmation Letters etc
//BR 22.857.239 - Tighten the filter WHERE clause: Added gbkmut.debnr AND gbkmut.bkstnr_sub
//br 25.116.900 - edited the query to put m_Conn.litstring for docnumber to avoid rte becoz of extra" ' "
//BR 39.599.717 - Wrong attachment shown due to same your ref & debnr. Added oorsprong 'A' since following logic only applicable to Delivery Notes, Confirmation
// Exclude all entries created from Financial module.
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(OrderNumber))
{
sSql2 = "SELECT TOP 1 gbkmut.DocAttachmentID FROM gbkmut WHERE gbkmut.oorsprong NOT IN ('F','R','A') AND gbkmut.docnumber =" + m_conn.LitString(DefaultYourRef) + " AND gbkmut.DocAttachmentID <>" + m_conn.Literal(AttachmentId) + " AND gbkmut.debnr=? AND gbkmut.bkstnr_sub=?";
//UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
vDocID = m_conn.Query(sSql2, new Exact.DataLayer.EdlObject[]{vIsCreditor[1], OrderNumber}, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
}
else
{
sSql2 = "SELECT TOP 1 gbkmut.DocAttachmentID FROM gbkmut WHERE gbkmut.oorsprong NOT IN ('X','F','R','A') AND gbkmut.docnumber = " + m_conn.LitString(DefaultYourRef) + " AND gbkmut.DocAttachmentID <>" + m_conn.Literal(AttachmentId) + " AND gbkmut.debnr=? ";
vDocID = m_conn.Query(sSql2, vIsCreditor[1], Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
}
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vDocID))
{
sWhere = sWhere + " OR BacoDiscussions.ID=" + m_conn.Literal(AttachmentId);
}
else
{
//leey267218 CBR78.722.349 - Attached documents to invoice: Not all show up in the screen
//CBR48.811.229 - Wrong delivery note is attached to the sales invoice
sCondition = " OR BacoDiscussions.ID= (CASE BacoDiscussionFixedTypes.TypeID WHEN 12 THEN " + Environment.NewLine +
"(SELECT TOP 1 orhk.DocAttachmentID FROM orhkrg orhk" + Environment.NewLine +
" INNER JOIN frhkrg frhk on frhk.pakbon_nr = orhk.pakbon_nr WHERE frhk.faknr = " + m_conn.Literal(OurRef) + ")" + Environment.NewLine +
" ELSE '" + ((string) vDocID) + "'" + Environment.NewLine +
" END)";
sWhere = sWhere + " OR BacoDiscussions.ID=" + m_conn.Literal(AttachmentId) + sCondition;
//CBR48.811.229 - old code replace by above
//sWhere = sWhere & " OR BacoDiscussions.ID=" & m_conn.Literal(AttachmentId) & " OR BacoDiscussions.ID='" & vDocID & "'"
}
}
}
}
}
//chan221476 (10-02-2009) [BR29.584.764] - Variable is not empty when pass in from invoice/invoice history so as to show attachment link in case group invoice
string sGroupOrder = "";
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(TableSourceInvoice) && (((TableSourceInvoice) is null) ? 0 : Convert.ToString(TableSourceInvoice).Length) > 0)
{
//BR47.303.798 - Performance tuning : seperate group order from sub query (40% improvement)
//If LCase(Trim(TableSourceInvoice)) = "frkrg" Then
// sWhere = sWhere & " OR (BacoDiscussions.OrderNumber IN ("
// sWhere = sWhere & " SELECT fsg.ordernr FROM frsrg fsg INNER JOIN frkrg fkg ON fkg.fakt_code=fsg.fakt_code AND fkg.volgnr5=fsg.volgnr5"
// sWhere = sWhere & " WHERE fkg.ordernr=" & m_conn.Literal(OrderNumber)
// sWhere = sWhere & " GROUP BY fsg.ordernr"
// sWhere = sWhere & " ) AND BacoDiscussions.OrderNumber<>" & m_conn.Literal(OrderNumber) & ")"
//ElseIf LCase(Trim(TableSourceInvoice)) = "frhkrg" Then
// sWhere = sWhere & " OR (BacoDiscussions.OrderNumber IN ("
// sWhere = sWhere & " SELECT fsg.ordernr FROM frhsrg fsg INNER JOIN frhkrg fkg ON fkg.faknr=fsg.faknr AND fkg.dagbknr=fsg.dagbknr"
// sWhere = sWhere & " WHERE fkg.ordernr=" & m_conn.Literal(OrderNumber)
// sWhere = sWhere & " GROUP BY fsg.ordernr"
// sWhere = sWhere & " ) AND BacoDiscussions.OrderNumber<>" & m_conn.Literal(OrderNumber) & ")"
//End If
if (GetGroupInvoiceOrderNo(TableSourceInvoice, OrderNumber, ref sGroupOrder))
{
sWhere = sWhere + " OR (BacoDiscussions.OrderNumber IN (" + sGroupOrder + ")) ";
}
}
//[limh109866][FC21.820.527]16 MAR 2007
//BR 28.356.242 - Read Setting
if (m_bUseTaxExemptedCert && !System.String.IsNullOrWhiteSpace(StateCode) && !System.String.IsNullOrWhiteSpace(CountryCode))
{
sWhere = sWhere + " AND (TaxExemptStateCertificates.Account = " + m_conn.Literal(Account) +
" AND TaxExemptStateCertificates.StateCode = '" + StateCode + "'" +
" AND TaxExemptStateCertificates.CountryCode = '" + CountryCode + "')";
}
string sFrom = StringsHelper.Replace(GetFrom(), "[WHERE]", sWhere, 1, -1, CompareMethod.Binary);
sSQL = StringsHelper.Replace(sSQL, "[FROM]", sFrom, 1, -1, CompareMethod.Binary);
brwDocuments.SQL = sSQL;
brwDocuments.Refresh();
//'' '-- Construct Query and refresh browser
//'' Select Case GetClause()
//'' Case eAll
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OrderNumber=? AND BacoDiscussions.OurRef=? AND BacoDiscussions.YourRef=? AND BacoDiscussions.cmpwwn=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OrderNumber,BacoDiscussions.OurRef,BacoDiscussions.YourRef,BacoDiscussions.cmpwwn"
//'' .Refresh OrderNumber, OurRef, YourRef, Account
//'' End With
//''
//'' Case eProject
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.ProjectNr=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.ProjectNr"
//'' .Refresh ProjectNumber
//'' End With
//''
//'' Case eResource
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.HumresID=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.HumresID"
//'' .Refresh Resource
//'' End With
//''
//'' Case eItem
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.ItemCode=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.ItemCode"
//'' .Refresh Item
//'' End With
//''
//'' Case eOrderNumberAccount
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OrderNumber=? AND BacoDiscussions.cmpwwn=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OrderNumber,BacoDiscussions.cmpwwn"
//'' .Refresh OrderNumber, Account
//'' End With
//''
//'' Case eOrderNumberYourRefAccount
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OrderNumber=? AND BacoDiscussions.YourRef=? AND BacoDiscussions.cmpwwn=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OrderNumber, BacoDiscussions.YourRef, BacoDiscussions.cmpwwn"
//'' .Refresh OrderNumber, YourRef, Account
//'' End With
//''
//'' Case eOrderNumberOurRefAccount
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OrderNumber=? AND BacoDiscussions.OurRef=? AND BacoDiscussions.cmpwwn=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OrderNumber, BacoDiscussions.OurRef,BacoDiscussions.cmpwwn"
//'' .Refresh OrderNumber, OurRef, Account
//'' End With
//''
//'' Case eOurRefYourRefAccount
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OurRef=? AND BacoDiscussions.YourRef=? AND BacoDiscussions.cmpwwn=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.YourRef, BacoDiscussions.OurRef,BacoDiscussions.cmpwwn"
//'' .Refresh YourRef, OurRef, Account
//'' End With
//''
//'' Case eOurRefAccount
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OurRef=? AND BacoDiscussions.cmpwwn=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OurRef,BacoDiscussions.cmpwwn"
//'' .Refresh OurRef, Account
//'' End With
//''
//'' Case eYourRefAccount
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.YourRef=? AND BacoDiscussions.cmpwwn=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.YourRef,BacoDiscussions.cmpwwn"
//'' .Refresh YourRef, Account
//'' End With
//''
//'' Case eAccount
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.cmpwwn=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.cmpwwn"
//'' .Refresh Account
//'' End With
//''
//'' Case eOrderNumber
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OrderNumber=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OrderNumber"
//'' .Refresh OrderNumber
//'' End With
//''
//'' Case eOrderNumberYourRef
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OrderNumber=? AND BacoDiscussions.YourRef=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OrderNumber, BacoDiscussions.YourRef"
//'' .Refresh OrderNumber, YourRef
//'' End With
//''
//'' Case eOrderNumberOurRef
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OrderNumber=? AND BacoDiscussions.OurRef=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OrderNumber, BacoDiscussions.OurRef"
//'' .Refresh OrderNumber, OurRef
//'' End With
//''
//'' Case eOurRefYourRef
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OurRef=? AND BacoDiscussions.YourRef=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.YourRef, BacoDiscussions.OurRef"
//'' .Refresh YourRef, OurRef
//'' End With
//''
//'' Case eOurRef
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.OurRef=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.OurRef"
//'' .Refresh OurRef
//'' End With
//''
//'' Case eYourRef
//'' sFrom = Replace(GetFrom(), "[WHERE]", "BacoDiscussions.YourRef=?")
//'' sSQL = Replace(sSQL, "[FROM]", sFrom)
//''
//'' With brwDocuments
//'' .Sql = sSQL
//'' .Params = "BacoDiscussions.YourRef"
//'' .Refresh YourRef
//'' End With
//''
//'' Case eNone
//'' '-- No clue what to do
//'' Err.Raise vbObjectError + 2, App.EXEName, m_Term.String(20006, "Invalid") & ": " & m_Term.String(26031, "Parameters")
//'' End Select
//-- Do we have results?
if (bLoaded && brwDocuments.NumRows > 0)
{
brwDocuments.SelectRow(1, true);
brwDocuments.CurrentRow = 1;
//>>BR: 14.556.042-Locking error during adding attachment
ActionBar[(int) aBarButtons.CMD_EDIT].Enabled = true && bEnableButtons;
ActionBar[(int) aBarButtons.CMD_OPEN].Enabled = true;
ActionBar[(int) aBarButtons.CMD_NOTE].Enabled = true && bEnableButtons;
ActionBar[(int) aBarButtons.CMD_DOWNLOAD].Enabled = true;
if (brwDocuments.NumRows == 1)
{
if (bShouldReturnID)
{
//UPGRADE_WARNING: (1068) brwDocuments.Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
NewDocumentID = Convert.ToString(brwDocuments.get_value("BacoDiscussions.ID"));
}
}
}
else
{
ActionBar[(int) aBarButtons.CMD_EDIT].Enabled = false;
ActionBar[(int) aBarButtons.CMD_OPEN].Enabled = false;
ActionBar[(int) aBarButtons.CMD_NOTE].Enabled = false;
ActionBar[(int) aBarButtons.CMD_DOWNLOAD].Enabled = false;
//UPGRADE_WARNING: (1049) Use of Null/IsNull() detected. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1049
if (Exact.SystemLayer.Common.ConvertHelper.IsNull((Exact.SystemLayer.Common.ConvertHelper.IsEmpty(AttachmentId)) ? DBNull.Value : AttachmentId))
{
bShouldReturnID = ReturnIDWhenEmpty;
}
}
ActionBar[(int) aBarButtons.CMD_NEW].Enabled = !ReadOnly;
//BR 09.233.667: Not allow add new if no account or matched fields pass in
//>>BR: 14.556.042-Locking error during adding attachment
ActionBar[(int) aBarButtons.CMD_NEW].Enabled = bAllowAddNew && !ReadOnly && bEnableButtons;
ActionBar[(int) aBarButtons.CMD_EXISTING].Enabled = bAllowAddNew && !ReadOnly && bAllowAddExisting && bEnableButtons;
this.Cursor = Cursors.Default;
//Start CBR 80.967.458
if (m_Comp.GetOpt(GlobalInterfaces.GI_Exact.Crm.DocumentBrowser.Options.OPT_CENTRAL_MASTER_DATA))
{
LoadObjCMDMToolsGeneral();
if (m_bUseCentralData)
{
ActionBar[(int) aBarButtons.CMD_NEW].Enabled = true;
}
}
//End CBR 80.967.458
}
//br34.058.775(simc178002)[29/03/2010]to check if faktuurnr and docnumber pass in are Group Intenal Use (GIU)
private bool GetFromGIU(string sYourRef, string sOurRef)
{
Exact.DataLayer.EdlObject v = null;
if (!System.String.IsNullOrWhiteSpace(sYourRef) && !System.String.IsNullOrWhiteSpace(sOurRef))
{
//UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
v = m_conn.Query("SELECT ID FROM gbkmut WHERE faktuurnr=? AND docnumber=? AND transtype='B' AND transsubtype='B' AND freefield1='I'", new Exact.DataLayer.EdlObject[]{sOurRef, sYourRef}, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(v))
{
return false;
}
else
{
return true;
}
}
else
{
return false;
}
}
private void DisplayNotes()
{
//'tanj42445 - 20101125 - FC 37.043.210 - Trigger notification when update document
Exact.SystemLayer.Interfaces.IConnectivity oESF = new Exact.Entity.Notification.Connectivity();
m_App.ConnectObject(oESF, m_Comp, m_Term);
//'End FC 36.946.408
//UPGRADE_WARNING: (7008) The ProgId could not be found on computer where this application was migrated More Information: https://www.mobilize.net/vbtonet/ewis/ewi7008
Exact.SystemLayer.Interfaces.IExtensionDlg eDlg = (Exact.SystemLayer.Interfaces.IExtensionDlg) new Exact.Win.UI.FipExtNote();
m_App.ConnectObject(eDlg, m_Comp, m_Term);
eDlg.Title = m_Term.String(19582, "Notes");
Exact.DataLayer.EdlObject vntValue = m_conn.Query("SELECT Note FROM BacoDiscussions WHERE ID=?", new Exact.DataLayer.EdlObject(brwDocuments.get_value("ID")), Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
object vntValueOld = vntValue.Data;
if (ReadOnly)
{
object tempRefParam = vntValue.Data;
eDlg.Show(this.Handle, 1, ref tempRefParam);
vntValue = new Exact.DataLayer.EdlObject(tempRefParam);
}
else
{
object tempRefParam2 = vntValue.Data;
eDlg.Show(this.Handle, 0, ref tempRefParam2);
vntValue = new Exact.DataLayer.EdlObject(tempRefParam2);
if (vntValueOld != vntValue)
{
//UPGRADE_TODO: (1069) Error handling statement (On Error Resume Next) was converted to a pattern that might have a different behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1069
//UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
m_conn.Exec("UPDATE BacoDiscussions SET Note=?,ModifiedDate=?,ModifiedBy=? WHERE ID=?", new Exact.DataLayer.EdlObject[]{vntValue, DateTime.Now, m_Comp.User.ID, new Exact.DataLayer.EdlObject(brwDocuments.get_value("ID"))});
//UPGRADE_WARNING: (1068) brwDocuments.Value() of type Variant is being forced to string. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
oESF.NotifyProcessWithBCEdit("BDDocument", "ID", Convert.ToString(brwDocuments.get_value("ID")), Exact.SystemLayer.Interfaces.NotifyAction.naUpdate); //'tanj42445 - 20101125 - FC 37.043.210
m_conn.Commit();
}
brwDocuments.Refresh(); //DBR : 80.088.676
} //'tanj42445 - 20101125 - FC 37.043.210
}
private object DeleteTempFile()
{
if ((((m_TempFile) is null) ? 0 : Convert.ToString(m_TempFile).Length) > 0)
{
try
{
//UPGRADE_WARNING: (2081) DeleteFile has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
File.Delete(m_TempFile);
}
catch
{
}
}
return null;
}
private void InitObserver()
{
//-- Set up observer
if (m_Factory is null)
{
m_Factory = Exact.SystemLayer.SubjectRx.SubjectFactory.Instance;
m_Observer = (Exact.SystemLayer.Interfaces.IObserver) brwDocuments;
m_Subject = (Exact.SystemLayer.SubjectRx.Subject) m_Factory.CreateDatabaseSubject(m_Comp.ServerName, m_Comp.DatabaseName, "BacoDiscussions");
m_Subject.Attach(m_Observer);
}
}
private void TerminateObserver()
{
//-- Detach observer
m_Subject.Detach(m_Observer);
(m_Observer as IDisposable)?.Dispose();
m_Observer = null;
(m_Subject as IDisposable)?.Dispose();
m_Subject = null;
m_Factory = null;
}
//Chan31941, 12-Oct-04 [12.654.658]
//method which prepares standard e-Synergy document to be shown including standard inserted pictures
////modified from method DownloadInsertedImages (MDocuments.dll)
private void DownloadInsertedImages()
{
int intFileHandle = 0;
int lngStartPosition = 0;
int lngGUIDPosition = 0;
int lngEndPosition = 0;
string vTempFileName = "";
string vGUID = "";
Exact.DataLayer.EdlObject vFilename = null;
Exact.DataLayer.EdlObject vImage = null;
bool bImage = false;
Object clsFileSystem = null;
byte[] aByte = null;
try
{
//check if any images
//UPGRADE_WARNING: (1059) Code was upgraded to use UpgradeHelpers.Helpers.StringsHelper.ByteArrayToString() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
lngStartPosition = (StringsHelper.ByteArrayToString(m_DocumentBody).IndexOf("BacoDiscussionsBlob.asp?") + 1);
//start getting images (if found any)
while (lngStartPosition > 0)
{
//find GUID position
//UPGRADE_WARNING: (2065) Long method Strings.InStr has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2065
//UPGRADE_WARNING: (1059) Code was upgraded to use UpgradeHelpers.Helpers.StringsHelper.ByteArrayToString() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
lngGUIDPosition = StringsHelper.ByteArrayToString(m_DocumentBody).IndexOf("{");
//if ok then find end position
if (lngGUIDPosition > 0)
{
lngGUIDPosition++;
//UPGRADE_WARNING: (2065) Long method Strings.InStr has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2065
//UPGRADE_WARNING: (1059) Code was upgraded to use UpgradeHelpers.Helpers.StringsHelper.ByteArrayToString() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
lngEndPosition = StringsHelper.ByteArrayToString(m_DocumentBody).IndexOf("}");
//if ok then continue with action
if (lngEndPosition > 0)
{
//extract GUID first
//UPGRADE_WARNING: (1059) Code was upgraded to use UpgradeHelpers.Helpers.StringsHelper.ByteArrayToString() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
vGUID = StringsHelper.ByteArrayToString(m_DocumentBody).Substring(lngGUIDPosition - 1, Math.Min(lngEndPosition - lngGUIDPosition, StringsHelper.ByteArrayToString(m_DocumentBody).Length - (lngGUIDPosition - 1)));
//get picture from database
vImage = m_conn.Query("SELECT Picture FROM BacoDiscussionPictures WHERE ID = ?", vGUID, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
//get image type from database
vFilename = m_conn.Query("SELECT Filename FROM BacoDiscussionPictures WHERE ID = ?", vGUID, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
bImage = true;
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vImage) || Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vFilename))
{
bImage = false;
}
if (bImage)
{
//generate tempfile name
clsFileSystem = new Object();
vTempFileName = Path.GetFileNameWithoutExtension(Path.GetFileName(Path.GetTempFileName())) + "." + Path.GetExtension((string) vFilename).Substring(1);
vTempFileName = (new DirectoryInfo(Path.GetTempPath())).FullName + "\\" + vTempFileName;
//save image to temporary file
aByte = (byte[]) ArraysHelper.DeepCopy(vImage);
intFileHandle = FileSystem.FreeFile();
FileSystem.FileOpen(intFileHandle, vTempFileName, OpenMode.Binary, OpenAccess.Default, OpenShare.Default, -1);
//UPGRADE_WARNING: (2080) Put was upgraded to FilePutObject and has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2080
FileSystem.FilePutObject(intFileHandle, aByte, 0);
FileSystem.FileClose(intFileHandle);
//replace hyperlink in original document
//UPGRADE_WARNING: (1059) Code was upgraded to use UpgradeHelpers.Helpers.StringsHelper.ByteArrayToString() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
//UPGRADE_WARNING: (1059) Code was upgraded to use System.Text.UnicodeEncoding.Unicode.GetBytes() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
m_DocumentBody = UnicodeEncoding.Unicode.GetBytes(StringsHelper.Replace(StringsHelper.ByteArrayToString(m_DocumentBody), StringsHelper.ByteArrayToString(m_DocumentBody).Substring(lngStartPosition - 1, Math.Min(lngEndPosition - lngStartPosition + 1, StringsHelper.ByteArrayToString(m_DocumentBody).Length - (lngStartPosition - 1))), "\"" + vTempFileName + "\"", 1, -1, CompareMethod.Binary));
//go for next image
//UPGRADE_WARNING: (1059) Code was upgraded to use UpgradeHelpers.Helpers.StringsHelper.ByteArrayToString() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
lngStartPosition = (StringsHelper.ByteArrayToString(m_DocumentBody).IndexOf("BacoDiscussionsBlob.asp?") + 1);
}
else
{
//UPGRADE_WARNING: (2065) Long method Strings.InStr has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2065
//UPGRADE_WARNING: (1059) Code was upgraded to use UpgradeHelpers.Helpers.StringsHelper.ByteArrayToString() which may not have the same behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1059
lngStartPosition = StringsHelper.ByteArrayToString(m_DocumentBody).IndexOf("BacoDiscussionsBlob.asp?");
}
}
else
{
lngStartPosition = 0;
}
}
else
{
lngStartPosition = 0;
}
}
}
catch (System.Exception catchedException)
{
Exact.Exceptions.Globe.BaseGlobeException excep = Exact.Exceptions.Utils.ExceptionBuilder.Build(catchedException);
//PBI 112801: Applocale Set application title
//UPGRADE_WARNING: (2081) Err.Number has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
m_App.Message(this.Handle, m_Term.String(8335, "Unknown error") + ": (" + ") - " + excep.Message, m_oTitle.GetTitle(this));
}
}
//Chan31941, [27-Jul-2006] [19.759.784]
private bool IsDocumentExists()
{
bool result = false;
Exact.DataLayer.EdlObject vResult = m_conn.Query("SELECT 1 FROM BacoDiscussions WHERE ID =?", new Exact.DataLayer.EdlObject(brwDocuments.get_value("BacoDiscussions.ID")), Exact.DataLayer.EdlQueryValueOptions.edlNoNulls);
if (Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vResult))
{
result = true;
}
string sMessage = m_App.get_Term().String(11337, "Not found") + ": " + m_App.get_Term().String(7226, "Document") + Environment.NewLine +
m_App.get_Term().String(13449, "The data on screen has been deleted by another user.");
//Display message
if (result)
{
//PBI 112801: Applocale Set application title
m_App.Message(this.Handle, sMessage, m_oTitle.GetTitle(this));
brwDocuments.Refresh();
}
return result;
}
private void ReadSettings()
{
iSet = (Exact.SystemLayer.Interfaces.ISettings) m_App.DefaultCompany;
//UPGRADE_WARNING: (1068) iSet.Setting() of type Variant is being forced to bool. More Information: https://www.mobilize.net/vbtonet/ewis/ewi1068
m_bUseTaxExemptedCert = Convert.ToBoolean(iSet.Setting("eaccount\\UseTaxExemptedCert,b", false));
iSet = null;
}
//Start CBR 80.967.458
private void LoadObjCMDMToolsGeneral()
{
if (m_oCMDMTools is null)
{
m_oCMDMTools = GlobalInterfaces.Factory.CreateInstance<GlobalInterfaces.GI_Exact.Cmdm.Tools.IclsGeneral>();
m_App.ConnectObject(m_oCMDMTools, m_Comp, m_Term);
m_oCMDMTools.Topic = gsCMDMTopicAccount;
}
m_bUseCentralData = m_oCMDMTools.UseCentralMasterData;
m_oCMDMTools = null;
}
//End CBR 80.967.458
//BR47.303.798 - Performance tuning : seperate group order from sub query (40% improvement)
private bool GetGroupInvoiceOrderNo(string sTable, string sOrderNr, ref string sGroupOrder)
{
bool result = false;
string sSQL = "";
Exact.DataLayer.EdlObject vData = null;
try
{
if (TableSourceInvoice.Trim().ToLower() == "frkrg")
{
sSQL = "SELECT DISTINCT fsg.ordernr FROM frsrg fsg INNER JOIN frkrg fkg ON fkg.fakt_code=fsg.fakt_code AND fkg.volgnr5=fsg.volgnr5" + Environment.NewLine;
sSQL = sSQL + " WHERE fkg.ordernr= ? AND fsg.ordernr <> ? AND fsg.ordernr IS NOT NULL";
}
else if (TableSourceInvoice.Trim().ToLower() == "frhkrg")
{
sSQL = "SELECT DISTINCT fsg.ordernr FROM frhsrg fsg INNER JOIN frhkrg fkg ON fkg.faknr=fsg.faknr AND fkg.dagbknr=fsg.dagbknr" + Environment.NewLine;
sSQL = sSQL + " WHERE fkg.ordernr= ? AND fsg.ordernr <> ? AND fsg.ordernr IS NOT NULL";
}
//UPGRADE_WARNING: (2081) Array has a new behavior. More Information: https://www.mobilize.net/vbtonet/ewis/ewi2081
vData = m_conn.Query(sSQL, new Exact.DataLayer.EdlObject[]{sOrderNr, sOrderNr}, Exact.DataLayer.EdlQueryValueOptions.edlNoNulls | Exact.DataLayer.EdlQueryValueOptions.edlForce2dim);
if (!Exact.SystemLayer.Common.ConvertHelper.IsEmpty(vData))
{
int tempForEndVar = vData.GetUpperBound(0) + 1;
for (int l = vData.GetLowerBound(0) + 1; l <= tempForEndVar; l++)
{
if ((((((string) vData[l - 1]).Trim()) is null) ? 0 : Convert.ToString(((string) vData[l - 1]).Trim()).Length) > 0)
{
if ((((sGroupOrder) is null) ? 0 : Convert.ToString(sGroupOrder).Length) > 0)
{
sGroupOrder = sGroupOrder + ",";
}
sGroupOrder = sGroupOrder + m_conn.LitString((string) vData[l - 1]);
}
}
}
if ((((sGroupOrder) is null) ? 0 : Convert.ToString(sGroupOrder).Trim().Length) > 0)
{
result = true;
}
}
catch
{
result = false;
}
return result;
}
}
}