Exemple #1
0
        public async Task <IActionResult> PurchaseReqLineExtendByPurchaseRequest(string key)
        {
            var message = "Data not been found.";

            try
            {
                if (!string.IsNullOrEmpty(key))
                {
                    #region Where

                    string sWhere = $" LOWER(PRD.PSHNUM_0) = '{key.Trim().ToLower()}'";

                    #endregion Where

                    #region Sort

                    string sSort = $" PRD.PSHNUM_0,PRD.PSDLIN_0 ASC ";//QueryData = QueryData.OrderByDescending(x => x.PAYM.Prqdat0);

                    #endregion Sort

                    #region Query

                    var sqlCommnad = new SqlCommandViewModel()
                    {
                        SelectCommand = $@"	PRD.ROWID AS [PrSageLineId],
                                            PRD.PSHNUM_0 AS [PrNumber],
                                            PRD.PSDLIN_0 AS [PrLine],
                                            PRD.ITMREF_0 AS [ItemCode],
                                            ISNULL(TXT.TEXTE_0,PRD.ITMDES_0)  AS [ItemName],
                                            PRD.QTYPUU_0 AS [Quantity] ",
                        FromCommand   = $@" [x3v11].[VIPCO].PREQUISD PRD
                                            LEFT OUTER JOIN [x3v11].[VIPCO].TEXCLOB TXT
                                            ON PRD.LINTEX_0 = TXT.CODE_0 ",
                        WhereCommand  = sWhere,
                        OrderCommand  = sSort
                    };

                    #endregion

                    var result = await this.repositoryPrLinePure.GetEntities(sqlCommnad);

                    foreach (var item in result)
                    {
                        if (item.ItemName.StartsWith("{\\rtf1"))
                        {
                            item.ItemName = Rtf.ToHtml(item.ItemName);
                        }
                    }


                    return(new JsonResult(result, this.DefaultJsonSettings));
                }
            }
            catch (Exception ex)
            {
                message = $"Has error {ex.ToString()}";
            }

            return(BadRequest(new { message }));
        }
Exemple #2
0
        static void Stub2()
        {
            OMOD             omod            = null;
            IScriptFunctions scriptFunctions = null;

            Rtf.ToHtml("");
        }
Exemple #3
0
        public void Conversion_Formatting()
        {
            const string rtf    = @"{\rtf1\ansi\ansicpg1252\uc1\deff1{\fonttbl
{\f0\fswiss\fcharset0\fprq2 Arial;}
{\f1\fswiss\fcharset0\fprq2 Verdana;}
{\f2\froman\fcharset2\fprq2 Symbol;}}
{\colortbl;\red255\green0\blue0;\red0\green255\blue0;\red0\green0\blue255;}
{\stylesheet{\s0\itap0\nowidctlpar\f0\fs24 [Normal];}}
{\*\generator TX_RTF32 14.0.520.501;}
\sectd
\pard\itap0\nowidctlpar\plain\f1\fs36
{Hellou RTF Wörld\par
\f0\fs24\par
with some symbols: ""{\f2\cf1\cb0\chcbpat3\i abc}""\par
\par
and some \b bold\b0, \i italic\i0, \ul underlined\ul0  and \strike strikethrough\strike0  text\par
\par
some nested styles: {\b\cf1 bold}, {\i\cf2 italic}, {\ul\cf3 underlined}, normal\par
\par
some combined styles: {\b bold+\i italic+\ul underlined} vs. normal\par
\par
and further: {\b bold, {\i bold+italic}, \ul bold+underlined{\plain, normal}}\par
\par
different ways: [A] == [\'41] == [\u65A] == {\uc0[\u65]}\par
more unicode: Unicode: [\u915G] - ANSI-fallback: [G]\par
same but different: ""{\upr{[G]}{\*\ud{[\uc0\u915]}}}""\par
\par
something to ignore: {\*\unsupportedtag {\b should not appear}{\i this neither}}{\b visible}.
\par }
}";
            const string html   = @"<!DOCTYPE html ><html><head><meta http-equiv=""content-type"" content=""text/html; charset=UTF-8"" /></head><body><p><span style=""font-family:Verdana;font-size:18pt"">Hellou RTF Wörld</span></p><p>&nbsp;</p><p><span style=""font-family:Arial;font-size:12pt"">with some symbols: ""</span><i><span style=""color:#ff0000;background-color:#0000ff;font-family:Symbol;font-size:12pt"">abc</span></i><span style=""font-family:Arial;font-size:12pt"">""</span></p><p>&nbsp;</p><p><span style=""font-family:Arial;font-size:12pt"">and some </span><b><span style=""font-family:Arial;font-size:12pt"">bold</span></b><span style=""font-family:Arial;font-size:12pt"">, </span><i><span style=""font-family:Arial;font-size:12pt"">italic</span></i><span style=""font-family:Arial;font-size:12pt"">, </span><u><span style=""font-family:Arial;font-size:12pt"">underlined</span></u><span style=""font-family:Arial;font-size:12pt""> and </span><s><span style=""font-family:Arial;font-size:12pt"">strikethrough</span></s><span style=""font-family:Arial;font-size:12pt""> text</span></p><p>&nbsp;</p><p><span style=""font-family:Arial;font-size:12pt"">some nested styles: </span><b><span style=""color:#ff0000;font-family:Arial;font-size:12pt"">bold</span></b><span style=""font-family:Arial;font-size:12pt"">, </span><i><span style=""color:#00ff00;font-family:Arial;font-size:12pt"">italic</span></i><span style=""font-family:Arial;font-size:12pt"">, </span><u><span style=""color:#0000ff;font-family:Arial;font-size:12pt"">underlined</span></u><span style=""font-family:Arial;font-size:12pt"">, normal</span></p><p>&nbsp;</p><p><span style=""font-family:Arial;font-size:12pt"">some combined styles: </span><b><span style=""font-family:Arial;font-size:12pt"">bold+</span></b><b><i><span style=""font-family:Arial;font-size:12pt"">italic+</span></i></b><b><i><u><span style=""font-family:Arial;font-size:12pt"">underlined</span></u></i></b><span style=""font-family:Arial;font-size:12pt""> vs. normal</span></p><p>&nbsp;</p><p><span style=""font-family:Arial;font-size:12pt"">and further: </span><b><span style=""font-family:Arial;font-size:12pt"">bold, </span></b><b><i><span style=""font-family:Arial;font-size:12pt"">bold+italic</span></i></b><b><span style=""font-family:Arial;font-size:12pt"">, </span></b><b><u><span style=""font-family:Arial;font-size:12pt"">bold+underlined</span></u></b><span style=""font-family:Arial;font-size:12pt"">, normal</span></p><p>&nbsp;</p><p><span style=""font-family:Arial;font-size:12pt"">different ways: [A] == [A] == [A] == [A]</span></p><p><span style=""font-family:Arial;font-size:12pt"">more unicode: Unicode: [Γ] - ANSI-fallback: [G]</span></p><p><span style=""font-family:Arial;font-size:12pt"">same but different: ""[Γ]""</span></p><p>&nbsp;</p><p><span style=""font-family:Arial;font-size:12pt"">something to ignore: </span><b><span style=""font-family:Arial;font-size:12pt"">visible</span></b><span style=""font-family:Arial;font-size:12pt"">.</span></p></body></html>";
            var          output = Rtf.ToHtml(rtf);

            Assert.AreEqual(html, output);
        }
Exemple #4
0
        /// <summary>
        /// RTF형식을 Html 형식으로
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private async void ToHtmlButton_Click(object sender, RoutedEventArgs e)
        {
            using (var memory = new InMemoryRandomAccessStream())
            {
                RichEditBoxTest.Document.SaveToStream(Windows.UI.Text.TextGetOptions.FormatRtf, memory);
                var streamToSave = memory.AsStream();

                Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

                TextReader textReader = new StreamReader(streamToSave, Encoding.UTF8);


                // RTFPipe 라이브러리 사용
                var libHtml = Rtf.ToHtml(new RtfSource(textReader));
                libHtml = RtfToHtmlConverter.ParseHtmlText(libHtml);
                // Html code 출력
                HtmlCodeViewer.Text = libHtml;

                var storageFolder = ApplicationData.Current.LocalFolder;
                // WebView navigation은 LoaclFolder 바로 밑에서는 동작하지 않아 폴더 새로 만들어줌
                var testFolder = await storageFolder.CreateFolderAsync("TestFolder", CreationCollisionOption.ReplaceExisting);

                var testHtmlFile = await testFolder.CreateFileAsync("rtftohtmltestpage.html", CreationCollisionOption.ReplaceExisting);

                await FileIO.WriteTextAsync(testHtmlFile, libHtml);

                RtfToHtmlViewer.Navigate(new Uri("ms-appdata:///local/TestFolder/rtftohtmltestpage.html"));
            }
            // 기존 제작 컨버터
            //RichEditBoxTest.Document.GetText(Windows.UI.Text.TextGetOptions.FormatRtf, out string fvff);
            //string htmlcode = await RtfToHtmlConverter.ParseRtfText(fvff);
        }
