You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

101 lines
3.6 KiB

using Syncfusion.WinForms.DataGrid.Interactivity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Data;
using Syncfusion.Styles;
using Syncfusion.Windows.Forms.Tools;
using Database;
namespace OnDoc.Klassen
{
public static class clsPartner
{
private static string Connectionstring = "";
public static DataTable partnerliste;
public static string tableleyout { get; set; } = "";
public static void set_connectionstring(string connectionstring)
{
Connectionstring = connectionstring;
}
public static DataTable search_partner(string query, int anzahl, int fnkt, bool personendokument, bool bpdokument, bool saldiert)
{
DB db = new DB(Connectionstring);
try
{
db.clear_parameter();
db.add_parameter("@query", query);
db.add_parameter("@table", "dbo.partner");
db.add_parameter("@anz", anzahl.ToString());
db.add_parameter("@fnkt", fnkt.ToString());
partnerliste = db.Get_Tabledata("sp_partner_search", true, false);
string selectstring = "";
if (saldiert == false)
{
selectstring = " saldiert = false ";
}
if (!personendokument && !bpdokument)
{
DataRow[] rowsToKeep = partnerliste.Select(selectstring);
DataTable tempDataTable = rowsToKeep.CopyToDataTable();
partnerliste.Clear();
partnerliste.Merge(tempDataTable);
tempDataTable.Dispose();
} else { selectstring = selectstring + " and "; }
if (personendokument)
{
try
{
DataRow[] rowsToKeep = partnerliste.Select(selectstring + "nrpar00 > 100000000");
DataTable tempDataTable = rowsToKeep.CopyToDataTable();
partnerliste.Clear();
partnerliste.Merge(tempDataTable);
tempDataTable.Dispose();
}
catch {
partnerliste.Rows.Clear();
}
}
if (bpdokument)
{
try
{
DataRow[] rowsToKeep = partnerliste.Select(selectstring+ "nrpar00 < 100000000");
DataTable tempDataTable = rowsToKeep.CopyToDataTable();
partnerliste.Clear();
partnerliste.Merge(tempDataTable);
tempDataTable.Dispose();
}
catch
{
partnerliste.Rows.Clear();
}
}
//int i = 0;
//foreach (DataColumn dc in partnerliste.Columns)
//{
// dc.SetOrdinal(i);
// i++;
//}
//partnerliste.Columns.Add("Partnerart");
//foreach (System.Data.DataRow row in partnerliste.Rows)
//{
// if (Convert.ToInt32(row[0]) > 999999) { row["Partnerart"] = 2; } else { row["Partnerart"] = 1; }
//}
return partnerliste;
}
finally { db = null; }
}
public static DataTable get_partnerliste() { return partnerliste; }
}
}