コード例 #1
0
        public async Task <FileResult> GetInventoriesSummaryUsageReportFile([FromQuery] string from, [FromQuery] string to,
                                                                            [FromQuery] string sku, [FromQuery] string invsku, [FromQuery] bool?assemble, [FromQuery] string idsinvcat, [FromQuery] int infotype,
                                                                            [FromQuery] int frequency)
        {
            var dFrom = from.GetDateFromQueryStringInPst(TimeZoneHelper.PstTimeZoneInfo);
            var dTo   = to.GetDateFromQueryStringInPst(TimeZoneHelper.PstTimeZoneInfo);

            if (!dFrom.HasValue || !dTo.HasValue)
            {
                return(null);
            }

            InventoriesSummaryUsageReportFilter filter = new InventoriesSummaryUsageReportFilter()
            {
                From          = dFrom.Value,
                To            = dTo.Value,
                Sku           = sku,
                InvSku        = invsku,
                Assemble      = assemble,
                IdsInvCat     = !string.IsNullOrEmpty(idsinvcat) ? idsinvcat.Split(',').Select(Int32.Parse).ToList() : null,
                InfoType      = infotype,
                FrequencyType = (FrequencyType)frequency
            };

            filter.To = filter.To.AddDays(1);

            var result = await _inventorySkuService.GetInventoriesSummaryUsageReportAsync(filter);

            IList <DynamicExportColumn> columns = null;
            IList <ExpandoObject>       items   = null;

            _inventorySkuService.ConvertInventoriesSummaryUsageReportForExport(result, infotype, out columns, out items);

            var data = CsvExportService.ExportToCsv(columns, items);

            var contentDisposition = new ContentDispositionHeaderValue("attachment")
            {
                FileName = String.Format(FileConstants.INVENTORY_SUMMARY_REPORT, DateTime.Now)
            };

            Response.Headers.Add("Content-Disposition", contentDisposition.ToString());
            return(File(data, "text/csv"));
        }
コード例 #2
0
        public async Task <Result <InventoriesSummaryUsageReport> > GetInventoriesSummaryUsageReport([FromBody] InventoriesSummaryUsageReportFilter filter)
        {
            filter.To = filter.To.AddDays(1);
            var toReturn = await _inventorySkuService.GetInventoriesSummaryUsageReportAsync(filter);

            return(toReturn);
        }