Exemple #5
0
        public void NonBreaking()
        {
            const string rtf      = "{\\rtf1\\ansicpg1252\r\n{\r\n\\fonttbl\r\n{\\f0 Times New Roman;}\r\n{\\f1 Calibri;}\r\n}\r\n{\r\n\\colortbl\r\n;\r\n\\red0\\green0\\blue255;\r\n\\red0\\green0\\blue0;\r\n}\r\n\\nouicompat\\splytwnine\\htmautsp{\\pard\\plain\\ql{\\f1\\fs24\\cf2 <p><span style=\"color:#404040;font-family:calibri;font-size:12pt;\">On d&#233;termine la couverture de votre objectif de revenu d&#8217;invalidit&#233; en analysant dans quelle mesure vos rentr&#233;es de fonds couvrent vos sorties de fonds dans l'&#233;ventualit&#233; d&#8217;une invalidit&#233;. La couverture actuelle de votre objectif est de </span><strong><span style=\"color:#3265a4;font-family:calibri;font-size:12pt;\">79 %</span></strong><span style=\"color:#404040;font-family:calibri;font-size:12pt;\">. Votre besoin en revenu d'invalidit&#233; est de </span><strong><span style=\"color:#3265a4;font-family:calibri;font-size:12pt;\">3\\~320\\~853 $</span></strong><span style=\"color:#404040;font-family:calibri;font-size:12pt;\"> au cours de la p&#233;riode d'invalidit&#233; projet&#233;e de </span><strong><span style=\"color:#3265a4;font-family:calibri;font-size:12pt;\">192</span></strong><span style=\"color:#404040;font-family:calibri;font-size:12pt;\"> mois. Ce besoin inclut toutes les d&#233;penses mensuelles n&#233;cessaires comme la nourriture, les v&#234;tements et le logement. French blah.</span></p>}\\fs24\\par}\r\n}\r\n";
            var          output   = Rtf.ToHtml(rtf);
            const string expected = "<div style=\"font-size:12pt;\"><p style=\"text-align:left;font-family:Calibri;margin:0;\">&lt;p&gt;&lt;span style=\"color:#404040;font-family:calibri;font-size:12pt;\"&gt;On d&amp;#233;termine la couverture de votre objectif de revenu d&amp;#8217;invalidit&amp;#233; en analysant dans quelle mesure vos rentr&amp;#233;es de fonds couvrent vos sorties de fonds dans l'&amp;#233;ventualit&amp;#233; d&amp;#8217;une invalidit&amp;#233;. La couverture actuelle de votre objectif est de &lt;/span&gt;&lt;strong&gt;&lt;span style=\"color:#3265a4;font-family:calibri;font-size:12pt;\"&gt;79 %&lt;/span&gt;&lt;/strong&gt;&lt;span style=\"color:#404040;font-family:calibri;font-size:12pt;\"&gt;. Votre besoin en revenu d'invalidit&amp;#233; est de &lt;/span&gt;&lt;strong&gt;&lt;span style=\"color:#3265a4;font-family:calibri;font-size:12pt;\"&gt;3&nbsp;320&nbsp;853 $&lt;/span&gt;&lt;/strong&gt;&lt;span style=\"color:#404040;font-family:calibri;font-size:12pt;\"&gt; au cours de la p&amp;#233;riode d'invalidit&amp;#233; projet&amp;#233;e de &lt;/span&gt;&lt;strong&gt;&lt;span style=\"color:#3265a4;font-family:calibri;font-size:12pt;\"&gt;192&lt;/span&gt;&lt;/strong&gt;&lt;span style=\"color:#404040;font-family:calibri;font-size:12pt;\"&gt; mois. Ce besoin inclut toutes les d&amp;#233;penses mensuelles n&amp;#233;cessaires comme la nourriture, les v&amp;#234;tements et le logement. French blah.&lt;/span&gt;&lt;/p&gt;</p></div>";

            Assert.AreEqual(expected, output);
        }
Exemple #6
0
 private string rtfToHtml(string rtfValue)
 {
     using (TextReader tr = new StringReader(rtfValue))
     {
         RtfSource rtfs = new RtfSource(tr);
         return(Rtf.ToHtml(rtfs).Replace("&lt;tab&gt;", "&emsp;"));
     }
 }
 public static byte[] ToHtml(byte[] value)
 {
     using (var reader = new StreamReader(new MemoryStream(value)))
     {
         var rtf = new RtfSource(reader);
         return(Encoding.UTF8.GetBytes(Rtf.ToHtml(rtf)));
     }
 }
 private void TestConvert(string path)
 {
     using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(path + ".rtf"))
         using (var expectedReader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream(path + ".html")))
         {
             var actual   = Rtf.ToHtml(stream);
             var expected = expectedReader.ReadToEnd();
             Assert.AreEqual(expected, actual);
         }
 }
Exemple #9
0
 private void TestParse(string path)
 {
     using (var stream = File.Exists(path)
 ? new FileStream(path, FileMode.Open, FileAccess.Read)
 : Assembly.GetExecutingAssembly().GetManifestResourceStream(path + ".rtf"))
     {
         var actual = Rtf.ToHtml(stream);
         Assert.Fail();
     }
 }
 public static byte[] ToMarkdown(byte[] value)
 {
     using (var reader = new StreamReader(new MemoryStream(value)))
     {
         var rtf = new RtfSource(reader);
         using (var w = new System.IO.StringWriter())
             using (var md = new MarkdownWriter(w)) {
                 Rtf.ToHtml(rtf, md);
                 return(Encoding.UTF8.GetBytes(w.ToString()));
             }
     }
 }
Exemple #11
0
        static string ConvertRtfToHtml(string rtfCode)
        {
            if (!rtfCode.StartsWith(@"{\rtf"))
            {
                return(null);
            }

            const string missingVersionString = @"{\rtf\";

            if (rtfCode.StartsWith(missingVersionString))
            {
                rtfCode = @"{\rtf1\" + rtfCode.Substring(missingVersionString.Length);
            }

            return(Rtf.ToHtml(rtfCode));
        }
Exemple #12
0
        public void AttachmentRender()
        {
            const string rtf  = @"{\rtf1\adeflang1025\ansi\ansicpg1252\uc1\adeff31507\deff0\stshfdbch31506\stshfloch31506\stshfhich31506\stshfbi31507\deflang1033\deflangfe1033\themelang1033\themelangfe0\themelangcs0{\fonttbl{\f0\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\f34\fbidi \froman\fcharset1\fprq2{\*\panose 02040503050406030204}Cambria Math{\*\falt Calisto MT};}{\f39\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri{\*\falt Times New Roman};}{\f31500\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\f31501\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\f31502\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0302020204030204}Calibri Light{\*\falt Calibri};}{\f31503\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\f31504\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\f31505\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\f31506\fbidi \fswiss\fcharset0\fprq2{\*\panose 020f0502020204030204}Calibri{\*\falt Times New Roman};}{\f31507\fbidi \froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman{\*\falt Times New Roman};}{\f348\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\f349\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f351\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\f352\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\f353\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\f354\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f355\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\f356\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\f688\fbidi \froman\fcharset238\fprq2 Cambria Math CE{\*\falt Calisto MT};}{\f689\fbidi \froman\fcharset204\fprq2 Cambria Math Cyr{\*\falt Calisto MT};}{\f691\fbidi \froman\fcharset161\fprq2 Cambria Math Greek{\*\falt Calisto MT};}{\f692\fbidi \froman\fcharset162\fprq2 Cambria Math Tur{\*\falt Calisto MT};}{\f695\fbidi \froman\fcharset186\fprq2 Cambria Math Baltic{\*\falt Calisto MT};}{\f696\fbidi \froman\fcharset163\fprq2 Cambria Math (Vietnamese){\*\falt Calisto MT};}{\f738\fbidi \fswiss\fcharset238\fprq2 Calibri CE{\*\falt Times New Roman};}{\f739\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr{\*\falt Times New Roman};}{\f741\fbidi \fswiss\fcharset161\fprq2 Calibri Greek{\*\falt Times New Roman};}{\f742\fbidi \fswiss\fcharset162\fprq2 Calibri Tur{\*\falt Times New Roman};}{\f745\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic{\*\falt Times New Roman};}{\f746\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese){\*\falt Times New Roman};}{\f31508\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\f31509\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f31511\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\f31512\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\f31513\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\f31514\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f31515\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\f31516\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\f31518\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\f31519\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f31521\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\f31522\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\f31523\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\f31524\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f31525\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\f31526\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\f31528\fbidi \fswiss\fcharset238\fprq2 Calibri Light CE{\*\falt Calibri};}{\f31529\fbidi \fswiss\fcharset204\fprq2 Calibri Light Cyr{\*\falt Calibri};}{\f31531\fbidi \fswiss\fcharset161\fprq2 Calibri Light Greek{\*\falt Calibri};}{\f31532\fbidi \fswiss\fcharset162\fprq2 Calibri Light Tur{\*\falt Calibri};}{\f31535\fbidi \fswiss\fcharset186\fprq2 Calibri Light Baltic{\*\falt Calibri};}{\f31536\fbidi \fswiss\fcharset163\fprq2 Calibri Light (Vietnamese){\*\falt Calibri};}{\f31538\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\f31539\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f31541\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\f31542\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\f31543\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\f31544\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f31545\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\f31546\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\f31548\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\f31549\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f31551\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\f31552\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\f31553\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\f31554\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f31555\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\f31556\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\f31558\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\f31559\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f31561\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\f31562\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\f31563\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\f31564\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f31565\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\f31566\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}{\f31568\fbidi \fswiss\fcharset238\fprq2 Calibri CE{\*\falt Times New Roman};}{\f31569\fbidi \fswiss\fcharset204\fprq2 Calibri Cyr{\*\falt Times New Roman};}{\f31571\fbidi \fswiss\fcharset161\fprq2 Calibri Greek{\*\falt Times New Roman};}{\f31572\fbidi \fswiss\fcharset162\fprq2 Calibri Tur{\*\falt Times New Roman};}{\f31575\fbidi \fswiss\fcharset186\fprq2 Calibri Baltic{\*\falt Times New Roman};}{\f31576\fbidi \fswiss\fcharset163\fprq2 Calibri (Vietnamese){\*\falt Times New Roman};}{\f31578\fbidi \froman\fcharset238\fprq2 Times New Roman CE{\*\falt Times New Roman};}{\f31579\fbidi \froman\fcharset204\fprq2 Times New Roman Cyr{\*\falt Times New Roman};}{\f31581\fbidi \froman\fcharset161\fprq2 Times New Roman Greek{\*\falt Times New Roman};}{\f31582\fbidi \froman\fcharset162\fprq2 Times New Roman Tur{\*\falt Times New Roman};}{\f31583\fbidi \froman\fcharset177\fprq2 Times New Roman (Hebrew){\*\falt Times New Roman};}{\f31584\fbidi \froman\fcharset178\fprq2 Times New Roman (Arabic){\*\falt Times New Roman};}{\f31585\fbidi \froman\fcharset186\fprq2 Times New Roman Baltic{\*\falt Times New Roman};}{\f31586\fbidi \froman\fcharset163\fprq2 Times New Roman (Vietnamese){\*\falt Times New Roman};}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;\red5\green99\blue193;\red149\green79\blue114;}{\*\defchp \f31506\fs22 }{\*\defpap \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 }\noqfpromote {\stylesheet{\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 \sqformat \spriority0 Normal;}{\*\cs10 \additive \ssemihidden \sunhideused \spriority1 Default Paragraph Font;}{\*\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\tblind0\tblindtype3\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv \ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext11 \ssemihidden \sunhideused Normal Table;}{\*\cs15 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf17 \sbasedon10 \ssemihidden \sunhideused \styrsid16650015 Hyperlink;}{\*\cs16 \additive \rtlch\fcs1 \af0 \ltrch\fcs0 \ul\cf18 \sbasedon10 \ssemihidden \sunhideused \styrsid16650015 FollowedHyperlink;}{\*\cs17 \additive \rtlch\fcs1 \af31507\afs22 \ltrch\fcs0 \f31506\fs22\cf0 \sbasedon10 \ssemihidden \spriority0 \spersonal \scompose \styrsid16650015 EmailStyle17;}}{\*\revtbl {Unknown;}}{\*\rsidtbl \rsid5455638\rsid7608263\rsid16650015}{\mmathPr\mmathFont34\mbrkBin0\mbrkBinSub0\msmallFrac0\mdispDef1\mlMargin0\mrMargin0\mdefJc1\mwrapIndent1440\mintLim0\mnaryLim1}{\*\xmlnstbl {\xmlns1 http://schemas.microsoft.com/office/word/2003/wordml}}\paperw12240\paperh15840\margl1440\margr1440\margt1440\margb1440\gutter0\ltrsect \widowctrl\ftnbj\aenddoc\trackmoves0\trackformatting1\donotembedsysfont1\relyonvml0\donotembedlingdata0\grfdocevents0\validatexml1\showplaceholdtext0\ignoremixedcontent0\saveinvalidxml0\showxmlerrors1\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180\dghorigin150\dgvorigin0\dghshow1\dgvshow1\jexpand\viewkind5\viewscale100\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel\wrppunct\asianbrkrule\rsidroot7608263\newtblstyruls\nogrowautofit\usenormstyforlist\noindnmbrts\felnbrelev\nocxsptable\indrlsweleven\noafcnsttbl\afelev\utinl\hwelev\spltpgpar\notcvasp\notbrkcnstfrctbl\notvatxbx\krnprsnet\cachedcolbal \nouicompat \fet0{\*\wgrffmtfilter 2450}\nofeaturethrottle1\ilfomacatclnup0\ltrpar \sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16650015 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid16650015 Testing with an inline image
\par 
\par }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\lang1024\langfe1024\noproof\insrsid7608263\charrsid14577418 \objattph  }{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid16650015 
\par }\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16650015 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid16650015 
\par And a file}{\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid16650015 
\par 
\par }{\pard\plain \ltrpar\ql \li0\ri0\widctlpar\wrapdefault\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid16650015 \rtlch\fcs1 \af31507\afs22\alang1025 \ltrch\fcs0 \f31506\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033\insrsid16650015 {{\objattph  {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid16650015 }}}}\sectd \ltrsect\linex0\endnhere\sectdefaultcl\sftnbj {\rtlch\fcs1 \af31507 \ltrch\fcs0 \cf0\insrsid16650015\charrsid16650015 
\par }}";
            const string html = "<div style=\"font-size:12pt;font-family:&quot;Times New Roman&quot;, serif;\"><p style=\"text-align:left;font-family:Calibri, sans-serif;font-size:11pt;margin:0;\">Testing with an inline image</p><p style=\"text-align:left;font-family:Calibri, sans-serif;font-size:11pt;margin:0;\"><br></p><p style=\"text-align:left;font-family:Calibri, sans-serif;font-size:11pt;margin:0;\"><span data-index=\"0\"></span> </p><p style=\"text-align:left;font-family:Calibri, sans-serif;font-size:11pt;margin:0;\"><br></p><p style=\"text-align:left;font-family:Calibri, sans-serif;font-size:11pt;margin:0;\">And a file</p><p style=\"text-align:left;font-family:Calibri, sans-serif;font-size:11pt;margin:0;\"><br></p><p style=\"text-align:left;font-family:Calibri, sans-serif;font-size:11pt;margin:0;\"><span data-index=\"1\"></span> </p></div>";

            var output = Rtf.ToHtml(rtf);

            Assert.AreEqual(html, output);
        }
