|
|
using Swift.DAL.AccountReport; using Swift.web.Library; using System; using System.Data; using System.Linq; using System.Text; using System.Web;
namespace Swift.web.AccountReport.PLAccount { public partial class PLAccount : System.Web.UI.Page { private readonly SwiftLibrary _s1 = new SwiftLibrary(); private readonly AccountStatementDAO st = new AccountStatementDAO(); 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> "); 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='../BalanceSheet/SubLedger.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='../BalanceSheet/SubLedger.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)); } } }
|