public async Task HandleUpdate(Update update)
        {
            var input    = update.Message.ReplyToMessage.Text ?? update.Message.ReplyToMessage.Caption;
            var patterns = update.Message.Text.Split('\n', '\r').ToList();

            try
            {
                var reply = ReplaceHelper.Replace(input, patterns);

                await _client.SendTextMessageAsync(update.Message.Chat.Id,
                                                   reply,
                                                   replyToMessageId : update.Message.ReplyToMessage.MessageId);
            }
            catch (RegexParseException e)
            {
                await _client.SendTextMessageAsync(update.Message.Chat.Id,
                                                   "Regex parse error",
                                                   replyToMessageId : update.Message.MessageId);
            }
        }
示例#2
0
        public ActionResult Index2(int id = 120)
        {
            string dataDir = Server.MapPath("~/Format/Laporan/");
            Stream stream  = System.IO.File.OpenRead(dataDir + "SNI.docx");

            Aspose.Words.Document doc = new Aspose.Words.Document(stream);
            stream.Close();
            MemoryStream  dstStream = new MemoryStream();
            ReplaceHelper helper    = new ReplaceHelper(doc);
            //var mime = "";


            //MessageBox.Show(String.Format("Document has {0} pages", doc.BuiltInDocumentProperties.Pages));
            //helper.Replace("Data1", "wwww");
            StyleCollection styles = doc.Styles;

            //// Iterate through all paragraphs
            //foreach (Paragraph para in paragraphs)
            //{
            //    // If the paragraph has a page break before set then clear it.
            //    if (para.ParagraphFormat.PageBreakBefore)
            //        para.ParagraphFormat.PageBreakBefore = false;

            //    // Check all runs in the paragraph for page breaks and remove them.
            //    foreach (Run run in para.Runs)
            //    {
            //        if (run.Text.Contains(ControlChar.PageBreak))
            //            run.Text = run.Text.Replace(ControlChar.PageBreak, string.Empty);
            //    }

            //}
            // Define style names as they are specified in the Word document.
            const string paraStyle = "Heading 2";
            const string runStyle  = "Intense Emphasis";
            var          wew       = "";
            // Collect paragraphs with defined styles.
            // Show the number of collected paragraphs and display the text of this paragraphs.
            ArrayList paragraphs = ParagraphsByStyleName(doc, paraStyle);

            Console.WriteLine(string.Format("Paragraphs with \"{0}\" styles ({1}):", paraStyle, paragraphs.Count));
            foreach (Paragraph paragraph in paragraphs)
            {
                Console.Write(paragraph.ToString(SaveFormat.Text));
                wew += paragraph.ToString(SaveFormat.Text);
            }
            helper.Replace("Data1", wew);
            // Collect runs with defined styles.
            // Show the number of collected runs and display the text of this runs.
            ArrayList runs = RunsByStyleName(doc, runStyle);

            Console.WriteLine(string.Format("\nRuns with \"{0}\" styles ({1}):", runStyle, runs.Count));
            foreach (Run run in runs)
            {
                Console.WriteLine(run.Range.Text);
            }
            doc.ViewOptions.ZoomPercent = 100;


            doc.Save(dstStream, SaveFormat.Docx);
            var mime = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";

            byte[] byteInfo = dstStream.ToArray();
            dstStream.Write(byteInfo, 0, byteInfo.Length);
            dstStream.Position = 0;

            Response.ContentType = mime;

            Response.AddHeader("content-disposition", "attachment;  filename=SNI_" + id + ".docx");
            Response.BinaryWrite(byteInfo);
            Response.End();

            return(new FileStreamResult(dstStream, mime));
            //var JumlahHalaman = doc.BuiltInDocumentProperties.Pages;
            //return Json(new
            //{
            //    JumlahHalaman,
            //    style = styles[0].Name,
            //    runs
            //}, JsonRequestBehavior.AllowGet);
        }
