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; using API_NetFramework.Models; using System.Runtime.Remoting.Messaging; using System.IO; using System.Web; namespace API_NetFramework.Controllers { /// /// /// /// public class ArchivController : ApiController { // GET: OnBase string tokenfunction = "Archiv"; string connectionstring = ConfigurationManager.ConnectionStrings["EDOKAConnectionstring"].ConnectionString; /// /// Archiviert das Dokument aus OnDoc in OnBase /// /// /// /// Returncode: 200 (OK) /// Dokumenthandle aus OnBase /// /// [HttpGet] [Route("API/ArchiveDocFromDatabase")] public IHttpActionResult ArchivDoc_From_Database(string DokumentID) { if (SecuringWebApiUsingApiKey.Middleware.ApiKeyMiddleware.Authorized((HttpRequestMessage)Request, tokenfunction) == false) { return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); } try { return Ok(); } catch (Exception e) { APILogging.Log((HttpRequestMessage)Request, e.Message, LogLevelType.Error); return Content(HttpStatusCode.InternalServerError, e.Message); } } [HttpGet] [Route("API/ArchiveDocBase64")] /// /// Archiviert das als Base64String übergebene Dokument in OnBase /// /// /// /// /// Returncode: 200 (OK) /// Dokumenthandle aus OnBase /// /// // public IHttpActionResult ArchivDocBase64(string Dokument, string Dokumenttyp) { if (SecuringWebApiUsingApiKey.Middleware.ApiKeyMiddleware.Authorized((HttpRequestMessage)Request, tokenfunction) == false) { return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); } try { return Ok(); } catch (Exception e) { APILogging.Log((HttpRequestMessage)Request, e.Message, LogLevelType.Error); return Content(HttpStatusCode.InternalServerError, e.Message); } } /// /// CheckDocID prüft auf eine vorhandene DokumentID in OnDoc (DokumentID OFFEDK... / Barcode-Klenber-Nr) /// /// /// /// 200: OK /// /// [HttpGet] [Route("API/CheckDocID")] public IHttpActionResult CheckDocID(string DokumentID) { if (SecuringWebApiUsingApiKey.Middleware.ApiKeyMiddleware.Authorized((HttpRequestMessage)Request, tokenfunction) == false) { return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); } try { Database.DB db = new Database.DB(connectionstring); db.Get_Tabledata("Select * from dokument where dokumentid = '" + DokumentID + "'", false, true); if (db.dsdaten.Tables[0].Rows.Count > 0) { return Ok(DokumentID); } db.Get_Tabledata("Select barcodenr from barcodeetikette where dokumentid='" + DokumentID + "'", false, true); if (db.dsdaten.Tables[0].Rows.Count > 0) { return Ok(DokumentID); } return Content(HttpStatusCode.NotFound, DokumentID); } catch (Exception e) { APILogging.Log((HttpRequestMessage)Request, e.Message, LogLevelType.Error); return Content(HttpStatusCode.InternalServerError, e.Message); } } [HttpPost] [Route("API/ArchivDocFromIRIS")] public IHttpActionResult ArchivDocFromIRIS(string dokumentid) { if (SecuringWebApiUsingApiKey.Middleware.ApiKeyMiddleware.Authorized((HttpRequestMessage)Request, tokenfunction) == false) { return Content(HttpStatusCode.Unauthorized, "Invalid Token or API-Key"); } try { return Ok(); } catch (Exception e) { APILogging.Log((HttpRequestMessage)Request, e.Message, LogLevelType.Error); return Content(HttpStatusCode.InternalServerError, e.Message); } } [HttpPost] [Route("API/ArchivSBDoc")] public IHttpActionResult ArchivSBDoc(string sbnr, string intid, int partnernr ) { string json = ""; if (HttpContext.Current.Request.InputStream.Length > 0) { using (var inputStream = new StreamReader(HttpContext.Current.Request.InputStream)) { json = inputStream.ReadToEnd(); } } string debugfilename = @"X:\\jsontemp\" + sbnr.ToString() + "_" + intid.ToString() + "_"+partnernr.ToString()+".json"; string SendToOnBase = System.Configuration.ConfigurationManager.AppSettings["SendToOnBase"]; string SendToFile = System.Configuration.ConfigurationManager.AppSettings["SendToFile"]; string debugdir = System.Configuration.ConfigurationManager.AppSettings["DebugDir"]; string jsonstring = json; //jsonstring = Newtonsoft.Json.JsonConvert.SerializeObject(od); if (SendToOnBase != "Yes") { if (SendToFile == "Yes") { System.IO.File.WriteAllText(debugfilename, jsonstring); } } return Content(HttpStatusCode.OK, ""); } } }