コード例 #1
0
        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));
            }
        }
コード例 #2
0
        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));
            }
        }