public Task <IActionResult> ExportComissionsReport([FromBody] ComissionsSearch search) { var t_result = Task.Factory.StartNew <IActionResult>((arg) => { try { var t_inputs = arg as Tuple <ComissionsSearch, ISellerRepository>; var invoices = t_inputs.Item1.ReportType == 0 ? t_inputs.Item2.SalesComissions(t_inputs.Item1) : t_inputs.Item2.PaymentsComissions(t_inputs.Item1); string requestLanguage = "EN"; var languageIdHeader = this.Request.Headers["languageid"]; requestLanguage = languageIdHeader.FirstOrDefault() ?? "es"; var excelData = ExportUtility.GetExcelData <ComissionDetail>(invoices.ComissionsByCyrrencies.SelectMany(x => x.Details), requestLanguage, this.languageKeys.ToList()); var excelStream = ExcelImport.CreateXlsStream( excelData.Item1, excelData.Item2 ); if (invoices != null && excelStream != null && excelStream.Length > 0) { return(File(excelStream.ToArray(), "application/octet-stream", $"{new Product().GetType().Name}-{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}.xls")); } return(BadRequest(new { status = -1, message = "Documento no existe" })); } catch (Exception ex) { return(Ok(new { status = -1, message = ex.Message })); } }, new Tuple <ComissionsSearch, ISellerRepository>(search, _repositoryFactory.GetCustomDataRepositories <ISellerRepository>())); return(t_result); }
public virtual Task <IActionResult> GetComissionsReport([FromBody] ComissionsSearch search) { var t_result = Task.Factory.StartNew <IActionResult>((arg) => { try { var t_inputs = arg as Tuple <ComissionsSearch, ISellerRepository>; var invoices = t_inputs.Item1.ReportType == 0? t_inputs.Item2.SalesComissions(t_inputs.Item1): t_inputs.Item2.PaymentsComissions(t_inputs.Item1); return(Ok(new { status = 0, id = 0, data = invoices })); } catch (Exception ex) { return(Ok(new { status = -1, message = ex.Message })); } }, new Tuple <ComissionsSearch, ISellerRepository>(search, _repositoryFactory.GetCustomDataRepositories <ISellerRepository>())); return(t_result); }