using Swift.DAL.AccountReportOld;
using Swift.web.Library;
using System;
using System.Data;
using System.Text;
using System.Web;
namespace Swift.web.AccountReportOld.AccountStatementOld
{
public partial class StatementDetailsOld : System.Web.UI.Page
{
private SwiftLibrary _sl = new SwiftLibrary();
private AccountStatementOldDAO st = new AccountStatementOldDAO();
private const string ReversalId = "";
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("
");
sb.AppendLine("");
sb.AppendLine("SN | ");
sb.AppendLine("Tran Date | ");
sb.AppendLine("Particulars | ");
//if (!string.IsNullOrWhiteSpace(ddlCurrency.Text))
//{
sb.AppendLine("FCY | ");
sb.AppendLine("FCY Amount | ");
sb.AppendLine("FCY Closing | ");
sb.AppendLine("DR/CR | ");
//}
sb.AppendLine("JPY Amount | ");
sb.AppendLine("JPY Closing | ");
sb.AppendLine("DR/CR | ");
if (_sl.HasRight(ReversalId))
{
sb.AppendLine("Reversal | ");
}
sb.AppendLine("
");
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("");
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 = "";
drLink += GetStatic.ShowDecimal_Account(item["tran_amt"].ToString()) + "";
sb.AppendLine("" + (sn > 0 ? sn.ToString() : "") + " | ");
sb.AppendLine("" + (item["tran_date"].ToString() == "1900.01.01" ? " " : item["tran_date"]) + " | ");
sb.AppendLine("" + item["tran_particular"] + " | ");
//if (!string.IsNullOrWhiteSpace(ddlCurrency.Text))
//{
sb.AppendLine("" + item["fcy_Curr"] + " | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(item["usd_amt"].ToString()) + " | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(fcyOpening.ToString()) + " | ");
sb.AppendLine("" + item["part_tran_type"] + " | ");
//}
sb.AppendLine("" + (item["tran_particular"].ToString() == "Balance Brought Forward" ? GetStatic.ShowDecimal_Account(item["tran_amt"].ToString()) : drLink) + " | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(BAlance.ToString()) + " | ");
sb.AppendLine("" + (BAlance > 0 ? "CR" : "DR") + " | ");
if (_sl.HasRight(ReversalId) && sn > 0)
{
drLink = "Reverse";
sb.AppendLine("" + drLink + " | ");
}
sb.AppendLine("
");
sn++;
}
if (GetStatic.ReadQueryString("isDownload", "") == "y")
{
sb.AppendLine("");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine("Opening Balance: | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(OpenBalnce.ToString()) + " | ");
sb.AppendLine(" | ");
sb.AppendLine("
");
sb.AppendLine("");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine("Total DR:(" + drCount.ToString() + ") | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(drAmt.ToString()) + " | ");
sb.AppendLine(" | ");
sb.AppendLine("
");
sb.AppendLine("");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine("Total CR:(" + crCount.ToString() + ") | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(crAmt.ToString()) + " | ");
sb.AppendLine(" | ");
sb.AppendLine("
");
sb.AppendLine("");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine(" | ");
sb.AppendLine("Closing Balance: (" + (BAlance > 0 ? "CR" : "DR") + ") | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account((BAlance > 0 ? BAlance * -1 : BAlance).ToString()) + " | ");
sb.AppendLine(" | ");
sb.AppendLine("
");
sb.AppendLine("
");
DataTable tbl = GetStatic.ConvertHTMLTableToDataSet(sb.ToString());
GetStatic.DataTable2ExcelDownload(ref tbl, "AccountStatement");
}
else
{
sb.AppendLine("");
}
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(" ");
sb.AppendLine("");
sb.AppendLine("SN | ");
sb.AppendLine("Tran Date | ");
sb.AppendLine("Particulars | ");
sb.AppendLine("FCY | ");
sb.AppendLine("FCY Amount | ");
sb.AppendLine("FCY Closing | ");
sb.AppendLine("JPY Amount | ");
sb.AppendLine("JPY Closing | ");
sb.AppendLine("
");
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("");
string drLink = "";
drLink += GetStatic.ShowDecimal_Account(item["tran_amt"].ToString()) + "";
sb.AppendLine("" + (sn > 0 ? sn.ToString() : "") + " | ");
sb.AppendLine("" + (item["tran_date"].ToString() == "1900.01.01" ? " " : item["tran_date"]) + " | ");
sb.AppendLine("" + item["tran_particular"] + " | ");
//if (!string.IsNullOrWhiteSpace(ddlCurrency.Text))
//{
sb.AppendLine("" + item["fcy_Curr"].ToString() + " | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(item["usd_amt"].ToString()) + " | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(fcyOpening.ToString()) + " | ");
//}
sb.AppendLine("" + (item["tran_particular"].ToString() == "Balance Brought Forward" ? GetStatic.ShowDecimal_Account(item["tran_amt"].ToString()) : drLink) + " | ");
sb.AppendLine("" + GetStatic.ShowDecimal_Account(BAlance.ToString()) + " | ");
sb.AppendLine("
");
sn++;
}
sb.AppendLine("
");
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));
}
}
}