Пример #1
0
        private async Task <Stream> LoadPdfAsync(string ExportFileName = "")
        {
            Stream stream = new MemoryStream();

            try
            {
                string DEST = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "test1.pdf");
                if (string.IsNullOrEmpty(ExportFileName))
                {
                    if (Directory.Exists(ExportFileName) == true)
                    {
                        DEST = ExportFileName;
                    }
                }
                FileInfo file      = new FileInfo(DEST);
                string   jsonParam = "";
                IDictionary <string, object> dictParam = new Dictionary <string, object>();
                if (inoicePrinting.InputParameters == null)
                {
                    if (string.IsNullOrEmpty(inv.Document.QueryParameter) == false)
                    {
                        string paramString = inv.Document.QueryParameter;
                        jsonParam = OpenParameter_Dialog(paramString);
                        var jobjParam = JsonConvert.DeserializeObject <JObject>(jsonParam);
                        dictParam = jobjParam.ToObject <Dictionary <string, object> >();
                        inoicePrinting.InputParameters = dictParam;
                    }
                }
                else
                {
                    dictParam = inoicePrinting.InputParameters;
                }
                PrepareSqlReportData(inoicePrinting, inv, dictParam);
                //if (string.IsNullOrEmpty(inv.Document.DetailSource))
                //{
                //    if (inoicePrinting.DetailData == null || inoicePrinting.DetailData.Count() == 0)
                //    {


                //    }
                //}



                byte[] bytes = await inoicePrinting.PrintInvoiceAsync(inv);

                //byte[] bytes = memoryStream.ToArray();
                stream = new MemoryStream(bytes);
                pdfDocumentViewer1.LoadFromStream(stream);
                //pdfDocumentViewer1.LoadFromFile(DEST);


                return(stream);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return(stream);
            }
        }