public ActionResult ReportBalanceSheet(Nullable <int> closingId) { var company = _companyService.GetQueryable().FirstOrDefault(); Closing closing = _closingService.GetObjectById(closingId.GetValueOrDefault()); if (closing == null) { return(Content(Constant.ErrorPage.ClosingNotFound)); } var balanceValidComb = _validCombService.GetQueryable().Include("Account").Include("Closing") .Where(x => x.ClosingId == closing.Id & x.Account.Level == 2); List <ModelBalanceSheet> query = new List <ModelBalanceSheet>(); query = (from obj in balanceValidComb select new ModelBalanceSheet() { CompanyName = company.Name, StartDate = closing.BeginningPeriod, EndDate = closing.EndDatePeriod, DCNote = (obj.Account.Group == Constant.AccountGroup.Asset || obj.Account.Group == Constant.AccountGroup.Expense) ? "D" : "C", AccountName = obj.Account.Code.Substring(0, 1), AccountGroup = (obj.Account.Group == Constant.AccountGroup.Asset) ? "Asset" : (obj.Account.Group == Constant.AccountGroup.Expense) ? "Expense" : (obj.Account.Group == Constant.AccountGroup.Liability) ? "Liability" : (obj.Account.Group == Constant.AccountGroup.Equity) ? "Equity" : (obj.Account.Group == Constant.AccountGroup.Revenue) ? "Revenue" : "", AccountTitle = obj.Account.Name, CurrentAmount = obj.Amount, PrevAmount = obj.Amount, ASSET = "nonASSET", // untuk Fix Asset ? "ASSET" : "nonASSET", AccountCode = obj.Account.Code }).OrderBy(x => x.AccountCode).ToList(); var rd = new ReportDocument(); //Loading Report rd.Load(Server.MapPath("~/") + "Reports/Finance/BalanceSheet.rpt"); // Setting report data source rd.SetDataSource(query); var stream = rd.ExportToStream(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat); return(File(stream, "application/pdf")); }
public dynamic GetList(string _search, long nd, int rows, int?page, string sidx, string sord, string filters = "") { // Construct where statement string strWhere = GeneralFunction.ConstructWhere(filters); string filter = null; GeneralFunction.ConstructWhereInLinq(strWhere, out filter); if (filter == "") { filter = "true"; } // Get Data var q = _validCombService.GetQueryable().Include("Account").Include("Closing").Where(x => x.Closing.IsClosed); var query = (from model in q select new { model.Id, model.Account.Code, model.Account.Name, model.Closing.Period, model.Closing.YearPeriod, model.Closing.BeginningPeriod, model.Closing.EndDatePeriod, model.Amount }).Where(filter).OrderBy(sidx + " " + sord); //.ToList(); var list = query.AsEnumerable(); var pageIndex = Convert.ToInt32(page) - 1; var pageSize = rows; var totalRecords = query.Count(); var totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize); // default last page if (totalPages > 0) { if (!page.HasValue) { pageIndex = totalPages - 1; page = totalPages; } } list = list.Skip(pageIndex * pageSize).Take(pageSize); return(Json(new { total = totalPages, page = page, records = totalRecords, rows = ( from model in list select new { id = model.Id, cell = new object[] { model.Id, model.Code, model.Name, model.Period, model.YearPeriod, model.BeginningPeriod, model.EndDatePeriod, model.Amount } }).ToArray() }, JsonRequestBehavior.AllowGet)); }