public IActionResult GetXls(string product, DateTime?dateFrom, DateTime?dateTo)
        {
            int    offset = Convert.ToInt32(Request.Headers["x-timezone-offset"]);
            string accept = Request.Headers["Accept"];

            try
            {
                byte[]   xlsInBytes;
                DateTime DateFrom = dateFrom == null ? new DateTime(1970, 1, 1) : Convert.ToDateTime(dateFrom);
                DateTime DateTo   = dateTo == null ? DateTime.Now : Convert.ToDateTime(dateTo);

                var xls = _facade.GenerateExcel(product, dateFrom, dateTo, offset);

                string filename = String.Format("Monitoring Price - {0}.xlsx", DateTime.UtcNow.ToString("ddMMyyyy"));

                xlsInBytes = xls.ToArray();
                var file = File(xlsInBytes, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", filename);
                return(file);
            }
            catch (Exception e)
            {
                Dictionary <string, object> Result =
                    new ResultFormatter(ApiVersion, General.INTERNAL_ERROR_STATUS_CODE, e.Message)
                    .Fail();
                return(StatusCode(General.INTERNAL_ERROR_STATUS_CODE, Result));
            }
        }
        public async Task Should_Success_Get_Report_Data_Excel_Null_Parameter()
        {
            var dbContext = _dbContext(GetCurrentMethod());
            ExternalPurchaseOrderFacade externalPurchaseOrderFacade = new ExternalPurchaseOrderFacade(GetServiceProvider(GetCurrentMethod()).Object, dbContext);
            MonitoringPriceFacade       monitoringPriceFacade       = new MonitoringPriceFacade(GetServiceProvider(GetCurrentMethod()).Object, dbContext);
            ExternalPurchaseOrder       modelEPO = await _dataUtilEPO(externalPurchaseOrderFacade, GetCurrentMethod()).GetTestDataMP("Unit test");

            var Response = monitoringPriceFacade.GenerateExcel(null, DateTime.MinValue, DateTime.MinValue, 7);

            Assert.IsType <System.IO.MemoryStream>(Response);
        }
        public async Task Should_Success_Get_Report_Data_Excel()
        {
            var dbContext = _dbContext(GetCurrentMethod());
            ExternalPurchaseOrderFacade externalPurchaseOrderFacade = new ExternalPurchaseOrderFacade(GetServiceProvider(GetCurrentMethod()).Object, dbContext);
            MonitoringPriceFacade       monitoringPriceFacade       = new MonitoringPriceFacade(GetServiceProvider(GetCurrentMethod()).Object, dbContext);
            ExternalPurchaseOrder       modelEPO = await _dataUtilEPO(externalPurchaseOrderFacade, GetCurrentMethod()).GetTestDataMP("Unit test");

            var EPODtl   = modelEPO.Items.First().Details.First();
            var Response = monitoringPriceFacade.GenerateExcel(EPODtl.ProductId, null, null, 7);

            Assert.IsType <System.IO.MemoryStream>(Response);
        }