public IActionResult MetricToDimension([FromQuery] int fileId, [FromQuery] string colName, [FromQuery] int colId) { var userId = User.FindFirstValue(ClaimTypes.NameIdentifier); // will give the user's userId CsvFile file = _context.CsvFile.Where(f => f.UserId == userId && f.CsvFileId == fileId).FirstOrDefault(); if (file == null) { return(NotFound()); } string filePath = Path.Combine(_targetFilePath, Path.Combine(userId, file.FileNameStorage, file.FileNameStorage)); DataTable data = new DataTable(); using (GenericParserAdapter parser = new GenericParserAdapter()) { parser.SetDataSource(filePath); parser.ColumnDelimiter = ';'; parser.FirstRowHasHeader = true; data = parser.GetDataTable(); } if (colId > data.Columns.Count - 1) { return(StatusCode(500, "index of column out of bounds")); } CsvColumn csvColumn = new CsvColumn(file, colName, colId, _context); csvColumn.AnalyseDimension(data.Rows); return(Ok(new MD_Dimensao(csvColumn))); }
public CsvRow(string[] columns) { Columns = new CsvColumn[columns.Length]; for (int n = 0; n < Columns.Length; n++) { Columns[n] = new CsvColumn(columns[n]); } }
public void AddNewColumn(String headerName, String value) { if (ColumnHeaders.Contains(headerName) == false) { ColumnHeaders.Add(headerName); foreach (CsvRow row in Rows) { CsvColumn csvColumn = new CsvColumn(headerName, value); row.AddColumn(headerName, value); } } }
// helper methods, here for now private CsvRow ConvertLinetoRow(string text) { // assuming a perfect formated csv var dataRow = new CsvRow(); var rowCols = text.Split(','); for (var j = 0; j < rowCols.Length; j++) { var col = new CsvColumn(rowCols[j]); dataRow.Columns.Add(col); } return(dataRow); }
public static string ToVBCode(this CsvColumn col) { return(string.Format( " ''' <summary>\r\n" + " ''' {1}, {0}\r\n" + " ''' </summary>\r\n" + " <SystemCsvColumn(Alias:=\"\", Ordinal:={1}, Name:=\"{0}\")> _\r\n" + " Public Property {0}() As String\r\n" + "\r\n", CsvContext.ToVariant(col.Name), col.Ordinal )); }
public static string ToCSCode(this CsvColumn col) { return(string.Format( "\r\n" + "\t\t/// <summary>\r\n" + "\t\t/// {1}, {0}\r\n" + "\t\t/// </summary>\r\n" + "\t\t[SystemCsvColumn(Name = \"{0}\", Ordinal = {1} , Alias = \"{2}\")]\r\n" + "\t\tpublic string {0}", CsvContext.ToVariant(col.Name), col.Ordinal, col.Alias ) + " { get;set; }\r\n"); }
private static void CreateColumn(IList <string[]> lineList, CsvTable csvTable, int i) { var column = new CsvColumn() { Header = lineList[0][i] }; foreach (string[] item in lineList.Skip(1)) { column.DataLines.Add(item[i]); } csvTable.Columns.Add(column); }
public string getString(uint row, uint column) { if (Rows.Count <= row) { return(null); } CsvRow r = Rows[(int)row]; CsvColumn c = r.getColumn(column); if (c == null) { return(null); } return(c.getString()); }
public int getInt(uint row, uint column) { if (Rows.Count <= row) { return(0); } CsvRow r = Rows[(int)row]; CsvColumn c = r.getColumn(column); if (c == null) { return(0); } return(c.getInt()); }
public void get(uint row, uint column, IStringConverter conv) { if (Rows.Count <= row) { return; } CsvRow r = Rows[(int)row]; CsvColumn c = r.getColumn(column); if (c == null) { return; } c.get(conv); }
void InitializeSchema(ICsvSchemaProvider?schema) { columns = new CsvColumn[this.fieldCount]; for (int i = 0; i < this.fieldCount; i++) { var name = hasHeaders ? GetString(i) : null; var columnSchema = schema?.GetColumn(name, i); columns[i] = new CsvColumn(name, i, columnSchema); name = columns[i].ColumnName; if (name != null) { headerMap.Add(name, i); } } this.state = State.Initialized; }
void InitializeSchema(ICsvSchemaProvider?schema) { if (state != State.Initializing) { return; } columns = new CsvColumn[this.fieldCount]; for (int i = 0; i < this.fieldCount; i++) { var name = GetString(i); var columnSchema = schema?.GetColumn(name, i); columns[i] = new CsvColumn(name, i, columnSchema); headerMap.Add(name, i); } state = State.Initialized; }
public static string ToVBCode(this CsvColumn col) { return(string.Format( //"\r\n" + //" Private _{0} As String\r\n" + " ''' <summary>\r\n" + " ''' {1}, {0}\r\n" + " ''' </summary>\r\n" + " <SystemCsvColumn(Alias:=\"\", Ordinal:={1}, Name:=\"{0}\")> _\r\n" + " Public Property {0}() As String\r\n" + //" Get\r\n" + //" Return _{0}\r\n" + //" End Get\r\n" + //" Set(ByVal value As String)\r\n" + //" _{0} = value\r\n" + //" End Set\r\n" + //" End Property\r\n" + "\r\n", CsvContext.ToVariant(col.Name), col.Ordinal )); }
public void AddColumn(String headerName, String value) { CsvColumn csc = new CsvColumn(headerName, value); ColumnValues.Add(csc); }
protected override string GetPropertyCode(CsvColumn col) { return(col.ToVBCode()); }
/// <summary> /// Initializes a new instance of the <see cref="CsvPropertyDescriptor"/> class. /// </summary> /// <param name="column"> /// The column. /// </param> /// <param name="index"> /// The index. /// </param> public CsvPropertyDescriptor(CsvColumn column, int index) : base(column.Name, null) { this.column = column; this.index = index; }
public PscCsv ComposeCsv(CsvColumn csvColumn) { throw new NotImplementedException(); }
public void RemoveColumn(String headerName) { CsvColumn csc = ColumnValues.Where(cv => cv.Header.IndexOf(headerName) != -1).FirstOrDefault(); ColumnValues?.Remove(csc); }
protected abstract string GetPropertyCode(CsvColumn col);