public HttpResponseMessage GetFileExport(GroupByEnum groupBy, string fileType) { if (string.IsNullOrEmpty(fileType)) { return new HttpResponseMessage(HttpStatusCode.BadRequest) { Content = new StringContent($"Requisição inválida.") } } ; byte[] ByteArray = null; var downloadFileType = new DownloadFileInfo(fileType); if (downloadFileType.FileType == DownloadFileTypesEnum.Xls) { ByteArray = _operationBusiness.ExportXls(_operationBusiness.GetByGroup(groupBy).ToList(), groupBy); } if (downloadFileType.FileType == DownloadFileTypesEnum.Csv) { ByteArray = _operationBusiness.ExportCSV(_operationBusiness.GetByGroup(groupBy).ToList(), groupBy); } return(ByteArray.ExcelResult("Operações", downloadFileType)); } }
private void GetOperationByGroup(string groupBy) { try { switch (groupBy) { case "Ativo": GroupBy = GroupByEnum.Active; break; case "Tipo de operação": GroupBy = GroupByEnum.OperationType; break; case "Conta": GroupBy = GroupByEnum.AccountNumber; break; } var operacoes = Helper.Get <List <GroupOperation> >($"{ WEBAPI_URL }/operations?groupBy={ GroupBy }"); dgvOperacoes.DataSource = operacoes; SetFormattingGroup(GroupBy); } catch (Exception ex) { MessageBox.Show("Erro " + ex.Message); } }
private void SetFormattingGroup(GroupByEnum groupName) { dgvOperacoes.Columns["AveragePrice"].DefaultCellStyle.Format = "c"; dgvOperacoes.Columns["AveragePrice"].HeaderText = "Preço Médio"; dgvOperacoes.Columns["Active"].Visible = false; dgvOperacoes.Columns["OperationType"].Visible = false; dgvOperacoes.Columns["AccountNumber"].Visible = false; dgvOperacoes.Columns[Enum.GetName(typeof(GroupByEnum), groupName)].Visible = true; }
public byte[] ExportCSV(List <GroupOperation> list, GroupByEnum groupBy) { const string DELIMITER = ";"; var csv = new StringBuilder(); csv.Append(groupBy.GetDescription()); csv.Append(DELIMITER); csv.Append("Quantidade"); csv.Append(DELIMITER); csv.Append("Preço Médio"); csv.Append(DELIMITER); csv.AppendLine(); foreach (GroupOperation currentItem in list) { csv.AppendLine(this.ExportItemCSV(currentItem)); } var bytes = Encoding.UTF8.GetBytes(csv.ToString()); return(Encoding.UTF8.GetPreamble().Concat(bytes).ToArray()); }
public IEnumerable <GroupOperation> GetByGroup(GroupByEnum groupBy) { var groupName = Enum.GetName(typeof(GroupByEnum), groupBy); return(db.Database.SqlQuery <GroupOperation>("GetOperationGroup @GroupName", new SqlParameter("GroupName", groupName))); }
public byte[] ExportXls(List <GroupOperation> list, GroupByEnum groupBy) { NPOI.SS.UserModel.IWorkbook workbook = new NPOI.HSSF.UserModel.HSSFWorkbook(); NPOI.SS.UserModel.ISheet sheet = workbook.CreateSheet("Plan 1"); int rowNumer = 0; NPOI.SS.UserModel.IRow row = sheet.CreateRow(rowNumer); NPOI.SS.UserModel.ICell cell; NPOI.SS.UserModel.IFont hFont = workbook.CreateFont(); hFont.FontHeightInPoints = 12; hFont.FontName = "Arial"; NPOI.SS.UserModel.ICellStyle styleHeader = workbook.CreateCellStyle(); styleHeader.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index; styleHeader.FillPattern = NPOI.SS.UserModel.FillPattern.SolidForeground; styleHeader.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; styleHeader.SetFont(hFont); NPOI.SS.UserModel.ICellStyle styleDisabled = workbook.CreateCellStyle(); styleDisabled.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Grey25Percent.Index; styleDisabled.FillPattern = NPOI.SS.UserModel.FillPattern.SolidForeground; styleDisabled.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center; var listColumns = new List <ExportColumnInfo>(); listColumns.Add(new ExportColumnInfo() { Name = groupBy.GetDescription() }); listColumns.Add(new ExportColumnInfo() { Name = "Quantidade" }); listColumns.Add(new ExportColumnInfo() { Name = "Preço Médio" }); for (int i = 0; i < listColumns.Count; i++) { cell = row.CreateCell(i); cell.SetCellValue(listColumns[i].Name); cell.CellStyle = styleHeader; } //---- row foreach (var item in list) { rowNumer++; row = sheet.CreateRow(rowNumer); row.CreateCell(0).SetCellValue(item.AccountNumber ?? item.Active ?? item.OperationType); row.CreateCell(1).SetCellValue(item.Quantity); row.CreateCell(2).SetCellValue((double)item.AveragePrice); } for (int i = 0; i < listColumns.Count; i++) { sheet.AutoSizeColumn(i); } byte[] byteArray; using (System.IO.MemoryStream stream = new System.IO.MemoryStream()) { workbook.Write(stream); byteArray = stream.ToArray(); } return(byteArray); }
public IEnumerable <GroupOperation> GetByGroup(GroupByEnum groupBy) { return(operationDataAccess.GetByGroup(groupBy)); }
public TimeHeader(GroupByEnum groupBy, string format) { this.GroupBy = groupBy; this.Format = format; }
public TimeHeader(GroupByEnum groupBy) { this.GroupBy = groupBy; }
// GET: api/operacoes?groupBy=1 public IHttpActionResult GetByGroup(GroupByEnum groupBy) { return(Ok(_operationBusiness.GetByGroup(groupBy))); }