You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

342 lines
15 KiB

using Swift.DAL.AccountReport;
using Swift.web.Library;
using System;
using System.Data;
using System.Text;
using System.Web;
namespace Swift.web.AccountReport.AccountStatement
{
public partial class StatementDetails : System.Web.UI.Page
{
private SwiftLibrary _sl = new SwiftLibrary();
private AccountStatementDAO st = new AccountStatementDAO();
private const string ReversalId = "20101110";
protected void Page_Load(object sender, EventArgs e)
{
//check session
_sl.CheckSession();
if (!IsPostBack)
{
PopulateDDL();
ddlCurrency.Text = GetStatic.ReadQueryString("curr", "");
hdnRptType.Value = GetStatic.ReadQueryString("type", "a");
startDate.Text = StartDate();
endDate.Text = EndDate();
}
GenerateReport();
}
protected string StartDate()
{
return GetStatic.ReadQueryString("startDate", "");
}
protected string EndDate()
{
return GetStatic.ReadQueryString("endDate", "");
}
protected string AccountNumber()
{
return GetStatic.ReadQueryString("acNum", "");
}
protected string AccountName()
{
return GetStatic.ReadQueryString("acName", "");
}
private void PopulateDDL()
{
RemittanceLibrary r = new RemittanceLibrary();
r.SetDDL(ref ddlCurrency, "EXEC Proc_dropdown_remit @FLAG='Currency'", "val", "Name", "", "Select FCY");
}
private void GenerateReport()
{
acNumber.Text = AccountNumber();
acName.Text = AccountName();
string curr = "";
var dt = st.GetACStatement(acNumber.Text, startDate.Text, endDate.Text, ddlCurrency.Text, hdnRptType.Value,GetStatic.GetUser());
if (dt == null || dt.Rows.Count == 0)
{
tableBody.InnerHtml = "";
openingBalance.Text = "0";
drOrCr.Text = "DR";
closingBalanceAmt.Text = "0 ";
return;
}
if (hdnRptType.Value == "d")
{
GenerateDateWiseStmt(dt);
return;
}
var sb = new StringBuilder("");
sb.AppendLine("<table class=\"table table-striped table-bordered\" width=\"100%\" cellspacing=\"0\" class=\"TBLReport\">");
sb.AppendLine("<tr>");
sb.AppendLine("<th nowrap='nowrap'>SN</th>");
sb.AppendLine("<th nowrap='nowrap'>Tran Date</th>");
sb.AppendLine("<th nowrap='nowrap'>Particulars</th>");
//if (!string.IsNullOrWhiteSpace(ddlCurrency.Text))
//{
sb.AppendLine("<th nowrap='nowrap'>FCY</th>");
sb.AppendLine("<th nowrap='nowrap'>FCY Amount</th>");
sb.AppendLine("<th nowrap='nowrap'>FCY Closing</th>");
sb.AppendLine("<th nowrap='nowrap'>DR/CR</th>");
//}
sb.AppendLine("<th nowrap='nowrap'>JPY Amount</th>");
sb.AppendLine("<th nowrap='nowrap'>JPY Closing</th>");
sb.AppendLine("<th nowrap='nowrap'>DR/CR</th>");
if (_sl.HasRight(ReversalId))
{
sb.AppendLine("<th nowrap='nowrap'>Reversal</th>");
}
sb.AppendLine("</tr>");
double BAlance = 0, OpenBalnce = 0, fcyOpening = 0, crAmt = 0, drAmt = 0;
int sn = 1, drCount = 0, crCount = 0;
foreach (DataRow item in dt.Rows)
{
if (item["tran_particular"].ToString() == "Balance Brought Forward")
{
sn = 0;
if (item["fcy_Curr"] == null || item["fcy_Curr"].ToString().ToLower() == "jpy")
{
OpenBalnce = GetStatic.ParseDouble(item["tran_amt"].ToString());
}
else
{
OpenBalnce = GetStatic.ParseDouble(item["usd_amt"].ToString());
}
fcyOpening = GetStatic.ParseDouble(item["usd_amt"].ToString());
BAlance = GetStatic.ParseDouble(item["tran_amt"].ToString());
}
else
{
BAlance += GetStatic.ParseDouble(item["tran_amt"].ToString());
fcyOpening += GetStatic.ParseDouble(item["usd_amt"].ToString());
}
sb.AppendLine("<tr>");
curr = item["fcy_Curr"].ToString();
if (item["tran_particular"].ToString() != "Balance Brought Forward")
{
if (item["part_tran_type"].ToString().ToLower() == "cr")
{
crCount++;
if (item["fcy_Curr"] == null || item["fcy_Curr"].ToString().ToLower() == "jpy")
{
crAmt += GetStatic.ParseDouble(item["tran_amt"].ToString());
}
else
{
crAmt += GetStatic.ParseDouble(item["usd_amt"].ToString());
}
}
else
{
drCount++;
if (item["fcy_Curr"] == null || item["fcy_Curr"].ToString().ToLower() == "jpy")
{
drAmt += GetStatic.ParseDouble(item["tran_amt"].ToString());
}
else
{
drAmt += GetStatic.ParseDouble(item["usd_amt"].ToString());
}
}
}
string drLink = "<a href='userreportResultSingle.aspx?company_id=1&vouchertype=" + item["tran_type"].ToString();
drLink += "&type=trannumber&trn_date=" + item["tran_date"].ToString() + "&tran_num=" + item["ref_num"].ToString() + "' title='Transaction info' >";
drLink += GetStatic.ShowDecimal_Account(item["tran_amt"].ToString()) + "</a>";
sb.AppendLine("<td >" + (sn > 0 ? sn.ToString() : "") + " </td>");
sb.AppendLine("<td nowrap align='center' >" + (item["tran_date"].ToString() == "1900.01.01" ? "&nbsp;" : item["tran_date"]) + " </td>");
sb.AppendLine("<td >" + item["tran_particular"] + " </td>");
//if (!string.IsNullOrWhiteSpace(ddlCurrency.Text))
//{
sb.AppendLine("<td >" + item["fcy_Curr"] + " </td>");
sb.AppendLine("<td >" + GetStatic.ShowDecimal_Account(item["usd_amt"].ToString()) + " </td>");
sb.AppendLine("<td >" + GetStatic.ShowDecimal_Account(fcyOpening.ToString()) + " </td>");
sb.AppendLine("<td >" + item["part_tran_type"] + " </td>");
//}
sb.AppendLine("<td >" + (item["tran_particular"].ToString() == "Balance Brought Forward" ? GetStatic.ShowDecimal_Account(item["tran_amt"].ToString()) : drLink) + " </td>");
sb.AppendLine("<td >" + GetStatic.ShowDecimal_Account(BAlance.ToString()) + " </td>");
sb.AppendLine("<td >" + (BAlance > 0 ? "CR" : "DR") + " </td>");
if (_sl.HasRight(ReversalId) && sn > 0)
{
drLink = "<a class='btn btn-danger' href='userreportResultSingle.aspx?r=Y&company_id=1&vouchertype=" + item["tran_type"].ToString();
drLink += "&type=trannumber&trn_date=" + item["tran_date"].ToString() + "&tran_num=" + item["ref_num"].ToString() + "' title='Transaction info' >Reverse</a>";
sb.AppendLine("<td >" + drLink + " </td>");
}
sb.AppendLine("</tr>");
sn++;
}
if (GetStatic.ReadQueryString("isDownload", "") == "y")
{
sb.AppendLine("<tr>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td>Opening Balance: </td>");
sb.AppendLine("<td>" + GetStatic.ShowDecimal_Account(OpenBalnce.ToString()) + "</td>");
sb.AppendLine("<td></td>");
sb.AppendLine("</tr>");
sb.AppendLine("<tr>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td>Total DR:(" + drCount.ToString() + ") </td>");
sb.AppendLine("<td>" + GetStatic.ShowDecimal_Account(drAmt.ToString()) + "</td>");
sb.AppendLine("<td></td>");
sb.AppendLine("</tr>");
sb.AppendLine("<tr>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td>Total CR:(" + crCount.ToString() + ") </td>");
sb.AppendLine("<td>" + GetStatic.ShowDecimal_Account(crAmt.ToString()) + "</td>");
sb.AppendLine("<td></td>");
sb.AppendLine("</tr>");
sb.AppendLine("<tr>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td></td>");
sb.AppendLine("<td>Closing Balance: (" + (BAlance > 0 ? "CR" : "DR") + ") </td>");
sb.AppendLine("<td>" + GetStatic.ShowDecimal_Account((BAlance > 0 ? BAlance * -1 : BAlance).ToString()) + "</td>");
sb.AppendLine("<td></td>");
sb.AppendLine("</tr>");
sb.AppendLine("</table>");
DataTable tbl = GetStatic.ConvertHTMLTableToDataSet(sb.ToString());
GetStatic.DataTable2ExcelDownload(ref tbl, "AccountStatement");
}
else
{
sb.AppendLine("</table>");
}
totalDr.Text = GetStatic.ShowDecimal_Account(drAmt.ToString());
totalCr.Text = GetStatic.ShowDecimal_Account(crAmt.ToString());
drCount1.Text = drCount.ToString();
crCount1.Text = crCount.ToString();
tableBody.InnerHtml = sb.ToString();
openingBalance.Text = GetStatic.ShowDecimal_Account(OpenBalnce.ToString());
drOrCr.Text = (BAlance > 0 ? "CR" : "DR");
if (curr == null || curr.ToLower() == "jpy")
{
closingBalanceAmt.Text = GetStatic.ShowDecimal_Account((BAlance > 0 ? BAlance * -1 : BAlance).ToString());
}
else
{
closingBalanceAmt.Text = GetStatic.ShowDecimal_Account((fcyOpening > 0 ? fcyOpening * -1 : fcyOpening).ToString());
}
}
private void GenerateDateWiseStmt(DataTable dt)
{
var sb = new StringBuilder("");
sb.AppendLine(" <div class=\"table-responsive\"><table class=\"table table-striped table-bordered\" width=\"100%\" cellspacing=\"0\" class=\"TBLReport\">");
sb.AppendLine("<tr>");
sb.AppendLine("<th nowrap='nowrap'>SN</th>");
sb.AppendLine("<th nowrap='nowrap'>Tran Date</th>");
sb.AppendLine("<th nowrap='nowrap'>Particulars</th>");
sb.AppendLine("<th nowrap='nowrap'>FCY</th>");
sb.AppendLine("<th nowrap='nowrap'>FCY Amount</th>");
sb.AppendLine("<th nowrap='nowrap'>FCY Closing</th>");
sb.AppendLine("<th nowrap='nowrap'>JPY Amount</th>");
sb.AppendLine("<th nowrap='nowrap'>JPY Closing</th>");
sb.AppendLine("</tr>");
double BAlance = 0, OpenBalnce = 0, fcyOpening = 0;
int sn = 1;
foreach (DataRow item in dt.Rows)
{
if (item["tran_particular"].ToString() == "Balance Brought Forward")
{
sn = 0;
OpenBalnce = GetStatic.ParseDouble(item["tran_amt"].ToString());
fcyOpening = GetStatic.ParseDouble(item["usd_amt"].ToString());
BAlance = OpenBalnce;
}
else
{
BAlance += GetStatic.ParseDouble(item["tran_amt"].ToString());
fcyOpening += GetStatic.ParseDouble(item["usd_amt"].ToString());
}
sb.AppendLine("<tr>");
string drLink = "<a href='StatementDetails.aspx?acNum=" + item["acc_num"].ToString();
drLink += "&startDate=" + item["tran_date"].ToString() + "&endDate=" + item["tran_date"].ToString() + "' title='Transaction info' >";
drLink += GetStatic.ShowDecimal_Account(item["tran_amt"].ToString()) + "</a>";
sb.AppendLine("<td >" + (sn > 0 ? sn.ToString() : "") + " </td>");
sb.AppendLine("<td nowrap align='center' >" + (item["tran_date"].ToString() == "1900.01.01" ? "&nbsp;" : item["tran_date"]) + " </td>");
sb.AppendLine("<td >" + item["tran_particular"] + " </td>");
//if (!string.IsNullOrWhiteSpace(ddlCurrency.Text))
//{
sb.AppendLine("<td >" + item["fcy_Curr"].ToString() + " </td>");
sb.AppendLine("<td >" + GetStatic.ShowDecimal_Account(item["usd_amt"].ToString()) + " </td>");
sb.AppendLine("<td >" + GetStatic.ShowDecimal_Account(fcyOpening.ToString()) + " </td>");
//}
sb.AppendLine("<td >" + (item["tran_particular"].ToString() == "Balance Brought Forward" ? GetStatic.ShowDecimal_Account(item["tran_amt"].ToString()) : drLink) + " </td>");
sb.AppendLine("<td >" + GetStatic.ShowDecimal_Account(BAlance.ToString()) + " </td>");
sb.AppendLine("</tr>");
sn++;
}
sb.AppendLine("</table></div>");
tableBody.InnerHtml = sb.ToString();
openingBalance.Text = GetStatic.ShowDecimal_Account(OpenBalnce.ToString());
closingBalanceAmt.Text = GetStatic.ShowDecimal_Account((BAlance > 0 ? BAlance * -1 : BAlance).ToString());
}
protected void goBtn_Click(object sender, EventArgs e)
{
GenerateReport();
}
protected void buttonPdf_Click(object sender, EventArgs e)
{
GetStatic.GetPDF(HttpUtility.UrlDecode(hidden.Value));
}
}
}