Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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));
        }