Exemple #13
0
    public async Task <IEnumerable <Recipe> > WeatherForecasts()
    {
        List <Recipe> result;

        using (var context = new CookingContext(Database))
        {
            result = await context.Recipies.OrderBy(x => x.Name).ToListAsync().ConfigureAwait(false);
        }

        Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
        foreach (Recipe res in result.Where(x => x.Description != null))
        {
            res.Description = Rtf.ToHtml(res.Description);
        }

        return(result);
    }
Exemple #14
0
        public string Convert(Stream stream)
        {
            stream.Position = 0;
            string rtf = string.Empty;

            using (StreamReader sr = new StreamReader(stream))
            {
                rtf = sr.ReadToEnd();
            }

            // Эта строчка необходима для работы RtfPipe в Core (о чем сказано в документации)
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            // С помощью либы RtfPipe создаем html
            var html = Rtf.ToHtml(rtf);

            // очищаем html от лишних тегов и атрибутов, возвращем готовую xml
            return(ClearHtml(html));
        }
        public void HelloWorld_XElement()
        {
            var rtf = @"{\rtf1\ansi\deff0 {\fonttbl {\f0 Monotype Corsiva;}}
\qc\f0\fs120\i\b Hello,\line World!
}";
            var doc = new XDocument();

            using (var writer = doc.CreateWriter())
            {
                Rtf.ToHtml(rtf, writer);
            }
            Assert.AreEqual(@"<div style=""font-size:12pt;font-family:&quot;Monotype Corsiva&quot;;"">
  <p style=""text-align:center;font-size:60pt;margin:0;"">
    <strong>
      <em>Hello,<br />World!</em>
    </strong>
  </p>
</div>", doc.Root.ToString());
        }
Exemple #16
0
        public void ImageSize()
        {
            const string rtf      = @"{\rtf1\ansi\ansicpg1251\deff0\nouicompat\deflang1049{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Riched20 10.0.14393}\viewkind4\uc1 
\pard\sa200\sl240\slmult1\f0\fs22\lang9{\pict{\*\picprop}\wmetafile8\picw1323\pich265\picwgoal750\pichgoal150 
010009000003f60000000000cd00000000000400000003010800050000000b0200000000050000
000c020a003200030000001e0004000000070104000400000007010400cd000000410b2000cc00
0a003200000000000a0032000000000028000000320000000a0000000100040000000000000000
000000000000000000000000000000000000000000ffffff003300ff000033ff00000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000222222222222222222222222222222222222222222222222220202022222222222222222
222222222222222222222222222222222202020222222222222222222222222222222222222222
222222222222020202222222222222222222222222222222222222222222222222220202022222
222222222222222222222222222222222222222222222202020222222222222222222222222222
222222222222222222222222020202222222222222222222222222222222222222222222222222
220202022222222222222222222222222222222222222222222222222202020222222222222222
222222222222222222222222222222222222020202222222222222222222222222222222222222
22222222222232020202040000002701ffff030000000000
}\par
\par
\par
{\pict{\*\picprop}\wmetafile8\picw1323\pich265\picwgoal750\pichgoal150 
0100090000037600000000004d00000000000400000003010800050000000b0200000000050000
000c020a003200030000001e00040000000701040004000000070104004d000000410b2000cc00
0a003200000000000a0032000000000028000000320000000a0000000100010000000000000000
000000000000000000000000000000000000000000ffffff00ffffffffffffc001ffffffffffff
c001ffffffffffffc001ffffffffffffc001ffffffffffffc001ffffffffffffc001ffffffffff
ffc001ffffffffffffc001ffffffffffffc001ffffffffffffc001040000002701ffff03000000
0000
}\par

\pard\sa200\sl276\slmult1\par
}";
            var          html     = Rtf.ToHtml(rtf);
            const string expected = "<div style=\"font-size:12pt;font-family:Calibri;\"><p style=\"font-size:11pt;margin:0 0 13.3px 0;\"><img width=\"50\" height=\"10\" src=\"data:windows/metafile;base64,AQAJAAAD9gAAAAAAzQAAAAAABAAAAAMBCAAFAAAACwIAAAAABQAAAAwCCgAyAAMAAAAeAAQAAAAHAQQABAAAAAcBBADNAAAAQQsgAMwACgAyAAAAAAAKADIAAAAAACgAAAAyAAAACgAAAAEABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////ADMA/wAAM/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgICAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiICAgIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAgICIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgICAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiICAgIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAgICIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIgICAiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiICAgIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiAgICIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiMgICAgQAAAAnAf//AwAAAAAA\"></p><p style=\"font-size:11pt;margin:0 0 13.3px 0;\"><br></p><p style=\"font-size:11pt;margin:0 0 13.3px 0;\"><br></p><p style=\"font-size:11pt;margin:0 0 13.3px 0;\"><img width=\"50\" height=\"10\" src=\"data:windows/metafile;base64,AQAJAAADdgAAAAAATQAAAAAABAAAAAMBCAAFAAAACwIAAAAABQAAAAwCCgAyAAMAAAAeAAQAAAAHAQQABAAAAAcBBABNAAAAQQsgAMwACgAyAAAAAAAKADIAAAAAACgAAAAyAAAACgAAAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA////AP///////8AB////////wAH////////AAf///////8AB////////wAH////////AAf///////8AB////////wAH////////AAf///////8ABBAAAACcB//8DAAAAAAA=\"></p><p style=\"font-size:11pt;line-height:1.4;margin:0 0 13.3px 0;\"><br></p></div>";

            Assert.AreEqual(expected, html);
        }
