public IActionResult DownloadCSV([FromQuery] DateTime start, [FromQuery] DateTime end) { StringBuilder result = new StringBuilder(); result.AppendLine("OrderId,CreateDate,PaymentMethod,Status,Price,Quantity,Total,ProductType,Contractor"); try { foreach (OrderProductReportItem reportItem in HydrateOrderProducts(reportService.GetOrderProducts(start, end))) { result.AppendFormat("{0},{1},{2},{3},\"{4}\",{5},\"{6}\",{7},{8}\r\n", reportItem.OrderId, reportItem.CreateDate, reportItem.PaymentMethod, reportItem.Status, reportItem.Price, reportItem.Quantity, reportItem.Total, reportItem.ProductType, reportItem.Contractor); } var binaryResult = new BinaryResult { ContentType = "text/csv", Data = System.Text.Encoding.ASCII.GetBytes(result.ToString()), FileName = "ReportData.csv" }; return(binaryResult); } catch (Exception x) { return(Json(new ErrorReport { Error = x.Message })); } }
/// <inheritdoc /> public Binary(IRequest request, BinaryResult binaryResult) : base(request, binaryResult.ContentType) { BinaryResult = binaryResult; }