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.

129 lines
4.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;
using System.Collections;
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);
if (partnerliste.Rows.Count < 1) { return partnerliste; }
string selectstring = "";
if (saldiert == false)
{
selectstring = " saldiert = false ";
}
if (!personendokument && !bpdokument)
{
try {
DataRow[] rowsToKeep = partnerliste.Select(selectstring);
DataTable tempDataTable = rowsToKeep.CopyToDataTable();
partnerliste.Clear();
partnerliste.Merge(tempDataTable);
tempDataTable.Dispose();
}catch
{
partnerliste.Rows.Clear();
}
} 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 partnerderperson(int partnernr, int fnkt)
{
string result = "";
DB db = new DB(Connectionstring);
db.clear_parameter();
db.add_parameter("@query", partnernr.ToString());
db.add_parameter("@table", "dbo.partner");
db.add_parameter("@anz", "5");
db.add_parameter("@fnkt", fnkt.ToString());
partnerliste = db.Get_Tabledata("sp_partner_search", true, false);
return partnerliste;
//if (db.dsdaten.Tables[0].Rows.Count > 0)
//{
// result=db.dsdaten.Tables[0].Rows[0][0].ToString();
//}
//db = null;
//return result;
}
public static DataTable get_partnerliste() { return partnerliste; }
}
}