Exemple #17
0
        public void ImageSize()
        {
            const string rtf      = @"{\rtf1\ansi\ansicpg1251\deff0\nouicompat\deflang1049{\fonttbl{\f0\fnil\fcharset0 Calibri;}}
{\*\generator Riched20 10.0.14393}\viewkind4\uc1 
\pard\sa200\sl240\slmult1\f0\fs22\lang9{\pict{\*\picprop}\wmetafile8\picw1323\pich265\picwgoal750\pichgoal150 
010009000003f60000000000cd00000000000400000003010800050000000b0200000000050000
000c020a003200030000001e0004000000070104000400000007010400cd000000410b2000cc00
0a003200000000000a0032000000000028000000320000000a0000000100040000000000000000
000000000000000000000000000000000000000000ffffff003300ff000033ff00000000000000
000000000000000000000000000000000000000000000000000000000000000000000000000000
000000222222222222222222222222222222222222222222222222220202022222222222222222
222222222222222222222222222222222202020222222222222222222222222222222222222222
222222222222020202222222222222222222222222222222222222222222222222220202022222
222222222222222222222222222222222222222222222202020222222222222222222222222222
222222222222222222222222020202222222222222222222222222222222222222222222222222
220202022222222222222222222222222222222222222222222222222202020222222222222222
222222222222222222222222222222222222020202222222222222222222222222222222222222
22222222222232020202040000002701ffff030000000000
}\par
\par
\par
{\pict{\*\picprop}\wmetafile8\picw1323\pich265\picwgoal750\pichgoal150 
0100090000037600000000004d00000000000400000003010800050000000b0200000000050000
000c020a003200030000001e00040000000701040004000000070104004d000000410b2000cc00
0a003200000000000a0032000000000028000000320000000a0000000100010000000000000000
000000000000000000000000000000000000000000ffffff00ffffffffffffc001ffffffffffff
c001ffffffffffffc001ffffffffffffc001ffffffffffffc001ffffffffffffc001ffffffffff
ffc001ffffffffffffc001ffffffffffffc001ffffffffffffc001040000002701ffff03000000
0000
}\par

\pard\sa200\sl276\slmult1\par
}";
            var          html     = Rtf.ToHtml(rtf);
            const string expected = "<div style=\"font-size:12pt;font-family:Calibri;\"><p style=\"font-size:11pt;margin:0 0 13.3px 0;\"><img width=\"50\" height=\"10\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABgAAAANgCAYAAADqIqOWAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAB4JSURBVHhe7dmxDcMAEAMx7+T9Z3MWUP0BDizYq9Y93/N+AAAAAACQ9j7/sbYcEQAAAAAAAOhb5/yFteWIAAAAAAAAQN865y+sLUcEAAAAAAAA+tY5f2FtOSIAAAAAAADQt875C2vLEQEAAAAAAIC+dc5fWFuOCAAAAAAAAPStc/7C2nJEAAAAAAAAoG+d8xfWliMCAAAAAAAAfeucv7C2HBEAAAAAAADoW+f8hbXliAAAAAAAAEDfOucvrC1HBAAAAAAAAPrWOX9hbTkiAAAAAAAA0LfO+QtryxEBAAAAAACAvnXOX1hbjggAAAAAAAD0rXP+wtpyRAAAAAAAAKBvnfMX1pYjAgAAAAAAAH3rnL+wthwRAAAAAAAA6Fvn/IW15YgAAAAAAABA3zrnL6wtRwQAAAAAAAD61jl/YW05IgAAAAAAANC3zvkLa8sRAQAAAAAAgL51zl9YW44IAAAAAAAA9K1z/sLackQAAAAAAACgb53zF9aWIwIAAAAAAAB965y/sLYcEQAAAAAAAOhb5/yFteWIAAAAAAAAQN865y+sLUcEAAAAAAAA+tY5f2FtOSIAAAAAAADQt875C2vLEQEAAAAAAIC+dc5fWFuOCAAAAAAAAPStc/7C2nJEAAAAAAAAoG+d8xfWliMCAAAAAAAAfeucv7C2HBEAAAAAAADoW+f8hbXliAAAAAAAAEDfOucvrC1HBAAAAAAAAPrWOX9hbTkiAAAAAAAA0LfO+QtryxEBAAAAAACAvnXOX1hbjggAAAAAAAD0rXP+wtpyRAAAAAAAAKBvnfMX1pYjAgAAAAAAAH3rnL+wthwRAAAAAAAA6Fvn/IW15YgAAAAAAABA3zrnL6wtRwQAAAAAAAD61jl/YW05IgAAAAAAANC3zvkLa8sRAQAAAAAAgL51zl9YW44IAAAAAAAA9K1z/sLackQAAAAAAACgb53zF9aWIwIAAAAAAAB965y/sLYcEQAAAAAAAOhb5/yFteWIAAAAAAAAQN865y+sLUcEAAAAAAAA+tY5f2FtOSIAAAAAAADQt875C2vLEQEAAAAAAIC+dc5fWFuOCAAAAAAAAPStc/7C2nJEAAAAAAAAoG+d8xfWliMCAAAAAAAAfeucv7C2HBEAAAAAAADoW+f8hbXliAAAAAAAAEDfOucvrC1HBAAAAAAAAPrWOX9hbTkiAAAAAAAA0LfO+QtryxEBAAAAAACAvnXOX1hbjggAAAAAAAD0rXP+wtpyRAAAAAAAAKBvnfMX1pYjAgAAAAAAAH3rnL+wthwRAAAAAAAA6Fvn/IW15YgAAAAAAABA3zrnL6wtRwQAAAAAAAD61jl/YW05IgAAAAAAANC3zvkLa8sRAQAAAAAAgL51zl9YW44IAAAAAAAA9K1z/sLackQAAAAAAACgb53zF9aWIwIAAAAAAAB965y/sLYcEQAAAAAAAOhb5/yFteWIAAAAAAAAQN865y+sLUcEAAAAAAAA+tY5f2FtOSIAAAAAAADQt875C2vLEQEAAAAAAIC+dc5fWFuOCAAAAAAAAPStc/7C2nJEAAAAAAAAoG+d8xfWliMCAAAAAAAAfeucv7C2HBEAAAAAAADoW+f8hbXliAAAAAAAAEDfOucvrC1HBAAAAAAAAPrWOX9hbTkiAAAAAAAA0LfO+QtryxEBAAAAAACAvnXOX1hbjggAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAECQAAAAAAAAAEECAAAAAAAABAkAAAAAAAAQJAAAAAAAAEDO+/0A5rvZv2b4XqYAAAAASUVORK5CYII=\"></p><p style=\"font-size:11pt;margin:0 0 13.3px 0;\"><br></p><p style=\"font-size:11pt;margin:0 0 13.3px 0;\"><br></p><p style=\"font-size:11pt;margin:0 0 13.3px 0;\"><img width=\"50\" height=\"10\" src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABgAAAANgCAYAAADqIqOWAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABuDSURBVHhe7dkBDQAADMOg+ze9+2jABjcAAAAAACBHAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACBIAAAAAAAAQJAAAAAAAACAIAEAAAAAAABBAgAAAAAAAIIEAAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIEgAAAAAAABAkAAAAAAAAIAgAQAAAAAAAEECAAAAAAAAggQAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgSAAAAAAAAECQAAAAAAAAgCABAAAAAAAAQQIAAAAAAACCBAAAAAAAAAQJAAAAAAAACBIAAAAAAACQsz3zBLp+KmrZ5AAAAABJRU5ErkJggg==\"></p><p style=\"font-size:11pt;line-height:1.4;margin:0 0 13.3px 0;\"><br></p></div>";

            Assert.AreEqual(expected, html);
        }
Exemple #18
0
    public async Task <Recipe?> WeatherForecasts(Guid id)
    {
        Recipe?result;

        using (var context = new CookingContext(Database))
        {
            result = await context.Recipies.Include(x => x.Ingredients)
                     .ThenInclude(x => x.Ingredient)
                     .Include(x => x.Ingredients)
                     .ThenInclude(x => x.MeasureUnit)
                     .Where(x => x.ID == id)
                     .FirstOrDefaultAsync()
                     .ConfigureAwait(false);
        }

        if (result != null)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
            result.Description = Rtf.ToHtml(result.Description);
        }

        return(result);
    }
