using Microsoft.AspNetCore.Mvc;
using AspNetCore.Reporting;
using Microsoft.AspNetCore.Hosting;
using System.Collections.Generic;
using System.Threading.Tasks;
using System.Data;
using Oracle.EntityFrameworkCore;
using Oracle.ManagedDataAccess.Client;

// For more information on enabling MVC for empty projects, visit http://go.microsoft.com/fwlink/?LinkID=397860

namespace AMESCoreStudio.Web.Controllers
{
    public class RPTController : Controller
    {
		private readonly IWebHostEnvironment environment = null;
        public readonly IPCS _pcsApi;

        public RPTController(IWebHostEnvironment environment,IPCS pcsApi)
        {
            this.environment = environment;
            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
            _pcsApi = pcsApi;

        }

        public async Task<IActionResult> RPT001()
        {
            string mimeType = "";
            int extension = 1;
            var path = $"{this.environment.WebRootPath}\\Reports\\TEST02.rdlc";
            LocalReport localReport = new LocalReport(path);
            Dictionary<string, string> param = new Dictionary<string, string>();
            //param.Add("rp1", "Hello RDLC Report!");
            var wip_station = await _pcsApi.GetWipStation();

            localReport.AddDataSource("WIP_STATION", wip_station);


            var result = localReport.Execute(RenderType.Pdf, extension, param, mimeType);
            return File(result.MainStream, "application/pdf");
        }
    }
}