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
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);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
}
|
|
}
|