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.
 
 
 
 
 

245 lines
15 KiB

using Swift.DAL.AccountReportOld;
using Swift.web.Library;
using System;
using System.Data;
using System.Linq;
using System.Text;
using System.Web;
namespace Swift.web.AccountReportOld.PLAccountOld
{
public partial class PLAccountOld : System.Web.UI.Page
{
private readonly SwiftLibrary _s1 = new SwiftLibrary();
private readonly AccountStatementOldDAO st = new AccountStatementOldDAO();
private string Date = "";
private string Date2 = "";
protected void Page_Load(object sender, EventArgs e)
{
_s1.CheckSession();
letterHead.Text = GetStatic.getCompanyHead();
Date = FromDate();
fromDate.Text = Date;
Date2 = ToDate();
toDate.Text = Date2;
GenerateReport();
}
protected string ToDate()
{
return GetStatic.ReadQueryString("toDate", "");
}
protected string FromDate()
{
return GetStatic.ReadQueryString("fromDate", "");
}
private void GenerateReport()
{
double SalesRevenueMonthTotal = 0, SalesRevenueYearTotal = 0;
double DirectCostMonthTotal = 0, DirectCostYearTotal = 0;
double OtherExpMonthTotal = 0, OtherExpYearTotal = 0;
double NonOpIncMonthTotal = 0, NonOpIncExpYearTotal = 0;
double CorporateTaxesMonthTotal = 0, CorporateTaxesExpYearTotal = 0;
var dt = st.GetPLReport(fromDate.Text, toDate.Text);
var SalesRevenue = dt.Select("p_id = '48'");
var DirectCost = dt.Select("p_id = '60'");
var OtherExp = dt.Select("p_id = '44'");
var NonOpInc = dt.Select("p_id = '45'");
var NonOpExp = dt.Select("p_id = '46'");
var CorporateTaxes = dt.Select("p_id = '47'");
var sb = new StringBuilder("");
//<div class=\"row\"><div class=\"form-control col-md-12 col-md-offset-0\">
sb.AppendLine("<div class=\"table-responsive\" ><table width='100%' class='table table-striped table-bordered' > ");
sb.AppendLine("<tr>");
sb.AppendLine("<th rowspan='2' nowrap='nowrap' width='5%' style=\"text-align: center\"> Particulars </th>");
sb.AppendLine("<th nowrap='nowrap' colspan='2' width='3%' style=\"text-align: center\"> For the period </th>");
sb.AppendLine("<th nowrap='nowrap' colspan='2' width='3%' style=\"text-align: center\"> Year to Date </th>");
sb.AppendLine("</tr>");
sb.AppendLine("<tr>");
sb.AppendLine("<th nowrap='nowrap'>Amount </th>");
sb.AppendLine("<th nowrap='nowrap'>Amount </th>");
sb.AppendLine("<th nowrap='nowrap'>Amount </th>");
sb.AppendLine("<th nowrap='nowrap'>Amount </th>");
sb.AppendLine("</tr>");
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Sales Revenue</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(SalesRevenue.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(SalesRevenue.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
sb.AppendLine("</tr>");
GenerateRows(ref sb, SalesRevenue, out SalesRevenueMonthTotal, out SalesRevenueYearTotal);
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Direct Cost</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(DirectCost.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(DirectCost.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
sb.AppendLine("</tr>");
GenerateRows(ref sb, DirectCost, out DirectCostMonthTotal, out DirectCostYearTotal);
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong> Gross Profit </strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((SalesRevenueMonthTotal + DirectCostMonthTotal).ToString()) + "</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((SalesRevenueYearTotal + DirectCostYearTotal).ToString()) + "</strong></td>");
sb.AppendLine("</tr>");
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Other Operating Expenses (SG&A)</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(OtherExp.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(OtherExp.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
sb.AppendLine("</tr>");
GenerateRows(ref sb, OtherExp, out OtherExpMonthTotal, out OtherExpYearTotal);
double OperatingPLMonthTotal = 0, OperatingPLYearTotal = 0;
OperatingPLMonthTotal = SalesRevenueMonthTotal + DirectCostMonthTotal + OtherExpMonthTotal;
OperatingPLYearTotal = SalesRevenueYearTotal + DirectCostYearTotal + OtherExpYearTotal;
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Operating Profit/Loss</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((OperatingPLMonthTotal).ToString()) + "</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((OperatingPLYearTotal).ToString()) + "</strong></td>");
sb.AppendLine("</tr>");
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Non Operating Income</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(NonOpInc.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(OtherExp.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
sb.AppendLine("</tr>");
GenerateRows(ref sb, NonOpInc, out NonOpIncMonthTotal, out NonOpIncExpYearTotal);
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Non Operating Expenses </strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(NonOpExp.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(NonOpExp.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
sb.AppendLine("</tr>");
GenerateRows(ref sb, NonOpExp, out OtherExpMonthTotal, out OtherExpYearTotal);
double BeforePLMonthTotal = 0, BeforePLYearTotal = 0;
BeforePLMonthTotal = OperatingPLMonthTotal + NonOpIncMonthTotal + OtherExpMonthTotal;
BeforePLYearTotal = OperatingPLYearTotal + NonOpIncExpYearTotal + OtherExpYearTotal;
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Net Profit/Loss Before Corporate Tax</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((BeforePLMonthTotal).ToString()) + "</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((BeforePLYearTotal).ToString()) + "</strong></td>");
sb.AppendLine("</tr>");
var DepAndAmort = dt.Select("gl_code = '132'");
double DepAndAmortTotal = GetStatic.ParseDouble(DepAndAmort.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString());
double DepAndAmortYear = GetStatic.ParseDouble(DepAndAmort.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString());
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Depreciation & Amortization</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(DepAndAmortTotal.ToString()) + "</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(DepAndAmortYear.ToString()) + "</strong></td>");
sb.AppendLine("</tr>");
double totalThisYearNetProfit = BeforePLMonthTotal + DepAndAmortTotal;
double thisYearThisYearNetProfit = BeforePLYearTotal + DepAndAmortYear;
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Net Profit/Loss Before Corporate Tax</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((BeforePLMonthTotal + DepAndAmortTotal).ToString()) + "</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((BeforePLYearTotal + DepAndAmortYear).ToString()) + "</strong></td>");
sb.AppendLine("</tr>");
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong>Corporate Taxes </strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(CorporateTaxes.AsEnumerable().Sum(x => x.Field<decimal>("THISMONTH")).ToString()) + "</strong> </td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac(CorporateTaxes.AsEnumerable().Sum(x => x.Field<decimal>("YEARTODATE")).ToString()) + "</strong> </td>");
sb.AppendLine("</tr>");
GenerateRows(ref sb, CorporateTaxes, out CorporateTaxesMonthTotal, out CorporateTaxesExpYearTotal);
sb.AppendLine("<tr>");
sb.AppendLine("<td ><strong> Net Profit/Loss </strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((totalThisYearNetProfit + CorporateTaxesMonthTotal).ToString()) + "</strong></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((thisYearThisYearNetProfit + CorporateTaxesExpYearTotal).ToString()) + "</strong></td>");
sb.AppendLine("</tr>");
sb.AppendLine("</table></div>");
plReport.InnerHtml = sb.ToString();
}
private void GenerateRows(ref StringBuilder sb, DataRow[] rowsArray, out double monthTotal, out double yearTotal)
{
monthTotal = yearTotal = 0;
foreach (DataRow item in rowsArray)
{
if (rowsArray == null || rowsArray.Length == 0)
{
break;
}
monthTotal = monthTotal + Convert.ToDouble(item["THISMONTH"].ToString());
yearTotal = yearTotal + Convert.ToDouble(item["YEARTODATE"].ToString());
sb.AppendLine("<tr>");
sb.AppendLine("<td> &nbsp;&nbsp;&nbsp;&nbsp;");
sb.AppendLine(item["gl_Name"].ToString());
sb.AppendLine("</td>");
var THISMONTH = Convert.ToDouble(item["THISMONTH"].ToString());
var YEARTODATE = Convert.ToDouble(item["YEARTODATE"].ToString());
sb.AppendLine("<td align='right'> <a href='../BalanceSheetOld/SubLedgerOld.aspx?company_id=&dt=" + Date2.ToString() + "&dt1=" + Date.ToString() + "&sentfrom=pl_account_dt&mapcode=" + item["gl_code"].ToString() + "&treeSape=" + item["tree_sape"].ToString() + "&head=" + item["gl_Name"].ToString() + "' title='Account Statement'>");
sb.AppendLine(GetStatic.GetNegativeFigureOnBrac((THISMONTH).ToString()));
sb.AppendLine("</a></td>");
sb.AppendLine("<td ><strong></strong> </td>");
//<a href="bl2_sub.asp?company_id=1&dt=<%=request("pl_date2")%>
//&mapcode=<%=RST("gl_code")%>&head=<%=RST("GL_DESC")%>&tree_sape=<%=RST("tree_sape")%>" title="Account Statement" >
sb.AppendLine("<td align='right'><a href='../BalanceSheetOld/SubLedgerOld.aspx?company_id=&dt=" + Date2.ToString() + "&dt1=" + Date.ToString() + "&sentfrom=pl_account&mapcode=" + item["gl_code"].ToString() + "&head=" + item["gl_Name"].ToString() + "&treeSape=" + item["tree_sape"] + "' title='Account Statement'>");
sb.AppendLine(GetStatic.GetNegativeFigureOnBrac((YEARTODATE).ToString()));
sb.AppendLine("</a></td>");
sb.AppendLine("<td ><strong></strong> </td>");
sb.AppendLine("</tr>");
}
//sb.AppendLine("<tr>");
//sb.AppendLine("<td align='right'><strong> Total </strong></td>");
//sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((monthTotal < 0 ? monthTotal * -1 : monthTotal).ToString()) + "</strong></td>");
//sb.AppendLine("<td align='right'><strong>" + GetStatic.GetNegativeFigureOnBrac((yearTotal < 0 ? yearTotal * -1 : yearTotal).ToString()) + "</strong></td>");
//sb.AppendLine("</tr>");
}
protected void pdf_Click(object sender, EventArgs e)
{
GetStatic.GetPDF(HttpUtility.UrlDecode(hidden.Value));
}
}
}