Exemple #19
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ////
            Global  gb = Session["gb"] as Global;;
            paramst pp = gb.pp;

            Label1.Text = Session["Lexserise"] as String;
            exeriseid   = Session["Lexserise"] as String;
            st          = Session["user"] as StudInfo;
            ///////////////////////////////////////////////////////////
            List <extime> ltemp = Session["ltemp"] as List <extime>;
            DateTime      dtnow = DateTime.Now;
            // DateTime stime = new DateTime();
            // DateTime etime = new DateTime();
            //"{ eid = 3164, ename = 20-21绪论, stime = 2020/10/12 0:00:00, etime = 2020/11/6 0:00:00 }
            bool benable = true;

            foreach (extime o in ltemp)
            {
                int lexid = o.eid;
                if (lexid == int.Parse(exeriseid))
                {
                    DateTime stime = (DateTime)o.stime;
                    DateTime etime = (DateTime)o.etime;
                    if (dtnow < stime || dtnow > etime)
                    {
                        benable = false;
                    }
                }
            }
            if (!benable)
            {
                Button1.Enabled = false;
            }
            ////////////////////////////////////

            var questionQuery1 = from o in pp.context.exerDetail
                                 where o.lid == int.Parse(exeriseid) && o.typeq == 1
                                 orderby o.id
                                 select o;
            List <exerDetail> ell = questionQuery1.ToList <exerDetail>();


            int numm = 0;

            foreach (exerDetail eld in ell)
            {
                var questionQuery2 = from o in pp.context.TFQues
                                     where o.id == eld.qid
                                     select o;
                TFQues mcq = questionQuery2.First <TFQues>();
                System.IO.MemoryStream mstream = new System.IO.MemoryStream(mcq.question, false);
                StreamReader           rt      = new StreamReader(mstream);
                RtfSource rs    = new RtfSource(rt);
                int       no    = numm + 1;
                var       html2 = Rtf.ToHtml(rs);
                //  viewDiv.InnerHtml  = no+"."+html2;
                HtmlGenericControl Div2 = new HtmlGenericControl();
                Div2.ID = "div" + numm;
                HtmlGenericControl Div3 = new HtmlGenericControl();
                Div3.ID = "div" + (numm + 1000);
                RadioButtonList rbl = new RadioButtonList();
                rbl.ID = "rbl" + numm;
                rbl.Items.Add("True");
                rbl.Items.Add("False");

                lrb.Add(rbl);
                if (numm % 2 == 0)
                {
                    Div2.Style.Add("lcs", "OVERFLOW: auto; WIDTH: 400px; HEIGHT: 400px;color:blue;font-size:16px");
                }
                else
                {
                    Div2.Style.Add("lcs", "OVERFLOW: auto; WIDTH: 400px; HEIGHT: 400px;color: balck;font-size:16px");
                }
                rbl.RepeatDirection = RepeatDirection.Horizontal;
                ///读取答案
                var questionQuery3 = from o in pp.context.studAnsw
                                     where o.did == eld.id && o.lid == eld.lid && o.stid == st.studentid
                                     select o;
                if (questionQuery3.Count <studAnsw>() > 0)
                {
                    if (questionQuery3.First <studAnsw>().answ2 != null)
                    {
                        string cs  = "";
                        bool   ics = (bool)questionQuery3.First <studAnsw>().answ2;
                        if (!ics)
                        {
                            cs = "False";
                        }
                        if (ics)
                        {
                            cs = "True";
                        }
                        rbl.SelectedValue = cs;
                    }
                }



                ////


                Div3.Controls.Add(rbl);
                Div2.InnerHtml = no + "." + html2;
                numm           = numm + 1;
                //   rrtf.Add(richTextBox1.Rtf);
                viewDiv.Controls.Add(Div2);
                viewDiv.Controls.Add(Div3);
                //查询答案

                /*var q2 = from q in pp.context.studAnsw
                 *       where q.lid == eld.lid && q.stid == pp.st.studentid && q.did == eld.id
                 *       select q;
                 * studAnsw answ1 = null;
                 #00FFFF
                 * if (q2.Count<studAnsw>() > 0) { answ1 = q2.First<studAnsw>(); Lmqansw.Add(answ1); }
                 * ell = questionQuery1.ToList<exerDetail>();
                 */
            }
            ////
        }
Exemple #20
0
        private async Task <List <StockMovementViewModel> > GetData(ScrollViewModel Scroll)
        {
            #region Query

            var QueryData = (from ProductMaster in this.sageContext.Itmmaster
                             //join StockJou in this.sageContext.Stojou on ProductMaster.Itmref0 equals StockJou.Itmref0 into StockJou2
                             //from nStockJou in StockJou2.DefaultIfEmpty()
                             join ProductCate in this.sageContext.Itmcateg on ProductMaster.Tclcod0 equals ProductCate.Tclcod0 into ProductCate2
                             from nProductCate in ProductCate2.DefaultIfEmpty()
                             join aText in this.sageContext.Atextra on new { code1 = nProductCate.Tclcod0, code2 = "TCLAXX" } equals new { code1 = aText.Ident10, code2 = aText.Zone0 } into AText
                             from nAText in AText.DefaultIfEmpty()
                             join bText in this.sageContext.Texclob on new { Code0 = ProductMaster.Purtex0 } equals new { bText.Code0 } into bText2
                             from fullText in bText2.DefaultIfEmpty()
                             select new
            {
                // nStockJou,
                ProductMaster,
                nProductCate,
                nAText,
                fullText,
            }).Where(x => this.sageContext.Stojou.Any(z => z.Itmref0 == x.ProductMaster.Itmref0)).AsQueryable();
            // .Where(x => x.nStockJou != null)

            #endregion Query

            #region Filter

            // Filter
            var filters = string.IsNullOrEmpty(Scroll.Filter) ? new string[] { "" }
                                : Scroll.Filter.Split(null);

            foreach (string temp in filters)
            {
                string keyword = temp.ToLower();
                QueryData = QueryData.Where(x => x.nAText.Texte0.ToLower().Contains(keyword) ||
                                            x.ProductMaster.Itmdes10.ToLower().Contains(keyword) ||
                                            x.ProductMaster.Itmdes20.ToLower().Contains(keyword) ||
                                            x.ProductMaster.Itmdes30.ToLower().Contains(keyword) ||
                                            x.ProductMaster.Itmref0.ToLower().Contains(keyword));
            }

            // Product Category
            if (Scroll.WhereBanks.Any())
            {
                QueryData = QueryData.Where(x => Scroll.WhereBanks.Contains(x.ProductMaster.Tclcod0));
            }

            #endregion Filter

            #region Scroll

            switch (Scroll.SortField)
            {
            case "ItemCode":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.ProductMaster.Itmref0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.ProductMaster.Itmref0);
                }
                break;

            case "ItemDescFull":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.ProductMaster.Itmdes10);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.ProductMaster.Itmdes10);
                }
                break;

            case "Uom":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.ProductMaster.Stu0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.ProductMaster.Stu0);
                }
                break;

            case "Category":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.nProductCate.Tclcod0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.nProductCate.Tclcod0);
                }
                break;

            case "CategoryDesc":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.nAText.Texte0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.nAText.Texte0);
                }
                break;

            default:
                QueryData = QueryData.OrderBy(x => x.ProductMaster.Itmref0);
                break;
            }

            #endregion Scroll

            Scroll.TotalRow = await QueryData.CountAsync();

            var Message = "";
            try
            {
                var Datasource = await QueryData.Skip(Scroll.Skip ?? 0).Take(Scroll.Take ?? 15).AsNoTracking().ToListAsync();

                var MapDatas = new List <StockMovementViewModel>();

                var Purchase = new List <int>()
                {
                    6, 8
                };
                var Stock = new List <int>()
                {
                    19, 20, 31, 32
                };
                var Sale = new List <int>()
                {
                    5, 13
                };

                foreach (var item in Datasource)
                {
                    var MapData = new StockMovementViewModel()
                    {
                        Category     = item?.nProductCate?.Tclcod0 ?? "",
                        CategoryDesc = item?.nAText?.Texte0 ?? "",
                        ItemCode     = item?.ProductMaster?.Itmref0,
                        ItemDesc     = item?.ProductMaster?.Itmdes10,
                        Uom          = string.IsNullOrEmpty(item?.ProductMaster?.Pcu0.Trim()) ? item?.ProductMaster?.Stu0 : item?.ProductMaster?.Pcu0,
                    };

                    //ItemName
                    if (item?.fullText?.Texte0 != null)
                    {
                        if (item.fullText.Texte0.StartsWith("{\\rtf1"))
                        {
                            MapData.ItemDescFull = Rtf.ToHtml(item?.fullText?.Texte0);
                        }
                        else
                        {
                            MapData.ItemDescFull = item?.fullText?.Texte0;
                        }
                    }
                    else
                    {
                        MapData.ItemDescFull = item?.fullText?.Texte0 ?? "-";
                    }

                    var StockJoc = await this.repository.GetToListAsync(x => x, x => x.Itmref0 == MapData.ItemCode && x.Regflg0 == 1);

                    foreach (var item2 in StockJoc.GroupBy(x => new {
                        x.Vcrnum0,
                        x.Vcrtyp0,
                        x.Iptdat0,
                        x.Loc0,
                    }))
                    {
                        MapData.StockMovement2s.Add(new StockMovement2ViewModel
                        {
                            Bom          = item2?.FirstOrDefault()?.Cce1 ?? "",
                            DocNo        = item2?.Key?.Vcrnum0 ?? "",
                            Location     = item2?.FirstOrDefault()?.Loc0 ?? "",
                            MovementDate = item2?.Key?.Iptdat0,
                            MovementType = Purchase.Contains(item2.Key.Vcrtyp0) ? "Purchase" :
                                           (Stock.Contains(item2.Key.Vcrtyp0) ? "Stock" :
                                            (Sale.Contains(item2.Key.Vcrtyp0) ? "Sale" : "Stock")),
                            Project     = item2?.FirstOrDefault()?.Cce2 ?? "",
                            WorkGroup   = item2?.FirstOrDefault()?.Cce3 ?? "",
                            QuantityIn  = (double)item2?.Where(x => x.Qtypcu0 > 0)?.Sum(x => x?.Qtypcu0 ?? (decimal)0),
                            QuantityOut = (double)item2?.Where(x => x.Qtypcu0 <= 0)?.Sum(x => x?.Qtypcu0 ?? (decimal)0),
                        });
                    }

                    MapDatas.Add(MapData);
                }

                return(MapDatas);
            }
            catch (Exception ex)
            {
                Message = $"{ex.ToString()}";
            }

            return(null);
        }
Exemple #21
0
 public frmWCCLicense()
 {
     InitializeComponent();
     browserwcclicense.DocumentText = Rtf.ToHtml(new RtfSource(new MemoryStream(Encoding.UTF8.GetBytes(Resources.wcc_eula))));
 }
