Ejemplo n.º 1
0
        public async Task <IActionResult> GenerateXls([FromQuery] int unitId, [FromQuery] DateTimeOffset date)
        {
            try
            {
                VerifyUser();
                var data = await _service.GetBudgetCashflowUnit(unitId, date);

                //var unit = _units.FirstOrDefault(element => element.Id == unitId);
                var unit = await _service.GetUnitAccountingById(unitId);

                var stream = CashflowUnitExcelGenerator.Generate(unit, date, _identityService.TimezoneOffset, data);

                var bytes = stream.ToArray();

                return(File(bytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "Laporan Budget Cashflow.xlsx"));
            }
            catch (Exception e)
            {
                var result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, result));
            }
        }