private void LoadTransactionItems(ExpenseTransaction transaction) { rdVoidTransaction.Checked = false; rdVoidItems.Checked = false; try { var transactionItems = ServiceProvider.Instance().GetTransactionItemServices().GetTransactionItemsByExpenseTransaction(transaction.ExpenseTransactionId); if (transactionItems == null || !transactionItems.Any()) { ConfirmAlertBox1.ShowMessage("Transaction Items could not be retrieved.", ConfirmAlertBox.PopupMessageType.Error); return; } var dSource = transactionItems.ElementAt(0).Key.ToList(); lblTransactionTitle.Text = transaction.ExpenseTitle; lblRequestedAmmount.InnerText = "N" + NumberMap.GroupToDigits(transaction.TotalTransactionAmount.ToString(CultureInfo.InvariantCulture)); lblApprovedTotalAmount.InnerText = "N" + NumberMap.GroupToDigits(transaction.TotalApprovedAmount.ToString(CultureInfo.InvariantCulture)); dgExpenseItem.DataSource = dSource; dgExpenseItem.DataBind(); LoadTransactionsFooter(); Session["_transaction"] = transaction; Session["_transactionItems"] = dSource; dvTransactionItems.Visible = true; dvUserEntries.Visible = false; } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error); } }
private bool GetAccountsHeadsCostsByDateRange() { try { dgCostItems.DataSource = new List <ExpenseTransaction>(); dgCostItems.DataBind(); var accountHeadId = int.Parse(ddlAccountsHeads.SelectedValue); if (accountHeadId < 1) { ErrorDisplay1.ShowError("Please select an Expense Item."); return(false); } var startDateString = DateMap.ReverseToServerDate(txtStart.Text.Trim()); var startDate = DateTime.Parse(startDateString); var endDateString = DateMap.ReverseToServerDate(txtEndDate.Text.Trim()); var endDate = DateTime.Parse(endDateString); if (endDate < startDate || startDate > endDate) { ErrorDisplay1.ShowError("The 'From' date must not be LATER than the 'To' date."); return(false); } var transactionItems = ServiceProvider.Instance() .GetTransactionItemServices() .GetAccountsHeadsCostsByDateRange(accountHeadId, startDateString, endDateString); if (!transactionItems.Any()) { ErrorDisplay1.ShowError("No Record found!"); return(false); } //dgCostItems.DataSource = transactionItems; //dgCostItems.DataBind(); Session["_accountsHeadeadCosts"] = null; Session["_accountsHeadeadCosts"] = transactionItems; lblGrandTotal.InnerText = "N" + NumberMap.GroupToDigits(transactionItems[0].GrandTotalApprovedPrice.ToString(CultureInfo.InvariantCulture)); headTitle.InnerText = ddlAccountsHeads.SelectedItem.Text; Limit = int.Parse(ddlLimit.SelectedValue); FillRepeater <TransactionItem>(dgCostItems, "_accountsHeadeadCosts", Navigation.None, Limit, LoadMethod); return(true); } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); return(false); } }
private void LoadTransactionItems(ExpenseTransaction transaction) { try { ClearItemsControls(); var transactionItems = ServiceProvider.Instance().GetTransactionItemServices().GetTransactionItemsByExpenseTransaction(transaction.ExpenseTransactionId); if (transactionItems == null || !transactionItems.Any()) { ConfirmAlertBox1.ShowMessage("Transaction Items could not be retrieved.", ConfirmAlertBox.PopupMessageType.Error); return; } if (string.IsNullOrEmpty(lblRequestedAmmount.InnerText)) { lblRequestedAmmount.InnerText = "N" + NumberMap.GroupToDigits(transaction.TotalTransactionAmount.ToString(CultureInfo.InvariantCulture)); } if (transaction.TotalApprovedAmount > 0) { lblApprovedTotalAmount.InnerText = "N" + NumberMap.GroupToDigits(transaction.TotalApprovedAmount.ToString(CultureInfo.InvariantCulture)); } else { lblApprovedTotalAmount.InnerText = NumberMap.GroupToDigits(0.ToString(CultureInfo.InvariantCulture)); } lblTransactionTitle.Text = transaction.ExpenseTitle; dgExpenseItem.DataSource = transactionItems.ElementAtOrDefault(0).Key.ToList(); dgExpenseItem.DataBind(); SetTransactionsStyle(); LoadTransactionsFooter(); hTitle.InnerText = "Requested Transaction Items"; dvTransactionItems.Visible = true; dvUserEntries.Visible = false; } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error); } }
private void LoadTransactionsFooter() { try { if (dgExpenseItem.Items.Count > 0) { //int subTotalQuantity = 0; //int subTotalApprovedQuantity = 0; double subTotalUnitPrice = 0; double subTotalApprovedPrice = 0; for (var i = 0; i < dgExpenseItem.Items.Count; i++) { //subTotalQuantity += DataCheck.IsNumeric(((Label)dgExpenseItem.Items[i].FindControl("lblQuantity")).Text) // ? int.Parse(((Label)dgExpenseItem.Items[i].FindControl("lblQuantity")).Text) : 0; //subTotalApprovedQuantity += DataCheck.IsNumeric(((Label)dgExpenseItem.Items[i].FindControl("lblApprovedQuantity")).Text) // ? int.Parse(((Label)dgExpenseItem.Items[i].FindControl("lblApprovedQuantity")).Text) : 0; subTotalUnitPrice += DataCheck.IsNumeric(((Label)dgExpenseItem.Items[i].FindControl("lblUnitPrice")).Text) ? float.Parse(((Label)dgExpenseItem.Items[i].FindControl("lblUnitPrice")).Text) : 0; subTotalApprovedPrice += DataCheck.IsNumeric(((Label)dgExpenseItem.Items[i].FindControl("lblApprovedUnitPrice")).Text) ? float.Parse(((Label)dgExpenseItem.Items[i].FindControl("lblApprovedUnitPrice")).Text) : 0; } foreach (var item in dgExpenseItem.Controls[0].Controls) { if (item.GetType() == typeof(DataGridItem)) { var itmType = ((DataGridItem)item).ItemType; if (itmType == ListItemType.Footer) { //if (((DataGridItem)item).FindControl("lblTotalQuantity") != null) //{ // ((Label)((DataGridItem)item).FindControl("lblTotalQuantity")).Text = subTotalQuantity.ToString(CultureInfo.InvariantCulture); //} //if (((DataGridItem)item).FindControl("lblTotalApprovedQuantity") != null) //{ // ((Label)((DataGridItem)item).FindControl("lblTotalApprovedQuantity")).Text = subTotalApprovedQuantity.ToString(CultureInfo.InvariantCulture); //} if (((DataGridItem)item).FindControl("lblTotalUnitPrice") != null) { ((Label)((DataGridItem)item).FindControl("lblTotalUnitPrice")).Text = "N" + NumberMap.GroupToDigits(subTotalUnitPrice.ToString(CultureInfo.InvariantCulture)); } if (((DataGridItem)item).FindControl("lblTotalApprovedUnitPrice") != null) { ((Label)((DataGridItem)item).FindControl("lblTotalApprovedUnitPrice")).Text = "N" + NumberMap.GroupToDigits(subTotalApprovedPrice.ToString(CultureInfo.InvariantCulture)); } } } } } } catch { ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error); } }
private void LoadTransactionItems(ExpenseTransaction transaction) { try { radApprove.Checked = false; radReject.Checked = false; radVoid.Checked = false; txtApproverComment.Text = string.Empty; var dictCollection = ServiceProvider.Instance().GetTransactionItemServices().GetTransactionItemsByExpenseTransaction(transaction.ExpenseTransactionId); if (dictCollection == null || !dictCollection.Any()) { ConfirmAlertBox1.ShowMessage("Transaction Items could not be retrieved.", ConfirmAlertBox.PopupMessageType.Error); return; } var transactionItems = dictCollection.ElementAtOrDefault(0).Key.ToList(); if (!transactionItems.Any()) { dgExpenseItem.DataSource = new List <TransactionItem>(); ddlExpenseItem.DataBind(); ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again or contact the Administrator.", ConfirmAlertBox.PopupMessageType.Error); return; } var expenseItems = dictCollection.ElementAtOrDefault(0).Value.ToList(); if (!expenseItems.Any()) { ddlExpenseItem.DataSource = new List <ExpenseItem>(); ddlExpenseItem.DataBind(); ddlExpenseItem.Items.Insert(0, new ListItem("--List is empty--", "0")); ddlExpenseItem.SelectedIndex = 0; ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again or contact the Administrator.", ConfirmAlertBox.PopupMessageType.Error); return; } ddlExpenseItem.DataSource = expenseItems; ddlExpenseItem.DataTextField = "Title"; ddlExpenseItem.DataValueField = "ExpenseItemId"; ddlExpenseItem.DataBind(); ddlExpenseItem.Items.Insert(0, new ListItem("--Select Expense Item--", "0")); ddlExpenseItem.SelectedIndex = 0; if (ddlExpenseType.Items.Count == 1 || ddlExpenseType.Items.Count == 0) { LoadTransactionTypes(); } lblTransactionTitle.Text = transaction.ExpenseTitle; lblRequestedAmmount.InnerText = "N" + NumberMap.GroupToDigits(transaction.TotalTransactionAmount.ToString(CultureInfo.InvariantCulture)); lblTransactionRquestDate.InnerText = transaction.TransactionDate; dgExpenseItem.DataSource = transactionItems; dgExpenseItem.DataBind(); //SetTransactionsStyle(); LoadTransactionsFooter(); Session["_transactionItems"] = transactionItems; Session["_transaction"] = transaction; dvTransactionItems.Visible = true; dvUserEntries.Visible = false; } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error); } }
public bool GenerateReport(List <DictObject> dictObjList) { try { const XplugDepartments lrGlobal = XplugDepartments.LrGlobal; var z = Enum.GetName(typeof(XplugDepartments), lrGlobal); var y = 0; if (z != null) { y = (int)Enum.Parse(typeof(XplugDepartments), z); } const XplugDepartments xPlug = XplugDepartments.XPlug; var s = Enum.GetName(typeof(XplugDepartments), xPlug); var x = 0; if (s != null) { x = (int)Enum.Parse(typeof(XplugDepartments), s); } var repFilePath = ""; if (dictObjList.ElementAt(0).DepartmentId == x) { repFilePath = Server.MapPath("~/ExpenseMgt/Reports/ReportFiles/XplugMultiVoucher.rpt"); } if (dictObjList.ElementAt(0).DepartmentId == y) { repFilePath = Server.MapPath("~/ExpenseMgt/Reports/ReportFiles/LRMultiVoucher.rpt"); } if (dictObjList.ElementAt(0).DepartmentId != x && dictObjList.ElementAt(0).DepartmentId != y) { repFilePath = Server.MapPath("~/ExpenseMgt/Reports/ReportFiles/XplugMultiVoucher.rpt"); } var voucherItemList = new List <VoucherItem>(); foreach (var dictObj in dictObjList) { foreach (var dictItem in dictObj.TransactionItems) { var newVoucherItem = new VoucherItem { AmountInWords = dictObj.WordValue, AmountPaid = string.Format("{0}{1}", "N", NumberMap.GroupToDigits(dictObj.AmmountPaid.ToString(CultureInfo.InvariantCulture))), Approver = dictObj.Approver, DatePaid = dictObj.DatePaid, ChequeNo = dictObj.ChequeNo, PcvNo = dictObj.PcvNo, TransactionId = dictObj.TransactionpaymentHistoryId, RequestedBy = dictObj.RequestedBy, ReceivedBy = dictObj.ReceivedBy, TotalApprovedAmount = string.Format("{0}{1}", "N", NumberMap.GroupToDigits(dictObj.TotalApprovedAmmount.ToString(CultureInfo.InvariantCulture))), ApprovedQuantity = dictItem.ApprovedQuantity.ToString(CultureInfo.InvariantCulture), ApprovedUnitPrice = NumberMap.GroupToDigits(dictItem.ApprovedUnitPrice.ToString(CultureInfo.InvariantCulture)), ApprovedTotalPrice = NumberMap.GroupToDigits(dictItem.ApprovedTotalPrice.ToString(CultureInfo.InvariantCulture)), ItemName = dictItem.ExpenseItem.Title, ItemCode = dictItem.ExpenseItem.Code, DetailDesription = dictItem.Description }; if (newVoucherItem.TransactionId > 0 && !string.IsNullOrEmpty(newVoucherItem.ItemName) && !string.IsNullOrEmpty(newVoucherItem.ItemCode)) { voucherItemList.Add(newVoucherItem); } } } var pdfPath = Session.SessionID + DateTime.Now.Millisecond.ToString(CultureInfo.InvariantCulture) + Environment.TickCount.ToString(CultureInfo.InvariantCulture) + ".pdf"; var path = Server.MapPath("~/GeneratedDocuments/"); pdfPath = path + pdfPath; var repDoc = new ReportDocument(); repDoc.Load(repFilePath); repDoc.SetDataSource(voucherItemList); var crDiskFileDestinationOptions = new DiskFileDestinationOptions(); var crFormatTypeOptions = new PdfRtfWordFormatOptions(); crDiskFileDestinationOptions.DiskFileName = pdfPath; var crExportOptions = repDoc.ExportOptions; { crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile; crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; crExportOptions.DestinationOptions = crDiskFileDestinationOptions; crExportOptions.FormatOptions = crFormatTypeOptions; } repDoc.Export(); Session["myPDF.InvoicePath"] = pdfPath; Context.Response.Buffer = false; var buffer = new byte[1024]; var inStr = File.OpenRead(pdfPath); while ((inStr.Read(buffer, 0, buffer.Length)) > 0) { if (Context.Response.IsClientConnected) { Response.Clear(); Response.ContentType = "application/pdf"; Context.Response.OutputStream.Write(buffer, 0, buffer.Length); Context.Response.Flush(); } } return(true); } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); return(false); } }
protected void DgPaymentHistoryCommand(object source, DataGridCommandEventArgs e) { try { dgPaymentHistory.SelectedIndex = e.Item.ItemIndex; long id = (DataCheck.IsNumeric(dgPaymentHistory.DataKeys[e.Item.ItemIndex].ToString())) ? long.Parse(dgPaymentHistory.DataKeys[e.Item.ItemIndex].ToString()) : 0; if (id < 1) { ConfirmAlertBox1.ShowMessage("Invalid Record Selection!", ConfirmAlertBox.PopupMessageType.Error); return; } var transactionHistory = ServiceProvider.Instance().GetExpenseTransactionPaymentHistoryServices().GetExpenseTransactionPaymentHistory(id); if (transactionHistory == null || transactionHistory.ExpenseTransactionPaymentHistoryId < 1) { ConfirmAlertBox1.ShowMessage("Invalid selection", ConfirmAlertBox.PopupMessageType.Error); return; } if (transactionHistory.PaymentModeId == 1) { trCashPayment.Visible = true; trChequePayment.Visible = false; var user = new PortalServiceManager().GetPortalUserById(transactionHistory.PaidById); lblCashPaidBy.InnerText = user.FirstName + " " + user.LastName; lblCashAmount.InnerText = "N" + NumberMap.GroupToDigits(transactionHistory.AmountPaid.ToString(CultureInfo.InvariantCulture)); lblCashDatePaid.InnerText = transactionHistory.PaymentDate; lblCashTimePaid.InnerText = transactionHistory.PaymentTime; } if (transactionHistory.PaymentModeId == 2) { trCashPayment.Visible = false; trChequePayment.Visible = true; var user = new PortalServiceManager().GetPortalUserById(transactionHistory.PaidById); lblChequePaidBy.InnerText = user.FirstName + " " + user.LastName; lblChequeAmount.InnerText = "N" + NumberMap.GroupToDigits(transactionHistory.AmountPaid.ToString(CultureInfo.InvariantCulture)); lblChequeTimePaid.InnerText = transactionHistory.PaymentTime; lblChequeDatePaid.InnerText = transactionHistory.PaymentDate; var cheque = ServiceProvider.Instance().GetChequeServices().GetChequesByExpenseTransactionPaymentHistoryId(transactionHistory.ExpenseTransactionPaymentHistoryId); if (cheque != null) { var defaultElement = cheque.ElementAtOrDefault(0); if (defaultElement != null) { lblChequeNumber.InnerText = defaultElement.ChequeNo; lblBank.InnerText = defaultElement.Bank.BankName; } } } lgTransactionTitle.InnerHtml = transactionHistory.ExpenseTransaction.ExpenseTitle; txttHistoryComment.Value = transactionHistory.Comment; mpePaymentCommentPopup.PopupControlID = "dvTransactionComment"; mpePaymentCommentPopup.CancelControlID = "btnCloseDetails"; mpePaymentCommentPopup.Show(); } catch { ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error); } }
private void LoadTransactionsFooter() { try { if (dgAllTransactionPayments.Items.Count > 0) { double totalBalance = 0; double totalAmountPaid = 0; double totalAmountPayable = 0; // lblTotalAmountPaid lblAmountPaid lblBalance lblTotalAmountPaidFooter lblAmountPaidFooter lblBalanceFooter for (var i = 0; i < dgAllTransactionPayments.Items.Count; i++) { totalBalance += DataCheck.IsNumeric(((Label)dgAllTransactionPayments.Items[i].FindControl("lblBalance")).Text) ? double.Parse(((Label)dgAllTransactionPayments.Items[i].FindControl("lblBalance")).Text.Replace(",", string.Empty)) : 0; totalAmountPaid += DataCheck.IsNumeric(((Label)dgAllTransactionPayments.Items[i].FindControl("lblAmountPaid")).Text) ? double.Parse(((Label)dgAllTransactionPayments.Items[i].FindControl("lblAmountPaid")).Text.Replace(",", string.Empty)) : 0; totalAmountPayable += DataCheck.IsNumeric(((Label)dgAllTransactionPayments.Items[i].FindControl("lblTotalAmountPaid")).Text) ? double.Parse(((Label)dgAllTransactionPayments.Items[i].FindControl("lblTotalAmountPaid")).Text.Replace(",", string.Empty)) : 0; } foreach (var item in dgAllTransactionPayments.Controls[0].Controls) { if (item.GetType() == typeof(DataGridItem)) { var itmType = ((DataGridItem)item).ItemType; if (itmType == ListItemType.Footer) { if (((DataGridItem)item).FindControl("lblBalanceFooter") != null) { ((Label)((DataGridItem)item).FindControl("lblBalanceFooter")).Text = "N" + NumberMap.GroupToDigits(totalBalance.ToString(CultureInfo.InvariantCulture)); } if (((DataGridItem)item).FindControl("lblAmountPaidFooter") != null) { ((Label)((DataGridItem)item).FindControl("lblAmountPaidFooter")).Text = "N" + NumberMap.GroupToDigits(totalAmountPaid.ToString(CultureInfo.InvariantCulture)); } if (((DataGridItem)item).FindControl("lblTotalAmountPaidFooter") != null) { ((Label)((DataGridItem)item).FindControl("lblTotalAmountPaidFooter")).Text = "N" + NumberMap.GroupToDigits(totalAmountPayable.ToString(CultureInfo.InvariantCulture)); } } } } } } catch { ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error); } }
private void LoadTransactionPaymentHistoryFooter() { try { if (dgPaymentHistory.Items.Count > 0) { double expAmountPayableTotal = 0; for (var i = 0; i < dgPaymentHistory.Items.Count; i++) { expAmountPayableTotal += DataCheck.IsNumeric(((Label)dgPaymentHistory.Items[i].FindControl("lblHistoryAmountPaid")).Text) ? double.Parse(((Label)dgPaymentHistory.Items[i].FindControl("lblHistoryAmountPaid")).Text) : 0; } foreach (var item in dgPaymentHistory.Controls[0].Controls) { if (item.GetType() == typeof(DataGridItem)) { var itmType = ((DataGridItem)item).ItemType; if (itmType == ListItemType.Footer) { if (((DataGridItem)item).FindControl("lblHistoryAmountPaidFooter") != null) { ((Label)((DataGridItem)item).FindControl("lblHistoryAmountPaidFooter")).Text = "N" + NumberMap.GroupToDigits(expAmountPayableTotal.ToString(CultureInfo.InvariantCulture)); } } } } } } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); ConfirmAlertBox1.ShowMessage("An unknown error was encountered. Please try again soon or contact the Admin.", ConfirmAlertBox.PopupMessageType.Error); } }
public bool GenerateReport(DictObject dictObject) { try { string wordValue; if (Session["_wordString"] == null) { wordValue = "N/A"; } wordValue = (string)Session["_wordString"]; if (string.IsNullOrEmpty(wordValue)) { wordValue = "N/A"; } var dataTable = new DataTable("TransactionPayment"); dataTable.Columns.Add(new DataColumn("TransactionTitle", typeof(string))); dataTable.Columns.Add(new DataColumn("PaidBy", typeof(string))); dataTable.Columns.Add(new DataColumn("RequestedBy", typeof(string))); dataTable.Columns.Add(new DataColumn("ChequeNo", typeof(string))); dataTable.Columns.Add(new DataColumn("ReceivedBy", typeof(string))); dataTable.Columns.Add(new DataColumn("AmountPaid", typeof(string))); dataTable.Columns.Add(new DataColumn("TotalApprovedAmount", typeof(string))); dataTable.Columns.Add(new DataColumn("Approver", typeof(string))); dataTable.Columns.Add(new DataColumn("DatePaid", typeof(string))); dataTable.Columns.Add(new DataColumn("PaymentMode", typeof(string))); dataTable.Columns.Add(new DataColumn("PcvNo", typeof(string))); dataTable.Columns.Add(new DataColumn("AmountInWords", typeof(string))); DataRow dr = dataTable.NewRow(); dr["TransactionTitle"] = dictObject.TransactionTitle; dr["PaidBy"] = dictObject.PaidBy; dr["RequestedBy"] = dictObject.RequestedBy; dr["ChequeNo"] = dictObject.ChequeNo; dr["ReceivedBy"] = dictObject.ReceivedBy; dr["AmountPaid"] = string.Format("{0}{1}", "N", NumberMap.GroupToDigits(dictObject.AmmountPaid.ToString(CultureInfo.InvariantCulture))); dr["TotalApprovedAmount"] = string.Format("{0}{1}", "N", NumberMap.GroupToDigits(dictObject.TotalApprovedAmmount.ToString(CultureInfo.InvariantCulture))); dr["Approver"] = dictObject.Approver; dr["DatePaid"] = dictObject.DatePaid; dr["PcvNo"] = dictObject.PcvNo; dr["AmountInWords"] = wordValue; dataTable.Rows.Add(dr); //NumbersToWord(double s, string naira, string kobo) var dataTable2 = new DataTable("TransactionItem"); dataTable2.Columns.Add(new DataColumn("ItemCode", typeof(string))); dataTable2.Columns.Add(new DataColumn("ItemName", typeof(string))); dataTable2.Columns.Add(new DataColumn("DetailDesription", typeof(string))); dataTable2.Columns.Add(new DataColumn("ApprovedQuantity", typeof(string))); dataTable2.Columns.Add(new DataColumn("ApprovedUnitPrice", typeof(string))); dataTable2.Columns.Add(new DataColumn("ApprovedTotalPrice", typeof(string))); foreach (var transactionItem in dictObject.TransactionItems) { var dr2 = dataTable2.NewRow(); dr2["ItemCode"] = transactionItem.ExpenseItem.Code; dr2["ItemName"] = transactionItem.ExpenseItem.Title; dr2["DetailDesription"] = transactionItem.Description; dr2["ApprovedQuantity"] = transactionItem.ApprovedQuantity; dr2["ApprovedUnitPrice"] = NumberMap.GroupToDigits(transactionItem.ApprovedUnitPrice.ToString(CultureInfo.InvariantCulture)); dr2["ApprovedTotalPrice"] = NumberMap.GroupToDigits(transactionItem.ApprovedTotalPrice.ToString(CultureInfo.InvariantCulture)); dataTable2.Rows.Add(dr2); } const XplugDepartments lrGlobal = XplugDepartments.LrGlobal; var y = (int)Enum.Parse(typeof(XplugDepartments), Enum.GetName(typeof(XplugDepartments), lrGlobal)); const XplugDepartments xPlug = XplugDepartments.XPlug; var x = (int)Enum.Parse(typeof(XplugDepartments), Enum.GetName(typeof(XplugDepartments), xPlug)); var repFilePath = ""; if (dictObject.DepartmentId == x) { repFilePath = Server.MapPath("~/ExpenseMgt/Reports/ReportFiles/xPlugVoucher.rpt"); } if (dictObject.DepartmentId == y) { repFilePath = Server.MapPath("~/ExpenseMgt/Reports/ReportFiles/LRVoucher.rpt"); } if (dictObject.DepartmentId != x && dictObject.DepartmentId != y) { repFilePath = Server.MapPath("~/ExpenseMgt/Reports/ReportFiles/xPlugVoucher.rpt"); } var pdfPath = Session.SessionID + DateTime.Now.Millisecond.ToString(CultureInfo.InvariantCulture) + Environment.TickCount.ToString(CultureInfo.InvariantCulture) + ".pdf"; var path = Server.MapPath("~/GeneratedDocuments/"); pdfPath = path + pdfPath; var repDoc = new ReportDocument(); repDoc.Load(repFilePath); repDoc.Database.Tables[0].SetDataSource(dataTable2); repDoc.Database.Tables[1].SetDataSource(dataTable); var crDiskFileDestinationOptions = new DiskFileDestinationOptions(); var crFormatTypeOptions = new PdfRtfWordFormatOptions(); crDiskFileDestinationOptions.DiskFileName = pdfPath; var crExportOptions = repDoc.ExportOptions; { crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile; crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; crExportOptions.DestinationOptions = crDiskFileDestinationOptions; crExportOptions.FormatOptions = crFormatTypeOptions; } repDoc.Export(); Session["myPDF.InvoicePath"] = pdfPath; Context.Response.Buffer = false; var buffer = new byte[1024]; FileStream inStr = File.OpenRead(pdfPath); while ((inStr.Read(buffer, 0, buffer.Length)) > 0) { if (Context.Response.IsClientConnected) { Response.Clear(); //Response.AddHeader("Accept-Header", buffer.Length.ToString()); Response.ContentType = "application/pdf"; Context.Response.OutputStream.Write(buffer, 0, buffer.Length); Context.Response.Flush(); } } return(true); } catch (Exception ex) { ErrorManager.LogApplicationError(ex.StackTrace, ex.Source, ex.Message); return(false); } }