Пример #1
0
        public override List <Model.Field> FieldDefinitions(string referenceFile, Model.Template template)
        {
            var fields = new List <Model.Field>();

            using (var sr = new StreamReader(referenceFile)) {
                while (sr.Peek() > -1)
                {
                    var line = sr.ReadLine();
                    if (line != "")
                    {
                        var row = GetSplit(template.Delimiter, line);
                        if (fields.Count == 0)
                        {
                            if (template.HasHeaders)
                            {
                                CreateFieldsFromHeader(fields, row);
                                continue;
                            }
                            else
                            {
                                CreateFieldsWithNoHeader(fields, row);
                            }
                        }
                        if (fields.Count != row.Count())
                        {
                            throw new Exception("Bad file format.  Column counts vary within the file");
                        }
                        SetFieldType(fields, row);
                    }
                }
            }
            return(fields);
        }
Пример #2
0
        public override List <Model.Field> FieldDefinitions(string fileName, Model.Template template)
        {
            var    fields           = new List <Model.Field>();
            string sheetName        = GetFirstSheetName(fileName);
            var    connectionString = GetConnectionString(fileName, template.HasHeaders);

            using (OleDbConnection SQLConn = new OleDbConnection(connectionString)) {
                string selectStatement = $"SELECT * FROM [{sheetName}]";
                using (OleDbCommand selectCommand = new OleDbCommand(selectStatement, SQLConn)) {
                    SQLConn.Open();
                    using (var reader = selectCommand.ExecuteReader()) {
                        for (int i = 0; i < reader.FieldCount; i++)
                        {
                            fields.Add(new Model.Field {
                                ColumnIndex = i,
                                FieldName   = reader.GetName(i),
                                IsNullable  = false,
                                FieldType   = TranslatedFieldType(reader.GetFieldType(i).ToString())
                            });
                        }
                    }
                }
            }
            return(fields);
        }
Пример #3
0
 private void Assert(Model.Template validation)
 {
     NUnit.Framework.Assert.IsTrue(validation.Fields.Count == 6 &&
                                   validation.Fields[0].FieldType == Constants.Number &&
                                   validation.Fields[1].FieldType == Constants.DateTime &&
                                   validation.Fields[2].FieldType == Constants.Number &&
                                   validation.Fields[3].FieldType == Constants.String &&
                                   validation.Fields[4].FieldType == Constants.String &&
                                   validation.Fields[5].FieldType == Constants.String);
 }
Пример #4
0
        private static Model.Template ReadTemplate(IDataRecord reader)
        {
            int    id   = reader.GetInt32(0);
            string navn = reader.IsDBNull(1) ? null : reader.GetString(1);

            Model.Template template = new Model.Template
            {
                Id   = id,
                Navn = navn
            };
            return(template);
        }
Пример #5
0
        public override List <Model.Field> FieldDefinitions(string fileName, Model.Template template)
        {
            var fields = new List <Model.Field>();
            int row    = 0;

            using (SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Open(fileName, false)) {
                WorkbookPart workbookPart = spreadsheetDocument.WorkbookPart;
                var          cellFormats  = workbookPart.WorkbookStylesPart.Stylesheet.CellFormats;
                foreach (WorksheetPart worksheetPart in workbookPart.WorksheetParts)
                {
                    OpenXmlReader reader     = OpenXmlReader.Create(worksheetPart);
                    var           needHeader = true;
                    while (reader.Read())
                    {
                        if (reader.ElementType == typeof(Row))
                        {
                            reader.ReadFirstChild();
                            int columnIndex = 0;
                            do
                            {
                                if (reader.ElementType == typeof(Cell))
                                {
                                    Cell c         = (Cell)reader.LoadCurrentElement();
                                    var  cellValue = GetCellValue(workbookPart, cellFormats, c);
                                    if (needHeader)
                                    {
                                        SetHeader(template.HasHeaders, fields, c, cellValue);
                                        if (template.HasHeaders)
                                        {
                                            continue;
                                        }
                                    }
                                    string excelColumnReference = Regex.Replace(c.CellReference, "\\d", "");
                                    var    field = fields.FirstOrDefault(f => f.ExcelColumnReference == excelColumnReference);
                                    if (field != null && field.ColumnIndex != columnIndex)
                                    {
                                        fields[columnIndex].IsNullable = true;
                                        columnIndex = field.ColumnIndex;
                                    }
                                    SetFieldType(fields, cellValue, c);
                                    columnIndex++;
                                }
                            } while (reader.ReadNextSibling());
                            needHeader = false;
                            row++;
                        }
                    }
                }
            }
            return(fields);
        }
Пример #6
0
        public HttpResponseMessage Post([FromBody] Model.Template value)
        {
            const string insertString = "insert into table navn ændre values ændre";

            using (SqlConnection databaseConnection = new SqlConnection(ConnectionString))
            {
                databaseConnection.Open();
                using (SqlCommand insertCommand = new SqlCommand(insertString, databaseConnection))
                {
                    insertCommand.Parameters.AddWithValue("@dato", value.Id);
                    insertCommand.Parameters.AddWithValue("@tid", value.Navn);
                    int rowsAffected = insertCommand.ExecuteNonQuery();
                    return(new HttpResponseMessage(HttpStatusCode.OK));
                }
            }
        }
Пример #7
0
        public HttpResponseMessage Post([FromBody] Model.Template value)
        {
            if (templateList.Contains(value))
            {
                return(new HttpResponseMessage(HttpStatusCode.NotModified));
            }
            else
            {
                Model.Template addingCoin = new Model.Template(value.Id, value.Navn);
                templateList.Add(addingCoin);
                return(new HttpResponseMessage(HttpStatusCode.OK));
            }

            //or

            //customer.ID = CustomerController.nextId++;
            cList.Add(customer);
            return(customer);
        }
Пример #8
0
        public IEnumerable <Model.Template> GetDatabase()
        {
            const string selectString = "select * from TableNavn";

            using (SqlConnection databaseConnection = new SqlConnection(ConnectionString))
            {
                databaseConnection.Open();
                using (SqlCommand selectCommand = new SqlCommand(selectString, databaseConnection))
                {
                    using (SqlDataReader reader = selectCommand.ExecuteReader())
                    {
                        List <Model.Template> templateList = new List <Model.Template>();
                        while (reader.Read())
                        {
                            Model.Template book = ReadTemplate(reader);
                            templateList.Add(book);
                        }
                        return(templateList);
                    }
                }
            }
        }
Пример #9
0
 public abstract List <Model.Field> FieldDefinitions(string fileName, Model.Template template);