예제 #1
0
        static void Main(string[] args)
        {
            //PDFCreator.DemoTableSpacing();
            //return;
            //PDFCreator.CreatePdf();
            List <TransactionDetail> transactionDetails = new List <TransactionDetail>();
            string conString = @"Data Source=JAYANTGURU-PC\SQLSERVER2017;Initial Catalog=Practice;Persist Security Info=True;User ID=sa;Password=guru@000";

            using (SqlConnection sqlConn = new SqlConnection(conString))
            {
                sqlConn.Open();
                using (SqlCommand sqlCmd = new SqlCommand(@"SELECT FolioNumber
                                                                    ,ClientCode
                                                                    ,ClientName
                                                                    ,SchemeName
                                                                    ,AMCName
                                                                    ,AssetClass
                                                                    ,Category
                                                                    ,TransactionType
                                                                    ,SubType
                                                                    ,TransactionDate
                                                                    ,TransactionNumber
                                                                    ,Units
                                                                    ,Price
                                                                    ,Amount
                                                                   FROM [Practice].[dbo].[TransactionDetail]", sqlConn))
                {
                    using (SqlDataReader sqlReader = sqlCmd.ExecuteReader())
                    {
                        // get the data and fill rows 5 onwards
                        while (sqlReader.Read())
                        {
                            TransactionDetail transactionDetail = new TransactionDetail();
                            transactionDetail.FolioNumber       = sqlReader["FolioNumber"] != DBNull.Value ? Convert.ToInt64(sqlReader["FolioNumber"]) : 0;
                            transactionDetail.ClientCode        = sqlReader["ClientCode"] != DBNull.Value ? sqlReader["ClientCode"].ToString() : string.Empty;
                            transactionDetail.ClientName        = sqlReader["ClientName"] != DBNull.Value ? sqlReader["ClientName"].ToString() : string.Empty;
                            transactionDetail.SchemeName        = sqlReader["SchemeName"] != DBNull.Value ? sqlReader["SchemeName"].ToString() : string.Empty;
                            transactionDetail.AMCName           = sqlReader["AMCName"] != DBNull.Value ? sqlReader["AMCName"].ToString() : string.Empty;
                            transactionDetail.AssetClass        = sqlReader["AssetClass"] != DBNull.Value ? sqlReader["AssetClass"].ToString() : string.Empty;
                            transactionDetail.Category          = sqlReader["Category"] != DBNull.Value ? sqlReader["Category"].ToString() : string.Empty;
                            transactionDetail.TransactionType   = sqlReader["TransactionType"] != DBNull.Value ? sqlReader["TransactionType"].ToString() : string.Empty;
                            transactionDetail.SubType           = sqlReader["SubType"] != DBNull.Value ? sqlReader["SubType"].ToString() : string.Empty;
                            transactionDetail.TransactionDate   = sqlReader["TransactionDate"] != DBNull.Value ? sqlReader["TransactionDate"].ToString() : string.Empty;
                            transactionDetail.TransactionNumber = sqlReader["TransactionNumber"] != DBNull.Value ? Convert.ToInt64(sqlReader["TransactionNumber"]) : 0;
                            transactionDetail.Units             = sqlReader["Units"] != DBNull.Value ? float.Parse(sqlReader["Units"].ToString()) : 0;
                            transactionDetail.Price             = sqlReader["Price"] != DBNull.Value ? float.Parse(sqlReader["Price"].ToString()) : 0;
                            transactionDetail.Amount            = sqlReader["Amount"] != DBNull.Value ? float.Parse(sqlReader["Amount"].ToString()) : 0;
                            transactionDetails.Add(transactionDetail);
                        }
                        sqlReader.Close();
                    }
                }
                sqlConn.Close();
            }
            DataTable dataTable = Utils.ToDataTable(transactionDetails);

            PDFCreator.Create(dataTable, @"D:\Work\Projects\DotNet\PracticeProjects\ExportToPDFTest\ExportToPDFTest\Pdfs\TransPDFdocument.pdf");
        }
예제 #2
0
        public ActionResult PDF(string json)
        {
            MapExportItem exportItem = JsonConvert.DeserializeObject <MapExportItem>(json);

            AsyncManager.OutstandingOperations.Increment();
            PDFCreator pdfCreator = new PDFCreator();

            byte[] blob = pdfCreator.Create(exportItem);
            return(File(blob, "application/pdf", "kartutskrift.pdf"));
        }
예제 #3
0
        public string PDF(string json)
        {
            MapExportItem exportItem = JsonConvert.DeserializeObject <MapExportItem>(json);

            AsyncManager.OutstandingOperations.Increment();
            PDFCreator pdfCreator = new PDFCreator();

            byte[]   blob     = pdfCreator.Create(exportItem);
            string[] fileInfo = byteArrayToFileInfo(blob, "pdf");

            return(Request.Url.GetLeftPart(UriPartial.Authority) + "/Temp/" + fileInfo[1]);
            //return File(blob, "application/pdf", "kartutskrift.pdf");
        }
예제 #4
0
        public string PDF(string json)
        {
            try
            {
                _log.DebugFormat("Received json: {0}", json);

                // try to decode input string to see if it is base64 encoded
                try
                {
                    byte[] decoded = Convert.FromBase64String(json);
                    json = System.Text.Encoding.UTF8.GetString(decoded);
                    _log.DebugFormat("json after decode: {0}", json);
                }
                catch (Exception e)
                {
                    _log.DebugFormat("Could not decode base64. Will treat as non-base64 encoded: {0}", e.Message);
                }

                MapExportItem exportItem = JsonConvert.DeserializeObject <MapExportItem>(json);
                AsyncManager.OutstandingOperations.Increment();
                PDFCreator pdfCreator = new PDFCreator();
                _log.Debug("Inited pdfcreator");
                byte[] blob = pdfCreator.Create(exportItem);
                _log.Debug("created blob in pdfcreator");
                string[] fileInfo = byteArrayToFileInfo(blob, "pdf");
                _log.DebugFormat("Created fileinfo: {0}", fileInfo[1]);

                if (exportItem.proxyUrl != "")
                {
                    return(exportItem.proxyUrl + "/Temp/" + fileInfo[1]);
                }
                else
                {
                    return(Request.Url.GetLeftPart(UriPartial.Authority) + "/Temp/" + fileInfo[1]);
                }
                //return File(blob, "application/pdf", "kartutskrift.pdf");
            }
            catch (Exception e)
            {
                _log.ErrorFormat("Unable to create PDF: {0}", e.Message);
                throw e;
            }
        }
예제 #5
0
        public string PDF([System.Web.Http.FromBody] UploadData uploadData)
        {
            // try to decode input string to see if it is base64 encoded
            //try
            //{
            //    byte[] decoded = Convert.FromBase64String(json);
            //    json = System.Text.Encoding.UTF8.GetString(decoded);
            //    _log.DebugFormat("json after decode: {0}", json);
            //}
            //catch (Exception e)
            //{
            //    _log.DebugFormat("Could not decode base64. Will treat as non-base64 encoded: {0}", e.Message);
            //}
            string        fontName   = string.IsNullOrEmpty(ConfigurationManager.AppSettings["exportFontName"]) ? "Verdana" : ConfigurationManager.AppSettings["exportFontName"];
            MapExportItem exportItem = new MapExportItem();

            if (uploadData.json != null)
            {
                exportItem = JsonConvert.DeserializeObject <MapExportItem>(uploadData.json);
            }
            if (uploadData.data != null)
            {
                exportItem = JsonConvert.DeserializeObject <MapExportItem>(uploadData.data);
            }

            AsyncManager.OutstandingOperations.Increment();
            PDFCreator pdfCreator = new PDFCreator();

            byte[]   blob     = pdfCreator.Create(exportItem, fontName);
            string[] fileInfo = byteArrayToFileInfo(blob, "pdf");
            if (!String.IsNullOrEmpty(exportItem.proxyUrl))
            {
                return(exportItem.proxyUrl + "/Temp/" + fileInfo[1]);
            }
            else
            {
                return(Request.Url.GetLeftPart(UriPartial.Authority) + "/Temp/" + fileInfo[1]);
            }
        }