示例#3
0
        public ActionResult Approval(int PROPOSAL_ID = 0, string PROPOSAL_PNPS_CODEZZ = "", int PROPOSAL_KOMTEK_ID = 0, int[] PROPOSAL_ICS_REF_ICS_ID = null)
        {
            var    DataProposal       = (from proposal in db.VIEW_PROPOSAL where proposal.PROPOSAL_ID == PROPOSAL_ID select proposal).SingleOrDefault();
            var    PROPOSAL_PNPS_CODE = db.Database.SqlQuery <string>("SELECT CAST(TO_CHAR (SYSDATE, 'YYYY') || '.' || KOMTEK_CODE || '.' || ( SELECT CAST ( ( CASE WHEN LENGTH (COUNT(PROPOSAL_ID) + 1) = 1 THEN '0' || CAST ( COUNT (PROPOSAL_ID) + 1 AS VARCHAR2 (255) ) ELSE CAST ( COUNT (PROPOSAL_ID) + 1 AS VARCHAR2 (255) ) END ) AS VARCHAR2 (255) ) PNPSCODE FROM TRX_PROPOSAL WHERE PROPOSAL_KOMTEK_ID = KOMTEK_ID ) AS VARCHAR2(255)) AS PNPSCODE FROM MASTER_KOMITE_TEKNIS WHERE KOMTEK_ID = " + PROPOSAL_KOMTEK_ID).SingleOrDefault();
            string test = "SELECT CAST(TO_CHAR (SYSDATE, 'YYYY') || '.' || KOMTEK_CODE || '.' || ( SELECT CAST ( ( CASE WHEN LENGTH (COUNT(PROPOSAL_ID) + 1) = 1 THEN '0' || CAST ( COUNT (PROPOSAL_ID) + 1 AS VARCHAR2 (255) ) ELSE CAST ( COUNT (PROPOSAL_ID) + 1 AS VARCHAR2 (255) ) END ) AS VARCHAR2 (255) ) PNPSCODE FROM TRX_PROPOSAL WHERE PROPOSAL_KOMTEK_ID = KOMTEK_ID ) AS VARCHAR2(255)) AS PNPSCODE FROM MASTER_KOMITE_TEKNIS WHERE KOMTEK_ID = " + PROPOSAL_KOMTEK_ID;

            var USER_ID = Convert.ToInt32(Session["USER_ID"]);
            var PROPOSAL_PNPS_CODE_FIXER = DataProposal.PROPOSAL_CODE;
            var DATENOW = MixHelper.ConvertDateNow();

            db.Database.ExecuteSqlCommand("UPDATE TRX_PROPOSAL SET PROPOSAL_STATUS = 3, PROPOSAL_STATUS_PROSES = 1,PROPOSAL_KOMTEK_ID = " + PROPOSAL_KOMTEK_ID + ", PROPOSAL_IS_POLLING = 0, PROPOSAL_POLLING_ID = NULL, PROPOSAL_UPDATE_DATE = " + DATENOW + ", PROPOSAL_UPDATE_BY = " + USER_ID + " WHERE PROPOSAL_ID = " + PROPOSAL_ID);
            var    PROPOSAL_LOG_CODE = db.Database.SqlQuery <string>("SELECT PROPOSAL_LOG_CODE FROM TRX_PROPOSAL WHERE PROPOSAL_ID = " + PROPOSAL_ID).SingleOrDefault();
            String objek1            = "UPDATE TRX_PROPOSAL SET PROPOSAL_STATUS = 3,PROPOSAL_KOMTEK_ID = " + PROPOSAL_KOMTEK_ID + ", PROPOSAL_STATUS_PROSES = 1, PROPOSAL_IS_POLLING = 0, PROPOSAL_POLLING_ID = NULL, PROPOSAL_UPDATE_DATE = " + DATENOW + ", PROPOSAL_UPDATE_BY = " + USER_ID + " WHERE PROPOSAL_ID = " + PROPOSAL_ID;

            MixHelper.InsertLog(PROPOSAL_LOG_CODE, objek1.Replace("'", "-"), 2);

            int APPROVAL_ID = MixHelper.GetSequence("TRX_PROPOSAL_APPROVAL");

            db.Database.ExecuteSqlCommand("UPDATE TRX_PROPOSAL_APPROVAL SET APPROVAL_STATUS = 0 WHERE APPROVAL_PROPOSAL_ID = " + PROPOSAL_ID);
            db.Database.ExecuteSqlCommand("INSERT INTO TRX_PROPOSAL_APPROVAL (APPROVAL_ID,APPROVAL_PROPOSAL_ID,APPROVAL_TYPE,APPROVAL_DATE,APPROVAL_BY,APPROVAL_STATUS,APPROVAL_STATUS_PROPOSAL,APPROVAL_STATUS_SESSION) VALUES (" + APPROVAL_ID + "," + PROPOSAL_ID + ",1," + DATENOW + "," + USER_ID + ",1,2,1)");

            db.Database.ExecuteSqlCommand("UPDATE TRX_MONITORING SET MONITORING_TGL_APP_MTPS = " + DATENOW + ", MONITORING_HASIL_APP_MTPS = 1 WHERE MONITORING_PROPOSAL_ID = " + PROPOSAL_ID);

            int    LASTID        = MixHelper.GetSequence("TRX_DOCUMENTS");
            var    TGL_SEKARANG  = DateTime.Now.ToString("yyyyMMddHHmmss");
            var    DataTanggapan = db.Database.SqlQuery <VIEW_POLLING_DETAIL>("SELECT * FROM VIEW_POLLING_DETAIL WHERE POLLING_DETAIL_POLLING_ID = " + DataProposal.PROPOSAL_POLLING_ID + " ORDER BY POLLING_DETAIL_INPUT_TYPE ASC,POLLING_DETAIL_CREATE_DATE DESC").ToList();
            string path          = Server.MapPath("~/Upload/Dokumen/RANCANGAN_SNI/MTPS/" + PROPOSAL_PNPS_CODE_FIXER + "/");
            string dataFormat    = Server.MapPath("~/Format/Laporan/");
            Stream stream        = System.IO.File.OpenRead(dataFormat + "FORMAT_TANGGAPAN_PUBLIKASI_MTPS.docx");

            Aspose.Words.Document Tanggapan = new Aspose.Words.Document(stream);
            ReplaceHelper         helper    = new ReplaceHelper(Tanggapan);

            helper.Replace("JudulPNPS", DataProposal.PROPOSAL_JUDUL_PNPS);
            DateTime dt = Convert.ToDateTime(DataProposal.POLLING_START_DATE);

            helper.Replace("TanggalJP", dt.ToString("dd/MM/yyyy"));
            helper.Replace("RuangLingkupPNPS", DataProposal.PROPOSAL_RUANG_LINGKUP);


            Paragraph paragraph = new Paragraph(Tanggapan);

            DocumentBuilder builder = new DocumentBuilder(Tanggapan);

            Aspose.Words.Font font = builder.Font;
            font.Bold   = false;
            font.Color  = System.Drawing.Color.Black;
            font.Italic = false;
            font.Name   = "Calibri";
            font.Size   = 11;
            builder.MoveToDocumentEnd();

            var    number = 0;
            string html   = "<table width='100%' border='1' bordercolor='#111111' cellpadding='2'  style='border-collapse: collapse' cellpadding='0' cellspacing='0'>" +
                            "<tr>" +
                            "<td width='5%' style='text-align:center'><b>No</b></td>" +
                            "<td width='15%' style='text-align:center'><b>Nama</b></td>" +
                            "<td width='15%' style='text-align:center'><b>Tipe tanggapan</b></td>" +
                            "<td width='65%' style='text-align:center'><b>Tanggapan</b></td>" +
                            "</tr>";

            foreach (var i in DataTanggapan)
            {
                number++;
                html += "<tr>" +
                        "<td>" + number + "</td>" +
                        "<td>" + i.USER_PUBLIC_NAMA + "</td>" +
                        "<td>" + i.POLLING_DETAIL_INPUT_TYPE_NAME + "</td>" +
                        "<td>" + i.POLLING_DETAIL_REASON + "</td>" +
                        "</tr>";
            }
            html += "</table>";
            builder.InsertHtml(html);
            Tanggapan.Save(@"" + path + "DAFTAR_TANGGAPAN_PUBLIKASI_USULAN_PNPS_" + PROPOSAL_PNPS_CODE_FIXER + "_" + TGL_SEKARANG + ".docx", Aspose.Words.SaveFormat.Docx);
            Tanggapan.Save(@"" + path + "DAFTAR_TANGGAPAN_PUBLIKASI_USULAN_PNPS_" + PROPOSAL_PNPS_CODE_FIXER + "_" + TGL_SEKARANG + ".pdf", Aspose.Words.SaveFormat.Pdf);
            Tanggapan.Save(@"" + path + "DAFTAR_TANGGAPAN_PUBLIKASI_USULAN_PNPS_" + PROPOSAL_PNPS_CODE_FIXER + "_" + TGL_SEKARANG + ".xml");

            var LOGCODE_TANGGAPAN_MTPS = MixHelper.GetLogCode();
            var FNAME_TANGGAPAN_MTPS   = "DOC_ID,DOC_FOLDER_ID,DOC_RELATED_TYPE,DOC_RELATED_ID,DOC_NAME,DOC_DESCRIPTION,DOC_FILE_PATH,DOC_FILE_NAME,DOC_FILETYPE,DOC_EDITABLE,DOC_CREATE_BY,DOC_CREATE_DATE,DOC_STATUS,DOC_LOG_CODE";
            var FVALUE_TANGGAPAN_MTPS  = "'" + LASTID + "', " +
                                         "'10', " +
                                         "'1', " +
                                         "'" + PROPOSAL_ID + "', " +
                                         "'" + "(" + PROPOSAL_PNPS_CODE_FIXER + ") Daftar Tanggapan Publikasi Usulan PNPS" + "', " +
                                         "'Daftar Tanggapan Hasil Publikasi Usulan PNPS dengan Judul PNPS : " + DataProposal.PROPOSAL_JUDUL_PNPS + "', " +
                                         "'" + "/Upload/Dokumen/RANCANGAN_SNI/MTPS/" + PROPOSAL_PNPS_CODE_FIXER + "/" + "', " +
                                         "'" + "DAFTAR_TANGGAPAN_PUBLIKASI_USULAN_PNPS_" + PROPOSAL_PNPS_CODE_FIXER + "_" + TGL_SEKARANG + "" + "', " +
                                         "'DOCX', " +
                                         "'0', " +
                                         "'" + USER_ID + "', " +
                                         DATENOW + "," +
                                         "'1', " +
                                         "'" + LOGCODE_TANGGAPAN_MTPS + "'";

            db.Database.ExecuteSqlCommand("INSERT INTO TRX_DOCUMENTS (" + FNAME_TANGGAPAN_MTPS + ") VALUES (" + FVALUE_TANGGAPAN_MTPS.Replace("''", "NULL") + ")");
            String objekTanggapan = FVALUE_TANGGAPAN_MTPS.Replace("'", "-");

            MixHelper.InsertLog(LOGCODE_TANGGAPAN_MTPS, objekTanggapan, 1);

            db.Database.ExecuteSqlCommand("UPDATE TRX_POLLING SET POLLING_IS_KUORUM = 1,POLLING_UPDATE_DATE = " + DATENOW + ", POLLING_UPDATE_BY = '" + USER_ID + "' WHERE POLLING_ID = " + DataProposal.PROPOSAL_POLLING_ID);

            TempData["Notifikasi"]     = 1;
            TempData["NotifikasiText"] = "Data Berhasil Disimpan";
            return(RedirectToAction("Index"));
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="messageProperty"></param>
 public override void Build(object obj, ObjectMessageProperty messageProperty)
 {
     ReplaceHelper.Replace(messageProperty, obj);
     PropertyManager.BuildInnerProperties(obj, messageProperty);
 }