Exemple #22
0
        protected void Page_Load(object sender, EventArgs e)
        {
            ////
            Global gb = Session["gb"] as Global;;;

            pp          = gb.pp;
            Label1.Text = Session["Lexserise"] as String;
            exeriseid   = Session["Lexserise"] as String;
            st          = Session["user"] as StudInfo;

            var questionQuery1 = from o in pp.context.exerDetail
                                 where o.lid == int.Parse(exeriseid) && o.typeq == 3
                                 orderby o.id
                                 select o;

            ell = questionQuery1.ToList <exerDetail>();

            int numm = 0;
            ///////////////////////////////////////////////////////////
            List <extime> ltemp = Session["ltemp"] as List <extime>;
            DateTime      dtnow = DateTime.Now;
            // DateTime stime = new DateTime();
            // DateTime etime = new DateTime();
            //"{ eid = 3164, ename = 20-21绪论, stime = 2020/10/12 0:00:00, etime = 2020/11/6 0:00:00 }
            bool benable = true;

            foreach (extime o in ltemp)
            {
                int lexid = o.eid;
                if (lexid == int.Parse(exeriseid))
                {
                    DateTime stime = (DateTime)o.stime;
                    DateTime etime = (DateTime)o.etime;
                    if (dtnow < stime || dtnow > etime)
                    {
                        benable = false;
                    }
                }
            }
            // if (!benable) Button1.Enabled = false;
            ////////////////////////////////////

            foreach (exerDetail eld in ell)
            {
                var questionQuery2 = from o in pp.context.SQues
                                     where o.id == eld.qid
                                     select o;
                SQues mcq = questionQuery2.First <SQues>();
                System.IO.MemoryStream mstream = new System.IO.MemoryStream(mcq.question, false);
                StreamReader           rt      = new StreamReader(mstream);
                RtfSource rs    = new RtfSource(rt);
                int       no    = numm + 1;
                var       html2 = Rtf.ToHtml(rs);
                //  viewDiv.InnerHtml  = no+"."+html2;
                HtmlGenericControl Div2 = new HtmlGenericControl();
                Div2.ID = "div" + numm;
                HtmlGenericControl Div3 = new HtmlGenericControl();
                Div3.ID = "div" + (numm + 1000);
                HtmlGenericControl Div4 = new HtmlGenericControl();
                Div4.ID = "pdiv" + numm;
                Button rbl = new Button();
                if (!benable)
                {
                    rbl.Enabled = false;
                }
                rbl.Click          += new System.EventHandler(this.but_Click);
                rbl.CommandArgument = numm.ToString();
                HtmlInputFile fbutton = new HtmlInputFile();
                fbutton.Accept = "image/*";
                fbutton.ID     = numm.ToString();
                lfb.Add(fbutton);
                // CommandArgument = "Descending"
                // OnCommand = "CommandBtn_Click"
                rbl.Text = "上传图片";
                rbl.ID   = "rbl" + numm;
                Image Image1            = new Image();
                HtmlGenericControl Div5 = new HtmlGenericControl();
                Div5.InnerHtml = "</br>" + "</br>";
                if (numm % 2 == 0)
                {
                    Div2.Style.Add("lcs", "OVERFLOW: auto; WIDTH: 400px; HEIGHT: 400px;color:blue;font-size:16px");
                }
                else
                {
                    Div2.Style.Add("lcs", "OVERFLOW: auto; WIDTH: 400px; HEIGHT: 400px;color: balck;font-size:16px");
                }

                ///读取答案
                var questionQuery3 = from o in pp.context.studAnsw
                                     where o.did == eld.id && o.lid == eld.lid && o.stid == st.studentid
                                     select o;
                if (questionQuery3.Count <studAnsw>() > 0)
                {
                    if (questionQuery3.First <studAnsw>().answ3 != null)
                    {
                        // bool ics = (bool)questionQuery3.First<studAnsw>().answ2;


                        //
                        //  Image himg = new Image();
                        // byte[] bytes = questionQuery3.First<studAnsw>().answ3;
                        // Response.BinaryWrite(bytes);
                        //  MemoryStream ms = new MemoryStream(bytes);
                        // himg = Image.FromStream(ms, true);
                        //
                        byte[]       bytes   = questionQuery3.First <studAnsw>().answ3;
                        MemoryStream MStream = new MemoryStream(bytes);
                        string       base64  = Convert.ToBase64String(MStream.ToArray());
                        Image1.ImageUrl   = "data:image/png;base64," + base64;
                        Image1.ImageAlign = ImageAlign.Middle;
                        // Image1.Width = 600;
                        Image1.Width = Unit.Percentage(70);
                        Div4.Controls.Add(Image1);
                    }
                }



                ////

                Div3.Controls.Add(fbutton);
                Div3.Controls.Add(rbl);
                Div2.InnerHtml = "</br>" + no + "." + html2 + "</br>";
                numm           = numm + 1;
                //   rrtf.Add(richTextBox1.Rtf);
                viewDiv.Controls.Add(Div2);

                viewDiv.Controls.Add(Div4);
                viewDiv.Controls.Add(Div5);
                viewDiv.Controls.Add(Div3);
                //查询答案

                /*var q2 = from q in pp.context.studAnsw
                 *       where q.lid == eld.lid && q.stid == pp.st.studentid && q.did == eld.id
                 *       select q;
                 * studAnsw answ1 = null;
                 #00FFFF
                 * if (q2.Count<studAnsw>() > 0) { answ1 = q2.First<studAnsw>(); Lmqansw.Add(answ1); }
                 * ell = questionQuery1.ToList<exerDetail>();
                 */
            }
            ////
        }
Exemple #23
0
        private async Task <List <StockMovementViewModel> > GetData2(ScrollViewModel scroll)
        {
            if (scroll != null)
            {
                string sWhere = "";
                string sSort  = "";
                string sQuery = "";

                #region Where

                var filters = string.IsNullOrEmpty(scroll.Filter) ? new string[] { "" }
                                : scroll.Filter.Split(null);
                foreach (string temp in filters)
                {
                    if (string.IsNullOrEmpty(temp))
                    {
                        continue;
                    }

                    string keyword = temp.ToLower();
                    sWhere += (string.IsNullOrEmpty(sWhere) ? "WHERE " : " AND ") +
                              $@"(LOWER(ITM.ITMREF_0) LIKE '%{keyword}%'
                                                        OR LOWER(ITM.ITMDES1_0) LIKE '%{keyword}%'
                                                        OR LOWER(ITM.ITMDES2_0) LIKE '%{keyword}%'
                                                        OR LOWER(ITM.ITMDES3_0) LIKE '%{keyword}%''
                                                        OR LOWER(ATE.TEXTE_0) LIKE '%{keyword}%')";
                }

                // Product Category
                if (scroll.WhereBanks.Any())
                {
                    var list = new List <string>();

                    foreach (var item in scroll.WhereBanks)
                    {
                        list.Add($"'{item}'");
                    }

                    var banks = string.Join(',', list);
                    sWhere += (string.IsNullOrEmpty(sWhere) ? "WHERE " : " AND ") + $"ITM.TCLCOD_0 IN ({banks})";
                    // predicate = predicate.And(x => Scroll.WhereBanks.Contains(x.Ban0));
                }

                #endregion Where

                #region Sort

                switch (scroll.SortField)
                {
                case "ItemCode":
                    if (scroll.SortOrder == -1)
                    {
                        sSort = $"ITM.ITMREF_0 DESC";    //QueryData = QueryData.OrderByDescending(x => x.PAYM.Pshnum0);
                    }
                    else
                    {
                        sSort = $"ITM.ITMREF_0 ASC";    //QueryData = QueryData.OrderBy(x => x.PAYM.Pshnum0);
                    }
                    break;

                case "ItemDescFull":
                    if (scroll.SortOrder == -1)
                    {
                        sSort = $"ITM.ITMDES1_0 DESC";    //QueryData = QueryData.OrderByDescending(x => x.PAYM.Pjth0);
                    }
                    else
                    {
                        sSort = $"ITM.ITMDES1_0 ASC";    //QueryData = QueryData.OrderBy(x => x.PAYM.Pjth0);
                    }
                    break;

                case "Uom":
                    if (scroll.SortOrder == -1)
                    {
                        sSort = $"ITM.STU_0 DESC";    //QueryData = QueryData.OrderByDescending(x => x.PAYM.Prqdat0);
                    }
                    else
                    {
                        sSort = $"ITM.STU_0 ASC";    //QueryData = QueryData.OrderBy(x => x.PAYM.Prqdat0);
                    }
                    break;

                case "Category":
                    if (scroll.SortOrder == -1)
                    {
                        sSort = $"ITM.TCLCOD_0 DESC";    //QueryData = QueryData.OrderByDescending(x => x.prd.Itmdes0);
                    }
                    else
                    {
                        sSort = $"ITM.TCLCOD_0 ASC";    //QueryData = QueryData.OrderBy(x => x.prd.Itmdes0);
                    }
                    break;

                case "CategoryDesc":
                    if (scroll.SortOrder == -1)
                    {
                        sSort = $"ATE.TEXTE_0 DESC";    //QueryData = QueryData.OrderByDescending(x => x.PAYM.Cce0);
                    }
                    else
                    {
                        sSort = $"ATE.TEXTE_0 ASC";    //QueryData = QueryData.OrderBy(x => x.PAYM.Cce0);
                    }
                    break;

                default:
                    sSort = $"ITM.ITMREF_0 DESC";    //QueryData = QueryData.OrderByDescending(x => x.PAYM.Prqdat0);
                    break;
                }

                #endregion Sort

                #region Query
                // Query mulitple command
                sQuery = $@"SELECT	ITM.ITMREF_0 AS [ItemCode],
                                    ITM.ITMDES1_0 AS [ItemDesc],
                                    TXT.TEXTE_0 AS [ItemDescFull],
                                    CAT.TCLCOD_0 AS [Category],
                                    ATE.TEXTE_0 AS [CategoryDesc],
                                    ISNULL(NULLIF(ITM.PCU_0,''),ITM.STU_0) AS [Uom]
                            FROM	VIPCO.ITMMASTER ITM
                                    LEFT JOIN VIPCO.TEXCLOB TXT 
                                        ON TXT.CODE_0 = ITM.PURTEX_0
                                    LEFT JOIN VIPCO.ITMCATEG CAT 
                                        ON ITM.TCLCOD_0 = CAT.TCLCOD_0
                                    LEFT JOIN VIPCO.ATEXTRA ATE 
                                        ON CAT.TCLCOD_0 = ATE.IDENT1_0
                                        AND	ATE.ZONE_0 = 'TCLAXX'
                            {sWhere}
                            ORDER BY    {sSort}
                            OFFSET      @Skip ROWS       -- skip 10 rows
                            FETCH NEXT  @Take ROWS ONLY; -- take 10 rows;
                            SELECT	    COUNT(*)
                            FROM	    VIPCO.ITMMASTER ITM
                                        LEFT JOIN VIPCO.TEXCLOB TXT 
                                            ON TXT.CODE_0 = ITM.PURTEX_0
                                        LEFT JOIN VIPCO.ITMCATEG CAT 
                                            ON ITM.TCLCOD_0 = CAT.TCLCOD_0
                                        LEFT JOIN VIPCO.ATEXTRA ATE 
                                            ON CAT.TCLCOD_0 = ATE.IDENT1_0
                                            AND	ATE.ZONE_0 = 'TCLAXX'
                            {sWhere};";

                #endregion Query

                var result = await this.repositoryStock.GetListEntitesAndTotalRow(sQuery, new { Skip = scroll.Skip ?? 0, Take = scroll.Take ?? 15 });

                var dbData = result.Entities;
                scroll.TotalRow = result.TotalRow;

                string stockJournal = "";
                foreach (var item in dbData)
                {
                    if (item.ItemDescFull.StartsWith("{\\rtf1"))
                    {
                        item.ItemDescFull = Rtf.ToHtml(item?.ItemDescFull);
                    }
                    else
                    {
                        item.ItemDescFull = item?.ItemDesc;
                    }


                    #region stockJournal

                    stockJournal = $@"SELECT	STO.VCRNUM_0 AS DocNo,
                                                STO.VCRTYP_0 AS MovementType,
                                                STO.IPTDAT_0 AS MovementDate,
                                                (CASE 
                                                    WHEN SUM(STO.QTYPCU_0) > 0 
                                                        THEN SUM(STO.QTYPCU_0)
                                                END) AS QuantityIn,
                                                (CASE 
                                                    WHEN SUM(STO.QTYPCU_0) <= 0 
                                                        THEN SUM(STO.QTYPCU_0)
                                                END) AS QuantityOut,
                                                STO.LOC_0 AS [Location],
                                                STO.CCE_1 AS Bom,
                                                STO.CCE_2 AS Project,
                                                STO.CCE_3 AS WorkGroup

                                        FROM	VIPCO.STOJOU STO
                                        WHERE   STO.ITMREF_0 = @ItemCode AND STO.REGFLG_0 = 1
                                        GROUP BY	STO.VCRNUM_0,
                                                    STO.VCRTYP_0,
                                                    STO.IPTDAT_0,
                                                    STO.LOC_0,
                                                    STO.CCE_1,
                                                    STO.CCE_2,
                                                    STO.CCE_3
                                    ORDER BY    STO.IPTDAT_0";

                    var stockMoves = await this.repositoryStock2.GetListEntites(stockJournal, new { item.ItemCode });

                    item.StockMovement2s.AddRange(stockMoves);

                    #endregion stockJournal
                }

                return(dbData);
            }
            return(null);
        }
