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.

126 lines
4.1 KiB

using OnDoc.Klassen;
using Syncfusion.Pdf.Graphics;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Data;
using System.Diagnostics;
using System.Linq;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using System.Web.UI;
using System.Windows.Forms;
using Windows.UI.Core.Preview;
namespace OnDoc.Helper
{
public class Security
{
DataTable secdata = new DataTable();
public void set_security_general(System.Windows.Forms.Control c)
{
Database.DB db = new Database.DB(AppParams.connectionstring);
db.Get_Tabledata("select * from ondoc_funktionen where aktiv=1", false, true);
secdata = db.dsdaten.Tables[0];
db.Get_Tabledata("select * from ondoc_funktionen_mitarbeiter where aktiv=1 and tgnummer='"+AppParams.currenttgnummer+"'", false, true);
foreach (System.Data.DataRow dr in db.dsdaten.Tables[0].Rows)
{
foreach (System.Data.DataRow dr1 in secdata.Rows)
{
if (dr1["id"].ToString() == dr["ondoc_funktion_id"].ToString())
{
dr1.Delete();
}
}
}
secdata.AcceptChanges();
foreach (System.Windows.Forms.Control control in c.Controls)
{
Type typ = control.GetType();
//Console.WriteLine(typ.Name);
if (typ.Name == "Ribbon")
{
Ribbon tmpribbon = (Ribbon)control;
foreach (RibbonTab tab in tmpribbon.Tabs)
{
switch (Update_Item(tab, tab.Name)) { case 1: tab.Enabled = false; break; case 2: tab.Visible = false; break; default:break; } ;
foreach (RibbonPanel panel in tab.Panels)
{
switch (Update_Item(panel,panel.Name)) { case 1: panel.Enabled = false; break; case 2: panel.Visible = false; break; default: break; };
foreach (RibbonItem item in panel.Items)
{
switch (Update_Item(item, item.Name)) { case 1: item.Enabled = false; break; case 2: item.Visible = false; break; default: break; };
}
}
}
}
if (typ.Name == "Label")
{
if (typ.Name == "lblToApprove")
{
Label lbl = (Label)control;
}
}
get_all_controls(control);
}
}
private int Update_Item(object sender, string name)
{
foreach (DataRow dr in secdata.Rows)
{
if (dr["Objectname"].ToString() == name)
{
switch (dr["ObjektStatus"].ToString())
{
case "1":
return 1;
break;
case "2":
return 2;
break;
case "3":
return 3;
break;
default:
return 0;
break;
}
}
}
return 0;
}
public void get_all_controls(System.Windows.Forms.Control c)
{
foreach (System.Windows.Forms.Control subc in c.Controls)
{
Type typ = c.GetType();
Console.WriteLine(typ.Name);
if (typ.Name == "Label")
{
if (typ.Name== "lblToApprove")
{
Label lbl = (Label)subc;
}
Ribbon tmpribbon = (Ribbon)c;
}
get_all_controls(subc);
}
}
}
}