using System;
using System.Data;
using System.Text;
using Swift.DAL.BL.Remit.Transaction;
using Swift.web.Library;
namespace Swift.web.Responsive.Reports.SOADomestic
{
public partial class soa : System.Web.UI.Page
{
private readonly TranReportDao rptDao = new TranReportDao();
private readonly RemittanceLibrary rl = new RemittanceLibrary();
protected void Page_Load(object sender, EventArgs e)
{
rl.CheckSession();
string mode = GetStatic.ReadQueryString("mode", "").ToLower();
if (mode == "download")
{
string format = "xls";
string reportName = "soa";
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.ContentType = "application/vnd.ms-excel";
Response.AddHeader("Content-Disposition", "attachment; filename=" + reportName + "." + format);
exportDiv.Visible = false;
}
ShowReport();
}
private void ShowReport()
{
var fromDate = GetStatic.ReadQueryString("fromDate", "");
var toDate = GetStatic.ReadQueryString("toDate", "");
var agent = GetStatic.ReadQueryString("agent", "");
var reportFor = GetStatic.ReadQueryString("reportFor", "");
var branchID = GetStatic.GetBranch();
DataTable Dt = rptDao.AgentSoaReport(fromDate, toDate, agent, "pay", reportFor, branchID);
LoadSoaHtml(Dt);
lblAgentName.Text = GetStatic.GetAgentNameByMapCodeInt(agent);
lblFrmDate.Text = fromDate;
lbltoDate.Text = toDate;
lblGeneratedDate.Text = DateTime.Now.ToString("MM/dd/yyyy");
}
private void LoadSoaHtml(DataTable dt)
{
int cols = dt.Columns.Count;
var str = new StringBuilder("
");
str.Append("");
str.Append("Date | ");
str.Append("Particulars | ");
str.Append("DR | ");
str.Append("CR | ");
str.Append("Balance | ");
str.Append(" | ");
str.Append("
");
int cnt = 0;
double DR = 0.00;
double CR = 0.00;
double BAL = 0.00;
double OPBal = 0.00;
double CrTotal = 0.00;
double DrTotal = 0.00;
double GTotal = -0.00;
string DrCr = "";
int rowsCount = dt.Rows.Count;
if (rowsCount == 0)
{
str.Append("No Record Found |
");
rptDiv.InnerHtml = str.ToString();
return;
}
OPBal = double.Parse(dt.Rows[0]["DR"].ToString());
DrCr = (OPBal < 0) ? "DR" : "CR";
str.Append("");
str.Append(" | ");
str.Append("Opening Balance | ");
str.Append(" | ");
str.Append(" | ");
str.Append("" + GetStatic.ShowDecimal(Math.Abs(OPBal).ToString()) + " | ");
str.Append("" + DrCr + " | ");
str.Append("
");
foreach (DataRow dr in dt.Rows)
{
cnt = cnt + 1;
BAL = 0;
if (dr["Particulars"].ToString() != "Opening Balance")
{
str.Append("");
DR = DR + double.Parse(dr["DR"].ToString());
CR = CR + double.Parse(dr["CR"].ToString());
BAL = BAL + (OPBal - DR + CR);
DrCr = (BAL < 0) ? "DR" : "CR";
GTotal = GTotal + BAL;
if (double.Parse(dr["DR"].ToString()) > 0)
{
DrTotal = DrTotal + 1;
}
else
{
CrTotal = CrTotal + 1;
}
for (int i = 0; i < cols; i++)
{
if (i > 1)
{
str.Append("" + GetStatic.ShowDecimal(dr[i].ToString()) +
" | ");
}
else
{
str.Append("" + dr[i].ToString() + " | ");
}
}
str.Append("" + GetStatic.ShowDecimal(Math.Abs(BAL).ToString()) + " | ");
str.Append("" + DrCr + " | ");
str.Append("
");
}
}
str.Append("");
str.Append("Total | ");
str.Append("" + GetStatic.ShowDecimal(DR.ToString()) + " | ");
str.Append("" + GetStatic.ShowDecimal(CR.ToString()) + " | ");
str.Append(" | ");
str.Append("" + DrCr + " | ");
str.Append("
");
str.Append("");
rptDiv.InnerHtml = str.ToString();
lblOpSing.Text = (OPBal < 0) ? "DR" : "CR";
lblOpAmt.Text = GetStatic.ShowDecimal(Math.Abs(OPBal).ToString());
if (rowsCount == 1)
{
lblCloAmt.Text = GetStatic.ShowDecimal(Math.Abs(OPBal).ToString());
lblCloSign.Text = (OPBal < 0) ? "DR" : "CR";
}
else
{
lblCloAmt.Text = GetStatic.ShowDecimal(Math.Abs(BAL).ToString());
lblCloSign.Text = (BAL < 0) ? "DR" : "CR";
}
lblDrTotal.Text = GetStatic.ShowDecimal(Math.Abs(DR).ToString());
lblCrTotal.Text = GetStatic.ShowDecimal(Math.Abs(CR).ToString());
lblAmtMsg.Text = (BAL > 0) ? "Payable to Agent" : "Receivable From Agent";
}
}
}