using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using BuddyFinance.Admin.Models; using BuddyFinance.Common.Integration; using BuddyFinance.Integration.Models.ReportingServices; using BuddyFinance.Integration.Models.Statements; using Microsoft.AspNetCore.Mvc; using Microsoft.Extensions.Configuration; namespace BuddyFinance.Admin.Controllers { public class StatementController : BaseController { public StatementController(IConfiguration configuration, BuddyFinanceDbContext dbContext) : base(configuration, dbContext) { } public IActionResult Download() { return View(); } [HttpPost] public IActionResult Download(GetStatement model) { int.TryParse(SessionManager.Current?.CurrentUser.ProfileId.ToString(), out int pId); model.ProfileId = pId; model.StartDate = model.StartDate ?? DateTime.Now.AddMonths(-1); model.EndDate = model.EndDate ?? DateTime.Now; byte[] statement = null; var apiResonse = WebApiHelper.Get(API_BASE + "reporting/" , "statement?ProfileId=" + model.ProfileId + "&StartDate=" + model.StartDate.GetValueOrDefault().ToString("yyyy-MM-dd hh:mm tt") + "&EndDate=" + model.EndDate.GetValueOrDefault().ToString("yyyy-MM-dd hh:mm tt") , _token); if (apiResonse.ErrorCode == 0) { var result = apiResonse.Result; if (result.ErrorCode == 0) { statement = result.Result; return File(statement, "application/pdf", "BuddyFinanceStatement.pdf"); } else { ViewBag.Message = result.ErrorMessage; } } else { ViewBag.Message = apiResonse.ErrorMessage; } // return File(statement, "application/pdf", "BuddyFinanceStatement.pdf"); return View("StatementNotDownloaded"); } } }