Exemple #24
0
        private void TestConvert(string rtf, string html)
        {
            var actual = Rtf.ToHtml(rtf);

            Assert.AreEqual(html, actual);
        }
Exemple #25
0
        public void EncapsulatedHtml()
        {
            // FROM: https://msdn.microsoft.com/en-us/library/ee204432(v=exchg.80).aspx
            var rtf      = @"{\rtf1\ANSI\ansicpg1251\fromhtml1 \deff0
{\fonttbl {\f0\fmodern Courier New;}{\f1\fswiss Arial;}{\f2\fswiss\fcharset0 Arial;}}
{\colortbl\red0\green0\blue0;\red0\green0\blue255;} 
{\*\htmltag64}
\uc1\pard\plain\deftab360 \f0\fs24
{\*\htmltag <HTML><head>\par
<style>\par
<!--\par
 /* Style Definitions */\par
 p.MsoNormal, li.MsoNormal \{font-family:Arial;\}\par
-->\par
</style>\par
\tab <!-- This is a HTML comment.\par
There is a horizontal tab (%x09) character before the comment, \par
and some new lines inside the comment. -->\par
</head>\par
<body>\par
<p\par
class=""MsoNormal"">}
{\htmlrtf \f1 \htmlrtf0 Note the line break inside a P tag. {\*\htmltag <b>}{\htmlrtf \b \htmlrtf0 This is a bold text{\*\htmltag </b>}} \htmlrtf\par\htmlrtf0}
\htmlrtf \par \htmlrtf0
{\*\htmltag </p>\par
<p class=""MsoNormal"">\par}
{\htmlrtf \f1 \htmlrtf0 This is a normal text with a character references:
{\*\htmltag &nbsp;}\htmlrtf \'a0\htmlrtf0  {\*\htmltag &lt;}\htmlrtf <\htmlrtf0  {\*\htmltag &uml;}\htmlrtf {\f2\'a8}\htmlrtf0{\*\htmltag <br>\par}\htmlrtf\line\htmlrtf0
characters which have special meaning in RTF: \{\}\\{\*\htmltag <br>\par}\htmlrtf\line\htmlrtf0\htmlrtf\par\htmlrtf0}
{\*\htmltag </p>\par
<ol>\par
    <li class=""MsoNormal"">}{\htmlrtf {{\*\pn\pnlvlbody\pndec\pnstart1\pnindent360{\pntxta.}}\li360\fi-360{\pntext 1.\tab} \f1 \htmlrtf0 This is a list item}\htmlrtf\par\htmlrtf0}
{\*\htmltag \par
</ol>\par
</body>\par
</HTML>\par }}";
            var html     = Rtf.ToHtml(rtf);
            var expected = @" <HTML><head>
<style>
<!--
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal {font-family:Arial;}
-->
</style>
<!-- This is a HTML comment.
There is a horizontal tab (%x09) character before the comment, 
and some new lines inside the comment. -->
</head>
<body>
<p
class=""MsoNormal"">Note the line break inside a P tag. <b>This is a bold text</b> </p>
<p class=""MsoNormal"">
This is a normal text with a character references:&nbsp; &lt; &uml;<br>
characters which have special meaning in RTF: {}\<br>
</p>
<ol>
    <li class=""MsoNormal"">This is a list item
</ol>
</body>
</HTML>
";

            Assert.AreEqual(expected, html);
        }
Exemple #26
0
 //[TestMethod]
 public void Adhoc()
 {
     using (var stream = File.OpenRead(@"C:\Users\erdomke\source\GitHub\Message.rtf"))
         File.WriteAllText(@"C:\Users\erdomke\source\GitHub\Message.html", Rtf.ToHtml(stream));
 }
        private async Task <List <StockOnHandViewModel> > GetData(ScrollViewModel Scroll)
        {
            #region Query

            var QueryData = (from ProductsSites in this.sageContext.Itmfacilit
                             join ProductTotal in this.sageContext.Itmmvt on ProductsSites.Itmref0 equals ProductTotal.Itmref0 into ProductStock
                             from nProductStock in ProductStock.DefaultIfEmpty()
                             join ProductMaster in this.sageContext.Itmmaster on ProductsSites.Itmref0 equals ProductMaster.Itmref0 into ProductMaster2
                             from nProductMaster in ProductMaster2.DefaultIfEmpty()
                             join ProductCate in this.sageContext.Itmcateg on nProductMaster.Tclcod0 equals ProductCate.Tclcod0 into ProductCate2
                             from nProductCate in ProductCate2.DefaultIfEmpty()
                             join aText in this.sageContext.Atextra on new { code1 = nProductCate.Tclcod0, code2 = "TCLAXX" } equals new { code1 = aText.Ident10, code2 = aText.Zone0 } into AText
                             from nAText in AText.DefaultIfEmpty()
                             join bText in this.sageContext.Texclob on new { Code0 = nProductMaster.Purtex0 } equals new { bText.Code0 } into bText2
                             from fullText in bText2.DefaultIfEmpty()
                             select new
            {
                ProductsSites,
                nProductStock,
                nProductMaster,
                nProductCate,
                nAText,
                fullText,
            }).AsQueryable();

            #endregion Query

            #region Filter

            // Filter
            var filters = string.IsNullOrEmpty(Scroll.Filter) ? new string[] { "" }
                                : Scroll.Filter.Split(null);

            foreach (string temp in filters)
            {
                string keyword = temp.ToLower();
                QueryData = QueryData.Where(x => x.nAText.Texte0.ToLower().Contains(keyword) ||
                                            x.nProductMaster.Itmdes10.ToLower().Contains(keyword) ||
                                            x.nProductMaster.Itmdes20.ToLower().Contains(keyword) ||
                                            x.nProductMaster.Itmdes30.ToLower().Contains(keyword) ||
                                            x.ProductsSites.Itmref0.ToLower().Contains(keyword));
            }

            // Product Category
            if (Scroll.WhereBanks.Any())
            {
                QueryData = QueryData.Where(x => Scroll.WhereBanks.Contains(x.nProductMaster.Tclcod0));
            }

            QueryData = QueryData.Where(x => x.nProductStock.Physto0 > 0 || x.ProductsSites.Ofs0 > 0);

            #endregion Filter

            #region Scroll

            switch (Scroll.SortField)
            {
            case "ItemCode":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.nProductMaster.Itmref0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.nProductMaster.Itmref0);
                }
                break;

            case "ItemDescFull":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.nProductMaster.Itmdes10);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.nProductMaster.Itmdes10);
                }
                break;

            case "Uom":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.nProductMaster.Stu0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.nProductMaster.Stu0);
                }
                break;

            case "Category":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.nProductCate.Tclcod0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.nProductCate.Tclcod0);
                }
                break;

            case "CategoryDesc":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.nAText.Texte0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.nAText.Texte0);
                }
                break;

            case "InternelStockString":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.nProductStock.Physto0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.nProductStock.Physto0);
                }
                break;

            case "OnOrderString":
                if (Scroll.SortOrder == -1)
                {
                    QueryData = QueryData.OrderByDescending(x => x.ProductsSites.Ofs0);
                }
                else
                {
                    QueryData = QueryData.OrderBy(x => x.ProductsSites.Ofs0);
                }
                break;

            default:
                QueryData = QueryData.OrderByDescending(x => x.nProductMaster.Itmref0);
                break;
            }

            #endregion Scroll

            Scroll.TotalRow = await QueryData.CountAsync();

            var Message = "";
            try
            {
                var Datasource = await QueryData.Skip(Scroll.Skip ?? 0).Take(Scroll.Take != -1 ? (Scroll.Take ?? 15) : (Scroll.TotalRow ?? 15)).AsNoTracking().ToListAsync();

                var MapDatas = new List <StockOnHandViewModel>();

                foreach (var item in Datasource)
                {
                    var MapData = new StockOnHandViewModel()
                    {
                        Category      = item?.nProductCate?.Tclcod0,
                        CategoryDesc  = item?.nAText?.Texte0,
                        InternelStock = (double)(item?.nProductStock?.Physto0 ?? 0),
                        ItemCode      = item?.nProductMaster?.Itmref0,
                        ItemDesc      = item?.nProductMaster?.Itmdes10,
                        OnOrder       = (double)(item?.nProductStock?.Ordsto0 ?? 0),
                        Uom           = string.IsNullOrEmpty(item?.nProductMaster?.Pcu0.Trim()) ? item?.nProductMaster?.Stu0 : item?.nProductMaster?.Pcu0,
                    };

                    // Set Stock
                    var ListStock = await this.repositoryStock.GetToListAsync(x => x, x => x.Itmref0 == MapData.ItemCode);

                    if (ListStock != null && ListStock.Any())
                    {
                        foreach (var stock in ListStock.GroupBy(x => new { x.Loc0, x.Pcu0, x.Pjt0, x.Lot0, x.Bpslot0, x.Palnum0 }))
                        {
                            var itemStock = new StockLocationViewModel
                            {
                                LocationCode = stock.Key.Loc0,
                                Uom          = stock.Key.Pcu0,
                                Project      = stock.Key.Pjt0,
                                LotNo        = stock.Key.Lot0,
                                HeatNo       = stock.Key.Bpslot0,
                                Origin       = stock.Key.Palnum0,
                                Quantity     = (double)(stock?.Sum(z => z.Qtypcu0) ?? (decimal)0),
                            };

                            if (!string.IsNullOrEmpty(itemStock.LotNo))
                            {
                                var stock_lot = await this.repositoryStockLot.GetFirstOrDefaultAsync
                                                    (x => x, x => x.Itmref0 == MapData.ItemCode && x.Lot0 == itemStock.LotNo);

                                if (stock_lot != null)
                                {
                                    if (stock_lot.Shldat0.Year < 2600)
                                    {
                                        itemStock.ExpDate = stock_lot.Shldat0;
                                    }
                                }
                            }

                            MapData.StockLocations.Add(itemStock);
                        }
                    }

                    //ItemName
                    if (item.fullText?.Texte0 != null)
                    {
                        if (item.fullText.Texte0.StartsWith("{\\rtf1"))
                        {
                            MapData.ItemDescFull = Rtf.ToHtml(item.fullText?.Texte0);
                        }
                        else
                        {
                            MapData.ItemDescFull = item?.fullText?.Texte0;
                        }
                    }
                    else
                    {
                        MapData.ItemDescFull = item?.fullText?.Texte0 ?? "-";
                    }

                    MapDatas.Add(MapData);
                }

                return(MapDatas);
            }
            catch (Exception ex)
            {
                Message = $"{ex.ToString()}";
            }

            return(null);
        }
