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.
176 lines
8.3 KiB
176 lines
8.3 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Linq;
|
|
using System.Net;
|
|
using System.Net.Http;
|
|
using System.Web.Http;
|
|
using DOCGEN;
|
|
using Model;
|
|
using Database;
|
|
using Newtonsoft.Json;
|
|
|
|
|
|
namespace API_NetFramework.Controllers
|
|
{
|
|
public class TestParam
|
|
{
|
|
public string param1 { get; set; }
|
|
public string param2 { get; set; }
|
|
}
|
|
public class DocumentController : ApiController
|
|
{
|
|
|
|
string connectionstring = ConfigurationManager.ConnectionStrings["EDOKAConnectionstring"].ConnectionString;
|
|
[HttpGet]
|
|
[Route("API/GetDocument")]
|
|
public IHttpActionResult GetDocument(string dokid)
|
|
{
|
|
|
|
DOCGEN.DocGet gd = new DocGet(connectionstring);
|
|
clsdok dok = new clsdok("", "", "");
|
|
dok = gd.GetDoc(dokid);
|
|
return Ok(dok);
|
|
}
|
|
|
|
public object pageCollection { get; set; }
|
|
[HttpPost]
|
|
[Route("API/GetDocumentJSONBody")]
|
|
public IHttpActionResult GetDocumentJSONBody([FromBody] TestParam tp)
|
|
{
|
|
//JsonSerializerSettings settings = new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.All, PreserveReferencesHandling = PreserveReferencesHandling.None };
|
|
//var myObject = JsonConvert.DeserializeObject<TestParam>(pageCollection.ToString(), settings);
|
|
|
|
return Ok(tp.param1);
|
|
//return Ok(tp.param1.ToString());
|
|
}
|
|
[Route("API/GetDocumentPDF")]
|
|
[HttpGet]
|
|
public IHttpActionResult GetDocumentPDF(string dokid)
|
|
{
|
|
DOCGEN.DocGet gd = new DocGet(connectionstring);
|
|
clsdok dok = new clsdok("", "", "");
|
|
dok = gd.GetDocAsPDF(dokid);
|
|
dok.extension = "pdf";
|
|
dok.doktype = "P";
|
|
return Ok(dok);
|
|
}
|
|
|
|
[HttpGet]
|
|
[Route("API/SendToOnBase")]
|
|
public IHttpActionResult SendToOnBase(string dokid)
|
|
{
|
|
DB db = new DB(connectionstring);
|
|
db.Get_Tabledata("Select * from dokument where dokumentid='" + dokid + "'",false,true);
|
|
if (db.dsdaten.Tables[0].Rows.Count < 1) {
|
|
db = null;
|
|
return BadRequest("Dokument " + dokid + " not found");
|
|
}
|
|
else
|
|
{
|
|
db.Exec_SQL("Update dokument set loeschgrund='Archiviert' where dokumentid='"+dokid + "'");
|
|
db = null;
|
|
return Ok("Archivierung ausgelöst");
|
|
}
|
|
}
|
|
|
|
[HttpPost]
|
|
[Route("API/GenDoc")]
|
|
public IHttpActionResult GenDoc(string Partnernr, String Dokumenttypnr, string TGCreator="", string TGResp="", string TGUL="", string TGUR="", string Faksimile="", string FoU="")
|
|
{
|
|
if (!(ParamCheck("partnernr",Partnernr))) { return BadRequest("Partnernr " + Partnernr + " ist ungültig"); }
|
|
if (!(ParamCheck("dokumenttyp", Dokumenttypnr))) { return BadRequest("Dokumenttyp " + Dokumenttypnr + " ist ungültig"); }
|
|
if (!(ParamCheck("tgcreator", TGCreator))) { return BadRequest("TGCreator " + TGCreator + " ist ungültig"); }
|
|
if (!(ParamCheck("tgresp", TGResp))) { return BadRequest("TGResp " + TGResp + " ist ungültig"); }
|
|
if (!(ParamCheck("tgul", TGUL))) { return BadRequest("TG Unterschrift links " + TGUL + " ist ungültig"); }
|
|
if (!(ParamCheck("tgul", TGUR))) { return BadRequest("TG Unterschrift rechts " + TGUR + " ist ungültig"); }
|
|
if (!(ParamCheck("faksimile", Faksimile))) { return BadRequest("Parameter Faxsimile " + Faksimile + " ist ungültig"); }
|
|
if (!(ParamCheck("formohneunterschrift", FoU))) { return BadRequest("Parameter Form ohne Unterschrift " + FoU + " ist ungültig"); }
|
|
|
|
Database.DB db = new DB(connectionstring);
|
|
Model.clsdocgendata docgendata = new Model.clsdocgendata();
|
|
|
|
docgendata.partnernr = Partnernr;
|
|
docgendata.inhaberadresse = "";
|
|
docgendata.zustelladresse = "";
|
|
docgendata.dokumenttypnr = Dokumenttypnr;
|
|
docgendata.unterschriftLinks = db.Get_Mitarbeiternr(TGUL).ToString();
|
|
docgendata.unterschriftRehts = db.Get_Mitarbeiternr(TGUR).ToString();
|
|
docgendata.verantwortlich = db.Get_Mitarbeiternr(TGResp).ToString();
|
|
docgendata.ersteller = db.Get_Mitarbeiternr(TGCreator).ToString();
|
|
docgendata.team = db.Get_Teamnr(docgendata.ersteller).ToString();
|
|
docgendata.digitaleunterschrift = false;
|
|
docgendata.frormularOhneUnterschrift = false;
|
|
//docgendata.team = "";
|
|
docgendata.zustaendigkube = db.Get_Mitarbeiternr(TGResp).ToString();
|
|
docgendata.status = "-1";
|
|
docgendata.dokumentdatum = DateTime.Now.ToString("dd.MM.yyyy");
|
|
docgendata.bezeichnung = "";
|
|
docgendata.erstellungsart= Erstellungsart.DokumentAlsPDF;
|
|
docgendata.verantwortlich = db.Get_Mitarbeiternr(TGResp).ToString();
|
|
if (docgendata.verantwortlich=="0") { docgendata.verantwortlich = docgendata.ersteller; }
|
|
|
|
clsDocData dokdata = new clsDocData();
|
|
dokdata.PartnerNr = docgendata.partnernr;
|
|
dokdata.UseEDOKA_Values = "True";
|
|
dokdata.DokumenttypNr = docgendata.dokumenttypnr;
|
|
dokdata.Unterschrift_Links = docgendata.unterschriftLinks;
|
|
dokdata.Unterschrift_Rechts = docgendata.unterschriftRehts;
|
|
dokdata.Verantwortlich = docgendata.verantwortlich;
|
|
dokdata.Team = docgendata.team;
|
|
dokdata.Zustaendig = docgendata.zustaendigkube;
|
|
dokdata.Zustaendig = docgendata.zustaendigkube;
|
|
dokdata.Status = docgendata.status;
|
|
dokdata.Ersteller = docgendata.ersteller;
|
|
dokdata.DokumentDatum = docgendata.dokumentdatum;
|
|
dokdata.Bezeichnung = docgendata.bezeichnung;
|
|
if (docgendata.erstellungsart == Erstellungsart.DokumentAlsPDF) { dokdata.Result_as_PDF = "True"; } else { dokdata.Result_as_PDF = "False"; }
|
|
if (docgendata.digitaleunterschrift == true) { dokdata.As_Faksimile = "True"; } else { dokdata.As_Faksimile = "False"; }
|
|
|
|
string dokumentid = "";
|
|
dokumentid = db.Create_EDOKA_Doc(dokdata);
|
|
|
|
DOCGEN.Generator.DocGenerator_from_EDOKA Generator = new DOCGEN.Generator.DocGenerator_from_EDOKA(this.connectionstring);
|
|
clsdok dok = new clsdok("", "", "");
|
|
dok = Generator.Generate_Doc_EDOKA(dokumentid, ref dokdata);
|
|
db.Save_To_DB(dokumentid, "", dok.dokument);
|
|
return Ok(dokumentid);
|
|
}
|
|
private bool ParamCheck(string ParamType, string ParamValue)
|
|
{
|
|
DB db = new DB(connectionstring);
|
|
switch (ParamType)
|
|
{
|
|
case "partnernr":
|
|
db.Get_Tabledata("Select count(*) from partner where nrpar00=" + ParamValue, false, true);
|
|
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "0") { return false; }
|
|
break;
|
|
case "dokumenttyp":
|
|
db.Get_Tabledata("Select count(*) from dokumenttyp where dokumenttypnr=" + ParamValue, false, true);
|
|
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "0") { return false; }
|
|
break;
|
|
case "partnerdokumenttyp":
|
|
//Prüfung Person/Doktyp BP/Doktyp
|
|
break;
|
|
case "tgcreator": case "tgresp": case "tgul": case "tgur":
|
|
if (ParamType == "tgcreator" && ParamValue == "") { return false; } else { if (ParamValue == "") { return true; } };
|
|
db.Get_Tabledata("Select count(*) from mitarbeiter where tgnummer='" + ParamValue+"'", false, true);
|
|
if (db.dsdaten.Tables[0].Rows[0][0].ToString() == "0") { return false; }
|
|
break;
|
|
case "faksimile":
|
|
if (ParamValue != "Yes" && ParamValue != "No" && ParamValue !="") { return false; };
|
|
break;
|
|
case "formohneunterschrift":
|
|
if (ParamValue != "Yes" && ParamValue != "No" && ParamValue != "") { return false; };
|
|
break;
|
|
default:
|
|
return false;
|
|
break;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
|
|
}
|
|
}
|