public HttpResponseMessage Put(int id, [FromBody] m_signature signature) { string pathToFiles = HttpContext.Current.Server.MapPath("~/UploadFile/"); try { PictureSign picture = new PictureSign(); picture.Sign(pathToFiles + "input/" + signature.pdfName, pathToFiles + "input/sign_" + signature.pdfName, pathToFiles + "pic/" + signature.picName, signature.posX, signature.posY ); /*section save data to DB*/ using (SignatureDBEntities entities = new SignatureDBEntities()) { var entity = entities.SignatureTables .FirstOrDefault(e => e.id == id); if (entity == null) { System.Diagnostics.Debug.WriteLine("Id not found"); return(Request.CreateErrorResponse( HttpStatusCode.BadRequest, "Id not found")); } else { entity.author = signature.author; entity.title = signature.title; entity.subject = signature.subject; entity.keyword = signature.keyword; entity.reason = signature.reason; entity.email = signature.email; entity.issuerId = signature.issuerId; entity.requestorId = signature.requestorId; entity.status = "waiting"; entity.doubleSign = 1; entities.SaveChanges(); System.Diagnostics.Debug.WriteLine("Sukses Sign File"); } var message = Request.CreateResponse( HttpStatusCode.Created, signature); message.Headers.Location = new Uri( Request.RequestUri + "/" + signature.id.ToString() ); return(message); } } catch (Exception ex) { return(Request.CreateErrorResponse( HttpStatusCode.BadRequest, ex)); } }
public HttpResponseMessage Put(int id, [FromBody] m_signature signature) { try { /*section processing certificate*/ Cert myCert = null; try { myCert = new Cert( pathToFiles + "sertifikat/" + signature.certName, signature.password ); } catch (Exception ex) { return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex)); } /*section processing Signature*/ MetaData MyMD = new MetaData(); MyMD.Author = signature.author; MyMD.Title = signature.title; MyMD.Subject = signature.subject; MyMD.Keywords = signature.keyword; PDFSigner pdfs = new PDFSigner( pathToFiles + "input/" + signature.pdfName, pathToFiles + "output/sign_" + signature.pdfName, myCert, MyMD ); pdfs.Sign(signature.reason, signature.email, signature.location, pathToFiles + "pic/" + signature.picName, signature.visible, signature.posX, signature.posY ); /*section save data to DB*/ using (SignatureDBEntities entities = new SignatureDBEntities()) { var entity = entities.SignatureTables .FirstOrDefault(e => e.id == id); if (entity == null) { System.Diagnostics.Debug.WriteLine("Id not found"); return(Request.CreateErrorResponse( HttpStatusCode.BadRequest, "Id not found")); } else { entity.author = signature.author; entity.title = signature.title; entity.subject = signature.subject; entity.keyword = signature.keyword; entity.reason = signature.reason; entity.email = signature.email; entity.location = signature.location; entity.certName = signature.certName; entity.issuerId = signature.issuerId; entity.requestorId = signature.requestorId; entity.status = "sign"; entity.approval = 1; entities.SaveChanges(); System.Diagnostics.Debug.WriteLine("Sukses Sign File"); } var message = Request.CreateResponse( HttpStatusCode.Created, signature); message.Headers.Location = new Uri( Request.RequestUri + "/" + signature.id.ToString() ); return(message); } } catch (Exception ex) { return(Request.CreateErrorResponse( HttpStatusCode.BadRequest, ex)); } }