Пример #1
0
        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)));
        }
Пример #2
0
 public CsvRow(string[] columns)
 {
     Columns = new CsvColumn[columns.Length];
     for (int n = 0; n < Columns.Length; n++)
     {
         Columns[n] = new CsvColumn(columns[n]);
     }
 }
Пример #3
0
 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);
         }
     }
 }
Пример #4
0
        // 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);
        }
Пример #5
0
 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
                ));
 }
Пример #6
0
 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");
 }
Пример #7
0
        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);
        }
Пример #8
0
            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());
            }
Пример #9
0
            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());
            }
Пример #10
0
            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);
            }
Пример #11
0
        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;
        }
Пример #12
0
        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;
        }
Пример #13
0
 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
                ));
 }
Пример #14
0
            public void AddColumn(String headerName, String value)
            {
                CsvColumn csc = new CsvColumn(headerName, value);

                ColumnValues.Add(csc);
            }
Пример #15
0
 protected override string GetPropertyCode(CsvColumn col)
 {
     return(col.ToVBCode());
 }
Пример #16
0
 /// <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;
 }
Пример #17
0
 public PscCsv ComposeCsv(CsvColumn csvColumn)
 {
     throw new NotImplementedException();
 }
Пример #18
0
            public void RemoveColumn(String headerName)
            {
                CsvColumn csc = ColumnValues.Where(cv => cv.Header.IndexOf(headerName) != -1).FirstOrDefault();

                ColumnValues?.Remove(csc);
            }
Пример #19
0
 protected abstract string GetPropertyCode(CsvColumn col);