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