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.
452 lines
19 KiB
452 lines
19 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using Syncfusion.WinForms.Controls.Styles;
|
|
using Syncfusion.Windows.Forms.Tools;
|
|
using Syncfusion.WinForms.Controls;
|
|
using Syncfusion.WinForms.DataGrid;
|
|
using Syncfusion.WinForms.DataGrid.Interactivity;
|
|
using OnDoc.Klassen;
|
|
using System.Data.SqlClient;
|
|
using Database;
|
|
using System.Threading;
|
|
using static System.Net.Mime.MediaTypeNames;
|
|
using System.IO;
|
|
using System.Net;
|
|
using Windows.System.Update;
|
|
using Syncfusion.Windows.Forms;
|
|
using OnDoc.Helper;
|
|
using Windows.Phone.ApplicationModel;
|
|
using System.Net.Http;
|
|
using Syncfusion.Office;
|
|
using Newtonsoft.Json;
|
|
|
|
namespace OnDoc.Diverses
|
|
{
|
|
public partial class MitarbeiterProfil : SfForm
|
|
{
|
|
private int mitarbeiternr = 0;
|
|
private bool onLoad = true;
|
|
private string tgnummer = "";
|
|
|
|
public MitarbeiterProfil()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
public MitarbeiterProfil(int Mitarbeiternr)
|
|
{
|
|
InitializeComponent();
|
|
mitarbeiternr = Mitarbeiternr;
|
|
}
|
|
|
|
private void MitarbeiterProfil_Load(object sender, EventArgs e)
|
|
{
|
|
|
|
refresh_profile();
|
|
ribbonTab1_ActiveChanged(sender, e);
|
|
refresh_unterschriften_team();
|
|
onLoad = false;
|
|
lbprofile.SelectedIndex = 0;
|
|
|
|
}
|
|
|
|
private void refresh_profile()
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select * from profil where aktiv=1 and mitarbeiternr=" + mitarbeiternr.ToString(), false, true);
|
|
lbprofile.DataSource = db.dsdaten.Tables[0];
|
|
lbprofile.DisplayMember = "Bezeichnung";
|
|
lbprofile.ValueMember = "profilnr";
|
|
db = null;
|
|
}
|
|
|
|
private void refresh_unterschriften_team()
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.clear_parameter();
|
|
db.Get_Tabledata("SP_Dokumentbearbeitung_Mitarbeiter", true, false);
|
|
cbboxUnterschriftLinks.DataSource = db.dsdaten.Tables[0];
|
|
cbboxUnterschriftLinks.DisplayMember = "name";
|
|
cbboxUnterschriftLinks.ValueMember = "mitarbeiternr";
|
|
cbboxUnterschriftRechts.DataSource = db.dsdaten.Tables[0];
|
|
cbboxUnterschriftRechts.DisplayMember = "name";
|
|
cbboxUnterschriftRechts.ValueMember = "mitarbeiternr";
|
|
db.clear_parameter();
|
|
db.add_parameter("@profilnr", 0.ToString());
|
|
db.add_parameter("@mitarbeiternr", mitarbeiternr.ToString());
|
|
db.Get_Tabledata("sp_dokumentbearbeitung_team", true, false);
|
|
cbboxTeam.DataSource = null;
|
|
cbboxTeam.DataSource = db.dsdaten.Tables[0];
|
|
cbboxTeam.ValueMember = "teamnr";
|
|
cbboxTeam.DisplayMember = "bezeichnung";
|
|
db = null;
|
|
}
|
|
private void RibbonButtonExit_Click(object sender, EventArgs e)
|
|
{
|
|
this.Close();
|
|
}
|
|
|
|
private void lbprofile_SelectedValueChanged(object sender, EventArgs e)
|
|
{
|
|
if (onLoad) { return; }
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select * from profil where profilnr=" + lbprofile.SelectedValue, false, true);
|
|
cbboxUnterschriftLinks.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["Unterschriftlinks"].ToString());
|
|
cbboxUnterschriftRechts.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["Unterschriftrechts"].ToString());
|
|
cbboxTeam.SelectedValue = Convert.ToInt32(db.dsdaten.Tables[0].Rows[0]["team"].ToString());
|
|
cbStandard.Checked = db.dsdaten.Tables[0].Rows[0]["standard"].ToString() == "True";
|
|
txtbezeichnung.Text = db.dsdaten.Tables[0].Rows[0]["bezeichnung"].ToString();
|
|
db = null;
|
|
}
|
|
|
|
private void btnSave_Click(object sender, EventArgs e)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
if (cbStandard.Checked)
|
|
{
|
|
db.Exec_SQL("Update profil set standard=0 where mitarbeiternr=" + mitarbeiternr.ToString());
|
|
db.Exec_SQL("Update profil set bezeichnung='" + txtbezeichnung.Text + "', unterschriftlinks=" + cbboxUnterschriftLinks.SelectedValue.ToString() + ", unterschriftrechts=" + cbboxUnterschriftRechts.SelectedValue.ToString() + ", team=" + cbboxTeam.SelectedValue.ToString() + " ,standard=1 where profilnr=" + lbprofile.SelectedValue.ToString());
|
|
}
|
|
db.Exec_SQL("Update profil set bezeichnung='" + txtbezeichnung.Text + "',unterschriftlinks=" + cbboxUnterschriftLinks.SelectedValue.ToString() + ", unterschriftrechts=" + cbboxUnterschriftRechts.SelectedValue.ToString() + ", team=" + cbboxTeam.SelectedValue.ToString() + " where profilnr=" + lbprofile.SelectedValue.ToString());
|
|
db = null;
|
|
|
|
}
|
|
|
|
private void ribbonButtonSave_Click(object sender, EventArgs e)
|
|
{
|
|
int saveselected = Convert.ToInt32(lbprofile.SelectedValue);
|
|
DB db = new DB(AppParams.connectionstring);
|
|
if (cbStandard.Checked)
|
|
{
|
|
db.Exec_SQL("Update profil set standard=0 where mitarbeiternr=" + mitarbeiternr.ToString());
|
|
db.Exec_SQL("Update profil set bezeichnung='" + txtbezeichnung.Text + "', unterschriftlinks=" + cbboxUnterschriftLinks.SelectedValue.ToString() + ", unterschriftrechts=" + cbboxUnterschriftRechts.SelectedValue.ToString() + ", team=" + cbboxTeam.SelectedValue.ToString() + " ,standard=1 where profilnr=" + lbprofile.SelectedValue.ToString());
|
|
}
|
|
db.Exec_SQL("Update profil set bezeichnung='" + txtbezeichnung.Text + "',unterschriftlinks=" + cbboxUnterschriftLinks.SelectedValue.ToString() + ", unterschriftrechts=" + cbboxUnterschriftRechts.SelectedValue.ToString() + ", team=" + cbboxTeam.SelectedValue.ToString() + " where profilnr=" + lbprofile.SelectedValue.ToString());
|
|
//db.Exec_SQL("Update mitarbeiter set name='" + txtName.Text + "', vorname='" + txtVorname.Text + "', email='" + txtmail.Text + "', telefon='" + txttelefon.Text + "' where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString());
|
|
//db.Exec_SQL("Update mitarbeiter set fax='" + txtfax.Text + "', unterschrift_text='" + txtunterschrift.Text + "', funktion='" + txtfunktion.Text + "', mutiert_am=getdate(), mutierer=" + AppParams.CurrentMitarbeiter.ToString() + " where mitarbeiternr = " + AppParams.CurrentMitarbeiter.ToString());
|
|
db = null;
|
|
refresh_profile();
|
|
lbprofile.SelectedValue = saveselected;
|
|
}
|
|
|
|
private void ribbonButtonDelete_Click(object sender, EventArgs e)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
if (cbStandard.Checked)
|
|
{
|
|
MessageBox.Show("Das Standardprofil kann nicht gelöscht werden.", "Profil löschen", MessageBoxButtons.OK, MessageBoxIcon.Error);
|
|
}
|
|
else
|
|
{
|
|
db.Exec_SQL("Update profil set aktiv=0 where profilnr=" + lbprofile.SelectedValue.ToString());
|
|
}
|
|
db = null;
|
|
refresh_profile();
|
|
lbprofile.SelectedIndex = 0;
|
|
}
|
|
|
|
private void ribbonButtonNew_Click(object sender, EventArgs e)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("Select * from profil where profilnr=0", false, true);
|
|
|
|
int newkey = Convert.ToInt32(db.get_dbkey("Profil").ToString());
|
|
|
|
|
|
db.dsdaten.Tables[0].Rows[0]["PROFILnr"] = newkey;
|
|
db.dsdaten.Tables[0].Rows[0]["Mitarbeiternr"] = AppParams.CurrentMitarbeiter;
|
|
db.dsdaten.Tables[0].TableName = "Profil";
|
|
var res = db.InsertDataRow(db.dsdaten.Tables[0].Rows[0], AppParams.connectionstring);
|
|
//SqlCommand sqlq = db.CreateInsertCommand(db.dsdaten.Tables[0].Rows[0]);
|
|
//db.InsertDataRow(sqlq);
|
|
|
|
//string sql1 = db.BuildAllFieldsSQL(db.dsdaten.Tables[0]);
|
|
//MessageBox.Show(sql1);
|
|
//string sql = db.BuildInsertSQL(db.dsdaten.Tables[0]);
|
|
//MessageBox.Show(sql);
|
|
//db.Exec_SQL(sql);
|
|
db = null; ;
|
|
refresh_profile();
|
|
lbprofile.SelectedValue = newkey;
|
|
|
|
}
|
|
|
|
private void ribbonButtonNew_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void MitarbeiterProfil_Activated(object sender, EventArgs e)
|
|
{
|
|
|
|
}
|
|
|
|
private void ribbonTab1_ActiveChanged(object sender, EventArgs e)
|
|
{
|
|
GrpBoxProfile.Dock = DockStyle.Left;
|
|
GrpBoxProfile.Visible = true;
|
|
GrpBoxDetails.Dock = DockStyle.Fill;
|
|
GrpBoxDetails.Visible = true;
|
|
GrpBoxMitarbeiter.Visible = false;
|
|
}
|
|
|
|
private void ribbonTab2_ActiveChanged(object sender, EventArgs e)
|
|
{
|
|
GrpBoxProfile.Visible = false;
|
|
GrpBoxDetails.Visible = false;
|
|
GrpBoxMitarbeiter.Visible = true;
|
|
GrpBoxMitarbeiter.Dock = DockStyle.Fill;
|
|
DB db = new DB(AppParams.connectionstring);
|
|
db.Get_Tabledata("select * from mitarbeiter where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString(), false, true);
|
|
if (db.dsdaten.Tables[0].Rows.Count > 0)
|
|
{
|
|
try {
|
|
tgnummer = db.dsdaten.Tables[0].Rows[0]["tgnummer"].ToString();
|
|
string unterschrift = get_unterschrift(db.dsdaten.Tables[0].Rows[0]["tgnummer"].ToString());
|
|
|
|
string ss = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(unterschrift);
|
|
MemoryStream mssign = new MemoryStream(Convert.FromBase64String(ss));
|
|
System.Drawing.Image img = System.Drawing.Image.FromStream(mssign);
|
|
pictureBox1.Image = img;
|
|
mssign.Close();
|
|
mssign.Dispose();
|
|
|
|
|
|
}
|
|
catch { }
|
|
txtName.Text = db.dsdaten.Tables[0].Rows[0]["name"].ToString();
|
|
txtVorname.Text= db.dsdaten.Tables[0].Rows[0]["vorname"].ToString();
|
|
txtmail.Text = db.dsdaten.Tables[0].Rows[0]["email"].ToString();
|
|
txttelefon.Text = db.dsdaten.Tables[0].Rows[0]["telefon"].ToString();
|
|
txtfax.Text = db.dsdaten.Tables[0].Rows[0]["fax"].ToString();
|
|
txtunterschrift.Text = db.dsdaten.Tables[0].Rows[0]["unterschrift_text"].ToString();
|
|
txtfunktion.Text = db.dsdaten.Tables[0].Rows[0]["funktion"].ToString();
|
|
chkOndocMails.Checked = Convert.ToBoolean(db.dsdaten.Tables[0].Rows[0]["mailempfang"]) == true;
|
|
db = null;
|
|
// System.Drawing.Image image = System.Drawing.Image.FromFile(@"E:\Software-Projekte\OnDoc\Images\download.png");
|
|
//this.pictureBox1.Image = image;
|
|
}
|
|
}
|
|
|
|
private string get_unterschrift(string MaNr)
|
|
{
|
|
|
|
string URL = AppParams.RESTURI + "API/GetUnterschriftAsBase64ByMitarbeiternr?MaNr=" + AppParams.CurrentMitarbeiter.ToString()+ "&ImageWith=-1";
|
|
|
|
HttpWebRequest webRequest = HttpWebRequest.Create(URL) as HttpWebRequest;
|
|
webRequest.Method = WebRequestMethods.Http.Get;
|
|
webRequest.Headers["Authorization"] = "Bearer " + AppParams.apikey;
|
|
try
|
|
{
|
|
using (HttpWebResponse response = webRequest.GetResponse() as HttpWebResponse)
|
|
{
|
|
if (response.StatusCode == HttpStatusCode.OK)
|
|
{
|
|
StreamReader reader = new StreamReader(response.GetResponseStream());
|
|
string responseContent = reader.ReadToEnd();
|
|
|
|
return responseContent;
|
|
}
|
|
else
|
|
{
|
|
Logging.Logging.Error(URL + ": " + response.StatusCode.ToString() + " / " + response.StatusDescription, "Clinet - DokList GetDocument", "");
|
|
return "";
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
return "";
|
|
}
|
|
}
|
|
protected bool validData;
|
|
string path;
|
|
protected System.Drawing.Image image;
|
|
protected Thread getImageThread;
|
|
private void pictureBox1_DragEnter(object sender, DragEventArgs e)
|
|
{
|
|
string filename;
|
|
validData = GetFilename(out filename, e);
|
|
if (validData)
|
|
{
|
|
path = filename;
|
|
getImageThread = new Thread(new ThreadStart(LoadImage));
|
|
getImageThread.Start();
|
|
e.Effect = DragDropEffects.Copy;
|
|
}
|
|
else
|
|
e.Effect = DragDropEffects.None;
|
|
}
|
|
private bool GetFilename(out string filename, DragEventArgs e)
|
|
{
|
|
bool ret = false;
|
|
filename = String.Empty;
|
|
if ((e.AllowedEffect & DragDropEffects.Copy) == DragDropEffects.Copy)
|
|
{
|
|
Array data = ((IDataObject)e.Data).GetData("FileDrop") as Array;
|
|
if (data != null)
|
|
{
|
|
if ((data.Length == 1) && (data.GetValue(0) is String))
|
|
{
|
|
filename = ((string[])data)[0];
|
|
string ext = System.IO.Path.GetExtension(filename).ToLower();
|
|
if ((ext == ".jpg") || (ext == ".png") || (ext == ".bmp"))
|
|
{
|
|
ret = true;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return ret;
|
|
}
|
|
protected void LoadImage()
|
|
|
|
{
|
|
image = new Bitmap(path);
|
|
}
|
|
|
|
private void pictureBox1_DragDrop(object sender, DragEventArgs e)
|
|
{
|
|
{
|
|
if (validData)
|
|
{
|
|
while (getImageThread.IsAlive)
|
|
{
|
|
System.Windows.Forms.Application.DoEvents();
|
|
Thread.Sleep(0);
|
|
}
|
|
pictureBox1.Image = image;
|
|
}
|
|
}
|
|
}
|
|
|
|
private void RibbonMitarbeiterButtonSave_Click(object sender, EventArgs e)
|
|
{
|
|
DB db = new DB(AppParams.connectionstring);
|
|
|
|
db.Exec_SQL("Update mitarbeiter set name='" + txtName.Text + "', vorname='" + txtVorname.Text + "', email='" + txtmail.Text + "', telefon='" + txttelefon.Text + "' where mitarbeiternr=" + AppParams.CurrentMitarbeiter.ToString());
|
|
db.Exec_SQL("Update mitarbeiter set fax='" + txtfax.Text + "', unterschrift_text='" + txtunterschrift.Text + "', funktion='" + txtfunktion.Text + "', mutiert_am=getdate(), mutierer=" + AppParams.CurrentMitarbeiter.ToString() + " where mitarbeiternr = " + AppParams.CurrentMitarbeiter.ToString());
|
|
int mailempfang = 0;
|
|
if (chkOndocMails.Checked) { mailempfang = 1; }
|
|
db.Exec_SQL("Update mitarbeiter set mailempfang=" + mailempfang.ToString() + " where mitarbeiternr = " + AppParams.CurrentMitarbeiter.ToString());
|
|
db = null;
|
|
}
|
|
|
|
private void btnDeleteImage_Click(object sender, EventArgs e)
|
|
{
|
|
sign1.ClearSignature();
|
|
}
|
|
|
|
private void btnSaveSignature_Click(object sender, EventArgs e)
|
|
{
|
|
if (sign1.IsValid)
|
|
{
|
|
string filename = AppParams.tempdir + AppParams.currenttgnummer + ".jpg";
|
|
if (System.IO.File.Exists(filename))
|
|
{
|
|
System.IO.File.Delete(filename);
|
|
}
|
|
|
|
if (MessageBox.Show("Unterschrif-Bild speichern ('"+AppParams.currenttgnummer+".jpg' ?","Unterschrift speichern", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
|
|
{
|
|
sign1.SignatureBitmap.Save(filename, System.Drawing.Imaging.ImageFormat.Jpeg);
|
|
//FileStream fs = new FileStream(filename, FileMode.Open);
|
|
// upload_img(fs, filename, AppParams.currenttgnummer);
|
|
FileHelper fh = new FileHelper();
|
|
string userimage = fh.Base64FromFile(filename);
|
|
upload_image(userimage, AppParams.currenttgnummer);
|
|
sign1.ClearSignature();
|
|
GrpGetSignature.Visible = false;
|
|
string unterschrift = get_unterschrift(this.tgnummer);
|
|
|
|
string ss = Newtonsoft.Json.JsonConvert.DeserializeObject<string>(unterschrift);
|
|
MemoryStream mssign = new MemoryStream(Convert.FromBase64String(ss));
|
|
System.Drawing.Image img = System.Drawing.Image.FromStream(mssign);
|
|
pictureBox1.Image = img;
|
|
mssign.Close();
|
|
mssign.Dispose();
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public class imageclass
|
|
{
|
|
public string tgnummer { get; set; }
|
|
public string b64 { get; set; }
|
|
|
|
}
|
|
private void upload_image(string unterschrift, string tgnummer)
|
|
{
|
|
Logging.Logging.Debug("Start Save Image", "OnDoc", "");
|
|
string URL = AppParams.RESTURI + "API/SaveSignature";
|
|
string response;
|
|
imageclass ic = new imageclass();
|
|
ic.tgnummer = tgnummer;
|
|
ic.b64= unterschrift;
|
|
string jsonstring = JsonConvert.SerializeObject(ic);
|
|
|
|
WebRequest request;
|
|
|
|
var data = Encoding.UTF8.GetBytes(jsonstring);
|
|
request = WebRequest.Create(URL);
|
|
request.ContentLength = data.Length;
|
|
request.ContentType = "application/json";
|
|
request.Method = "POST";
|
|
request.Headers["Authorization"] = "Bearer " + AppParams.apikey;
|
|
|
|
|
|
try
|
|
{
|
|
Logging.Logging.Debug("Upload Signature " + tgnummer, "OnDoc", "");
|
|
using (Stream requestStream = request.GetRequestStream())
|
|
{
|
|
requestStream.Write(data, 0, data.Length);
|
|
requestStream.Close();
|
|
|
|
using (Stream responseStream = request.GetResponse().GetResponseStream())
|
|
{
|
|
using (var reader = new StreamReader(responseStream))
|
|
{
|
|
response = reader.ReadToEnd();
|
|
}
|
|
}
|
|
}
|
|
|
|
return;
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Logging.Logging.Debug("Upload Signature failed:" + ex.Message, "OnDoc", "");
|
|
return;
|
|
}
|
|
|
|
}
|
|
|
|
private void button3_Click(object sender, EventArgs e)
|
|
{
|
|
GrpGetSignature.Visible = false;
|
|
|
|
}
|
|
|
|
private void button2_Click(object sender, EventArgs e)
|
|
{
|
|
GrpGetSignature.Visible = true;
|
|
}
|
|
|
|
private void label15_Click(object sender, EventArgs e)
|
|
{
|
|
GrpGetSignature.Visible = false;
|
|
}
|
|
}
|
|
}
|
|
|