Esempio n. 1
0
        public void Test_GetTypeByFriendlyName()
        {
            const string expected = "int";

            var result = _target.GetFriendlyNameByType(_stringTypeTest);

            Assert.AreEqual(expected, result);
        }
Esempio n. 2
0
        public IEnumerable <ModelProperty> ReadColumnsFromDbObject()
        {
            try
            {
                if (string.IsNullOrEmpty(ConnectionString))
                {
                    throw new ArgumentException("Connection string is null or empty");
                }

                var properties = new List <ModelProperty>();

                using (var connection = new SqlConnection(ConnectionString))
                    using (var command = new SqlCommand(DbObjectName, connection))
                    {
                        command.CommandType = CommandType.StoredProcedure;
                        var parameterList = _dbSysUtils.GetParametersFromSP(ConnectionString, DbObjectName).ToArray();

                        command.Parameters.Clear();
                        command.Parameters.AddRange(parameterList);

                        _dbSysUtils.SetParametersToNull(command.Parameters);

                        connection.Open();

                        var sqlDataAdapter = new SqlDataAdapter(command);
                        var dataSet        = new DataSet();
                        sqlDataAdapter.FillSchema(dataSet, SchemaType.Source);

                        properties.AddRange(
                            from DataColumn dataColumn in dataSet.Tables[0].Columns
                            select new ModelProperty
                        {
                            PropertyName     = dataColumn.ColumnName,
                            PropertyDataType = _typeUtils.GetFriendlyNameByType(dataColumn.DataType),
                            IsNullable       = dataColumn.AllowDBNull
                        });

                        connection.Close();
                    }
                return(properties);
            }
            catch (Exception exception)
            {
                Debug.WriteLine(exception);
                Debug.Flush();
                throw;
            }
        }