Exemple #28
0
        private void TestConvert(RtfSource rtf, string html)
        {
            var actual = Rtf.ToHtml(rtf);

            ParseRender.AssertEqual(html, actual);
        }
Exemple #29
0
 public frmWCCLicense()
 {
     InitializeComponent();
     browserwcclicense.DocumentText = Rtf.ToHtml(new RtfSource(new StreamReader(Resources.wcc_eula)));
 }
Exemple #30
0
        public string getHTML(PDF pdf)
        {
            string htmlMassnahmen = Rtf.ToHtml(pdf.beschreibungMassnahme.Rtf);

            htmlMassnahmen = reduceRtfFormatting(htmlMassnahmen);

            string html = "";

            html = $@"
            <div style='position: fixed; left: 150px; top: 810px; width:65% '>
            <p style='font-size: 8px; '>Eictronic GmbH -Sitz: 37339 Berlingerode - Amtsgericht Jena - HRB 513528 - Geschäftsführer: Jörg Boden Steuernummer: 157 / 208 / 08940  UST - ID - Nr.: DE 251137789 Finanzamt Mühlhausen</p>
            </div>         
            <p style='font-size: 12px; ' >
                Eictronic GmbH, Gasse 25, 37339 Berlingerode
            </p>
            <table>
                <tr>
                    <td valign: top>
                    {pdf.empfaenger.AnsprechpartnerVorname} {pdf.empfaenger.AnsprechpartnerName}
                  </td>
                </tr>
                  <tr>
                    <td valign: top>
                    {pdf.empfaenger.Firma}  
                  </td>
                </tr>
                  <tr>
                    <td valign: top>
                    {pdf.empfaenger.Bereich}
                  </td>
                </tr>
                  <tr>
                    <td valign: top>
                    {pdf.empfaenger.Straße}
                  </td>
                </tr>
                <tr>
                    <td valign: top>
                    {pdf.empfaenger.PLZ} {pdf.empfaenger.Ort}
                  </td>
                </tr>
            </table>
            <table style='margin-top: 30px; '>
                <tr>
                    <td valign: top>
                    Aufragsnummer:
                  </td>
                  <td>
                    {pdf.auftrag.SMNummer} (bei Rückfragen bitte immer angeben)
                  </td>
                </tr>
                  <tr>
                    <td valign: top>
                    Ansprechpartner:    
                  </td>
                  <td>
                    {pdf.ansprechpartner.BearbeiterVorname} {pdf.ansprechpartner.BearbeiterName}, {pdf.ansprechpartner.Telefon}, {pdf.ansprechpartner.Email}
                  </td>
                </tr>
                  <tr>
                    <td valign= top>
                    Datum:
                  </td>
                  <td>
                    {pdf.datum.ToString("dd.MM.yyyy")}
                  </td>
                </tr>
                  <tr>
                    <td valign=top >
                    Betreff:
                  </td>
                  <td>
                    Zustimmung des Trägers der Wegebaulast nach §68 Telekommunikationsgesetz (TKG)
                  </td>
                </tr>
                </table>
                ";
            //ort der Maßnahmen
            html += $@"
                <table style='width:100%; margin-top:15px'>
                <tr>
                    <td style='valign: top; width:20%'>
                    Bauvorhaben:
                  </td>
                  <td>
                    {pdf.ortDerMassnahme}
                  </td>
                </tr>
                </table>
                ";
            //anschreiben
            html += $@"
            <div id='anschreiben'>
                <p>
                    Sehr geehrte Damen und Herren,
                    </br>
                    </br>
                    die Telekom Deutschland GmbH beabsichtigt nach den beiliegenden Plänen ihre </br>
                    Telekommunikationslinien zu ändern/zu erweitern.</br>
                    Dazu hat sie uns, die Eictronic GmbH beauftragt und bevollmächtigt die Aufgaben der Planung</br>
                    und Wegesicherung wahrzunehmen.
                </p>
            </div>
            
            <table style='width: 100%; margin-top:30px'>
                 <tr>
                    <td  valign=top style=' width:20%'>
                      Baubeschreibung:
                  </td>
                </tr>
                <tr>
                  <td valign=top>
                    {htmlMassnahmen}
                  </td>
                </tr>
            </table>
            <table style='page-break-inside: avoid'>
                <tr>
                    <td>
                            Wir bitten Sie, die Zustimmung gemäß § 68 Abs. 3 Satz 1 TKG zugunsten der Telekom
                            Deutschland GmbH (Reg-Nr.: 93/007 nach § 6 TKG) als Nutzungsberechtigte nach § 68 Abs. 1 i. V. m. § 69 Abs. 1 TKG zu erteilen.  Bitte senden Sie die Zustimmung unter Angabe der im Betreff 
                            genannten SM-Nr. an:</br></br></br>
                  </td>
                </tr>
                <tr>
                    <td>
                    <b>{pdf.wesiTeam.Firma}</b>
                  </td>
                </tr>
                <tr>
                    <td>
                    <b>{pdf.wesiTeam.Niederlassung}</b>
                  </td>
                </tr>
                <tr>
                    <td>
                    <b>{pdf.wesiTeam.Bereich}</b>
                  </td>
                </tr>
                <tr>
                    <td>
                    <b>{pdf.wesiTeam.Strasse}</b>
                  </td>
                </tr>
                <tr>
                    <td>
                        <b>{pdf.wesiTeam.PLZ} {pdf.wesiTeam.Stadt}</b>
                  </td>
                </tr>
                </table>
                <table style='width:100%; page-break-inside: avoid'>
                <tr>
                <td>
            <p>
                Rechtzeitig vor Baubeginn wird Ihnen der genaue Ausführungszeitraum sowie die mit den Arbeiten beauftragte Firma schriftlich mitgeteilt (Baubeginnanzeige).
            </p>
            <p>
            Vorraussichtllicher Ausführungszeitraum: {pdf.ausfuehrungszeitraum.ToString("MMMM yyyy")}
            ";
            if (pdf.ausfuehrungszeitraum.Month != pdf.ausfuehrungszeitraumEnde.Month || pdf.ausfuehrungszeitraum.Year != pdf.ausfuehrungszeitraumEnde.Year)
            {
                html += $@" bis {pdf.ausfuehrungszeitraumEnde.ToString("MMMM yyyy")}";
            }
            html += $@"
            <p>
                Falls bei der Bauausführung Ihre Belange betroffen sind, bitten wir um deren Angabe und um Beifügung von Plänen der betroffenen Anlagen.</br>
            </p>

            <p style='margin-top:30px'>
                Für Rückfragen stehen wir Ihnen gern zur Verfügung
            </p>


                <p style='margin-top:60px'>
                    Mit freundlichen Grüßen:
                </p>
                <p>
                    i.A. {pdf.ansprechpartner.BearbeiterVorname} {pdf.ansprechpartner.BearbeiterName}
                </p>
                </td>
                </tr>
                </table>
                <p>
                    Anlagen:
                </p>
            ";

            foreach (string s in pdf.Zusatzanlagen)
            {
                html += "<p>" + s + "</p>";
            }



            return(html);
        }