Inheritance: MonoBehaviour
コード例 #1
0
        static void Main(string[] args)
        {
            Console.Title = "修改圆柱体的高度和底面半径";

            Column column1 = new Column();                          //创建圆柱体1
            Circle circle1 = new Circle();                          //创建圆形1
            column1.Height = 20;                                    //设置圆柱体1的高度
            column1.Circle = circle1;                               //将圆形1赋值给圆柱体1底面圆形
            circle1.Radius = 10;                                    //设置圆形1半径
            Console.WriteLine("圆柱体1高度:{0}", column1.Height);    //输出圆柱体1的高度
            Console.WriteLine("圆柱体1底面半径:{0}", column1.Circle.Radius);//输出圆柱体1底面半径
            Console.WriteLine("将圆柱体1赋值给圆柱体2");

            Column column2 = column1;                               //将圆柱体1赋值给圆柱体2
            Console.WriteLine("将圆形1半径改为30");
            circle1.Radius = 30;                                    //修改圆形1的半径
            Console.WriteLine("圆柱体1底面半径:{0}", column1.Circle.Radius);//输出圆柱体1底面半径
            Console.WriteLine("圆柱体2底面半径:{0}", column2.Circle.Radius);//输出圆柱体2底面半径
            Console.WriteLine("圆柱体1高度:{0}", column1.Height);    //输出圆柱体1的高度
            Console.WriteLine("圆柱体2高度:{0}", column2.Height);    //输出圆柱体2的高度
            Console.WriteLine("将圆柱体2高度改为40");
            column2.Height = 40;                                    //修改圆柱体2的高度
            Console.WriteLine("圆柱体1高度:{0}", column1.Height);    //输出圆柱体1的高度
            Console.WriteLine("圆柱体2高度:{0}", column2.Height);    //输出圆柱体2的高度

            Console.Read();
        }
コード例 #2
0
 public RowNumberOverOrderByExpression(Column column)
 {
     if (column == null) {
         throw new ArgumentNullException("column");
     }
     this.Column = column;
 }
コード例 #3
0
 public ColumnCellArtistText()
     : base("DisplayName", true)
 {
     column_controller = new ColumnController ();
     var current_layout = new Column ("Artist", this, 1.0);
     column_controller.Add (current_layout);
 }
コード例 #4
0
        protected override object GenerateCore(Project project, Column column)
        {
            var gender = Gender;
            if (gender == Gender.Unknown)
            {
                var columnGender = project.CurrentRow.GetValue(WellKnownDataType.Gender) as string;
                if (columnGender != null)
                {
                    if (string.Equals(columnGender, "Mr", StringComparison.OrdinalIgnoreCase) || 
                        string.Equals(columnGender, "M", StringComparison.OrdinalIgnoreCase) ||
                        string.Equals(columnGender, "M.", StringComparison.OrdinalIgnoreCase))
                    {
                        gender = Gender.Male;
                    }
                    else
                    {
                        gender = Gender.Female;
                    }
                }
            }

            switch (gender)
            {
                case Gender.Male:
                    return StringGenerator.CoerceValue(Random.NextFromList(ReferentialData.MaleFirstNames), column);
                case Gender.Female:
                    return StringGenerator.CoerceValue(Random.NextFromList(ReferentialData.FemaleFirstNames), column);
                default:
                    return StringGenerator.CoerceValue(Random.NextFromList(ReferentialData.FirstNames), column);
            }
        }
コード例 #5
0
        private Columns GetColumns(string connectionString, string sqlCmd)
        {
            Columns columns = new Columns(50);
            SqlDataReader dr = SqlHelper.ExecuteReader(connectionString, CommandType.Text, sqlCmd);
            while (dr.Read())
            {
                string id = dr.IsDBNull(2) ? string.Empty : dr.GetString(2);
                string displayName = dr.IsDBNull(2) ? string.Empty : dr.GetString(2);
                string name = dr.IsDBNull(2) ? string.Empty : dr.GetString(2);
                int length = dr.IsDBNull(3) ? 0 : dr.GetInt16(3);
                bool identity = dr.IsDBNull(4) ? false : dr.GetBoolean(4);
                bool isNullable = dr.IsDBNull(5) ? false : dr.GetBoolean(5);
                bool isComputed = dr.IsDBNull(6) ? false : dr.GetBoolean(6);
                string dataType = dr.IsDBNull(7) ? string.Empty : dr.GetString(7);
                string comment = dr.IsDBNull(8) ? string.Empty : dr.GetString(8);
                string defaultValue = dr.IsDBNull(9) ? string.Empty : dr.GetString(9);

                Column column = new Column(id, displayName, name, dataType, comment);
                column.Length = length;
                column.IsAutoIncremented = identity;
                column.IsNullable = isNullable;
                column.DefaultValue = defaultValue;
                column.DataType = dataType;
                column.OriginalName = name;
                column.IsComputed = isComputed;
                columns.Add(id, column);
            }
            dr.Close();

            return columns;
        }
コード例 #6
0
        public override bool CanGenerate(Column column)
        {
            if (IsGeneratedColumn(column) || IsForeginKey(column))
                return false;

            return IsStringDbType(column);
        }
コード例 #7
0
        private Columns GetColumns(string connectionString, string sqlCmd)
        {
            Columns columns = new Columns(50);
            MySqlDataReader dr = MySqlHelper.ExecuteReader(connectionString, sqlCmd);
            while (dr.Read())
            {
                string id = dr.IsDBNull(2) ? string.Empty : dr.GetString(2);
                string displayName = dr.IsDBNull(2) ? string.Empty : dr.GetString(2);
                string name = dr.IsDBNull(2) ? string.Empty : dr.GetString(2);
                string dataType = dr.IsDBNull(3) ? string.Empty : dr.GetString(3);
                string key = dr.IsDBNull(4) ? string.Empty : dr.GetString(4);
                string defaultValue = dr.IsDBNull(5) ? string.Empty : dr.GetString(5);
                string isNullable = dr.IsDBNull(6) ? string.Empty : dr.GetString(6);
                string length = dr.IsDBNull(7) ? string.Empty : dr.GetString(7);
                string identity = dr.IsDBNull(8) ? string.Empty : dr.GetString(8);
                string comment = dr.IsDBNull(9) ? string.Empty : dr.GetString(9);

                Column column = new Column(id, displayName, name, dataType, comment);
                column.Length = ConvertHelper.GetInt32(length);
                column.IsAutoIncremented = identity.Equals("auto_increment");
                column.IsNullable = isNullable.Equals("YES");
                column.DefaultValue = defaultValue.ToEmpty();
                column.DataType = dataType;
                column.OriginalName = name;
                columns.Add(id, column);
            }
            dr.Close();

            return columns;
        }
コード例 #8
0
        protected override object GenerateCore(Project project, Column column)
        {
            DateTime minimum = Minimum;
            if (this.WellKnownDataType == WellKnownDataType.EndDate)
            {
                DateTime dt;
                if (ConvertUtilities.TryChangeType(project.CurrentRow.GetValue(WellKnownDataType.StartDate), out dt))
                {
                    minimum = dt;
                }
                else if (ConvertUtilities.TryChangeType(project.CurrentRow.GetValue(WellKnownDataType.Date), out dt))
                {
                    minimum = dt;
                }
            }

            var dateTime = Random.NextDateTime(minimum, Maximum);
            if (column.CodeFluentType.DbType == DbType.DateTimeOffset)
            {
                var offset = Random.NextInt32(MinimumOffset, MaximumOffset);
                return new DateTimeOffset(dateTime, TimeSpan.FromMinutes(offset));
            }

            return dateTime;
        }
コード例 #9
0
 public CrossTabResults(List<Column> groupByColumns, Column crossTabColumn, List<Column> summarizeColumns, List<string> crossTabColumnVaues)
 {
     _groupByColumns = groupByColumns;
     _crossTabColumn = crossTabColumn;
     _summarizeColumns = summarizeColumns;
     _crossTabColumnVaues = crossTabColumnVaues;
 }
コード例 #10
0
        protected override object GenerateCore(Project project, Column column)
        {
            object firstName = _firstNameGenerator.Generate(project, column, 1, 0);
            object lastName = _lastNameGenerator.Generate(project, column, 1, 0);

            return string.Format(Format, firstName, lastName);
        }
コード例 #11
0
		public virtual Column[] GetColumns(string table) {
			List<Column> columns = new List<Column>();
			using (
				IDataReader reader =
					ExecuteQuery(
						String.Format(
							"select COLUMN_NAME, IS_NULLABLE,DATA_TYPE,CHARACTER_MAXIMUM_LENGTH from information_schema.columns where table_name = '{0}'",
							table))) {
				while (reader.Read()) {
					Column column = new Column(reader.GetString(0), DbType.String);
					string nullableStr = reader.GetString(1);
					bool isNullable = nullableStr == "YES";
					column.ColumnProperty |= isNullable ? ColumnProperty.Null : ColumnProperty.NotNull;

					var typeString = reader.GetString(2);
					if (reader.IsDBNull(3) == false) {
						var length = reader.GetInt32(3);
						if (length == -1) {
							typeString += "(MAX)";
						}
						else {
							typeString += "(" + length + ")";
						}
					}

					column.TypeString = typeString;
					columns.Add(column);
				}
			}

			return columns.ToArray();
		}
コード例 #12
0
        public void UsesMySqlEscapeForColumns() {
            var sb = new StringBuilder();
            var col = new Column<int> { DbName = "foo", DbType = DbType.Int32, IsNullable = true };
            this.MakeTarget().AppendColumnSpecification(sb, col);

            Assert.Equal("`foo` int null", sb.ToString());
        }
コード例 #13
0
ファイル: TableJoin.cs プロジェクト: JorgeGamba/Simple.Data
 public TableJoin(Table master, Column masterColumn, Table detail, Column detailColumn)
 {
     _master = master;
     _masterColumn = masterColumn;
     _detailColumn = detailColumn;
     _detail = detail;
 }
コード例 #14
0
 private Calculation(Column column, Guid id, double operand, Operator @operator)
 {
     _column = column;
     Id = id;
     Operand = operand;
     Operator = @operator;
 }
コード例 #15
0
ファイル: TextColumn.cs プロジェクト: GrgDmr/CDAManager
		public override Column CopyTo(Column column)
		{
			var textColumn = (TextColumn)column;
			textColumn.CharLength = CharLength;
			textColumn.ByteLength = ByteLength;
			return base.CopyTo(textColumn);
		}
コード例 #16
0
ファイル: SetTests.cs プロジェクト: ajlopez/SetTuples
        public void AddColumns()
        {
            Column[] columns = new Column[] {
                new Column("Name", ColumnType.String),
                new Column("Age", ColumnType.Integer)
            };

            Set set = new Set(columns);

            NameValues values = new NameValues();
            values.Add("Name", "Adam");
            values.Add("Age", 800);

            set = set.AddTuple(values);

            Column[] newcolumns = new Column[] {
                new Column("Height", ColumnType.Integer),
                new Column("Weight", ColumnType.Integer)
            };

            var result = set.AddColumns(newcolumns);

            Assert.AreNotEqual(result, set);
            Assert.IsNotNull(result.Tuples);
            Assert.AreEqual(1, result.Tuples.Count());
            Assert.AreEqual(4, result.Columns.Count());

            Tuple tuple = result.Tuples.First();
            Assert.AreEqual("Adam", tuple[0]);
            Assert.AreEqual(800, tuple[1]);
            Assert.IsNull(tuple[2]);
            Assert.IsNull(tuple[3]);
        }
コード例 #17
0
ファイル: Fngine00Copy.cs プロジェクト: pavelsavara/nMars
 public override int this[int address, Column column]
 {
     get
     {
         switch (column)
         {
             case Column.A:
                 return ValuesA[mod(address)];
             case Column.B:
                 return ValuesB[mod(address)];
             default:
                 throw new ApplicationException("Unknown register");
         }
     }
     set
     {
         switch (column)
         {
             case Column.A:
                 ValuesA[mod(address)]=value;
                 break;
             case Column.B:
                 ValuesB[mod(address)] = value;
                 break;
             default:
                 throw new ApplicationException("Unknown register");
         }
     }
 }
コード例 #18
0
        public SelectTabControl()
        {

            InitializeComponent();
            DataContext = m_items;
            ComboboxOriginalStyle = this.ComputedColComboBox1.Style;
            ComboboxOriginalStyle = this.ComputedColFunctionComboBox.Style;
            this.ComputedColFunctionComboBox.ItemsSource = Functions.getFunctionNames();
            isValidated = false;
            ColsToSelectAcc.SelectionMode = AccordionSelectionMode.ZeroOrOne;
            RowOriginalBorderBrush = Brushes.White;
            //seting up list ToselectColumFrom
            lstToSelecteColFrom.ItemsSource = _FromSelectedColToCollection;
            //seting up selected list box itemsource
            lstSelectedCol.ItemsSource = _SelectedColCollection;
            //setting computed col listbox
            Column computedCol = new Column();
            computedCol.Name = "";
            computedCol.AliasName = "";
            computedColList.Add(computedCol);
            lstSelectedCol.MouseMove += new MouseEventHandler(lstSelectedCol_MouseMove);
            List<string> ComputedColFormatComboBoxItemSrc = Common.GetColumsFormatList();
            ComputedColFormatComboBoxItemSrc.Insert(0, "Select One");
            ComputedColFormatComboBox.ItemsSource = ComputedColFormatComboBoxItemSrc;
            ComputedColFormatComboBox.SelectedIndex = 0;

        }
コード例 #19
0
 public bool this[long x, long y]
 {
     get
     {
         Column column = columns[x];
         if (column == null)
             return false;
         return column[y];
     }
     set
     {
         Column column;
         if (!columns.TryGetValue(x, out column))
             column = null;
         if (value)
         {
             if (column == null)
             {
                 column = new Column(x);
                 columns.Add(x, column);
             }
             column[y] = true;
         }
         else
             if (column != null)
                 column[y] = false;
     }
 }
コード例 #20
0
        public DatabaseSnapshot createSnapshot(liquibase.database.Database database, string schema, java.util.Set listeners)
        {
            DatabaseSnapshot snapshot = new DatabaseSnapshot(database, schema);

            OleDbConnection conn = ((AdoConnection)database.getConnection()).GetUnderlyingConnection();

             string[] restrictions = new string[4];
             restrictions[3] = "Table";

             DataTable tables = conn.GetSchema("Tables", restrictions);

             foreach (DataRow row in tables.Rows) {
                 Table table =  new Table(row.Field<String>("TABLE_NAME"));
                 table.setSchema(row.Field<String>("TABLE_SCHEMA"));

                 snapshot.getTables().add(table);

                 DataTable tableInfo = conn.GetSchema("Columns", new string[4] { null, null, table.getName(), null });

                 foreach (DataRow colRow in tableInfo.Rows) {
                     Column column = new Column();
                     column.setName(colRow.Field<string>("COLUMN_NAME"));
                     column.setTable(table);
                     //column.setTypeName(colRow.Field<string>("DATA_TYPE"));
                     //column.setColumnSize(colRow.Field<int>("NUMERIC_SCALE"));

                     table.getColumns().add(column);
                 }
             }

            return snapshot;
        }
コード例 #21
0
 public ParameterTemplate AddParameter(object value, Column column)
 {
     string name = _schemaProvider.NameParameter("p" + Interlocked.Increment(ref _number) + _parameterSuffix);
     var parameterTemplate = new ParameterTemplate(name, column);
     _parameters.Add(parameterTemplate, value);
     return parameterTemplate;
 }
コード例 #22
0
        private Columns GetColumns(XmlNode tableOrViewNode)
        {
            XmlNode columnsNode = tableOrViewNode["c:Columns"];
            if (columnsNode == null ||
                columnsNode.ChildNodes.Count == 0) return null;

            XmlNodeList columnNodes = columnsNode.ChildNodes;
            Columns columns = new Columns(columnNodes.Count);
            foreach (XmlNode columnNode in columnNodes)
            {
                string id = columnNode.Attributes["Id"].InnerText;
                string displayName = columnNode["a:Name"].InnerText;
                string name = columnNode["a:Code"].InnerText;
                string comment = columnNode["a:Comment"] != null ? columnNode["a:Comment"].InnerText : string.Empty;
                string dataType = columnNode["a:DataType"] != null ? columnNode["a:DataType"].InnerText : string.Empty;
                string length = columnNode["a:Length"] != null ? columnNode["a:Length"].InnerText : "0";
                string identity = columnNode["a:Identity"] != null ? columnNode["a:Identity"].InnerText : string.Empty;
                string mandatory = columnNode["a:Mandatory"] != null ? columnNode["a:Mandatory"].InnerText : string.Empty;
                string defaultValue = columnNode["a:DefaultValue"] != null ? columnNode["a:DefaultValue"].InnerText : string.Empty;

                Column column = new Column(id, displayName, name, dataType, comment);
                column.Length = Int32.Parse(length);
                column.IsAutoIncremented = identity.Equals("1");
                column.IsNullable = mandatory.Equals("1");
                column.DefaultValue = defaultValue.ToEmpty();
                column.DataType = Regex.Replace(column.DataType, "\\(.*?\\)", "");
                column.OriginalName = name;
                columns.Add(id, column);
            }

            return columns;
        }
コード例 #23
0
        public ActionResult AddColumn()
        {
            Store store = this.GetCmp<Store>("Store1");
            Ext.Net.GridPanel grid = this.GetCmp<Ext.Net.GridPanel>("GridPanel1"); 

            ModelField field = new ModelField("pctChange", ModelFieldType.Float);

            store.AddField(field, 3);

            store.LoadData(Companies.GetAllCompanies());

            Column col = new Column();
            col.ID = "pctChangeColumn";
            col.Text = "Change %";
            col.Width = 75;
            col.Sortable = true;
            col.DataIndex = "pctChange";
            col.Renderer.Fn = "pctChange";

            ComboBox cb = new ComboBox() { ID = "ComboBox1" };
            cb.Items.Add(new Ext.Net.ListItem("1", "1"));
            cb.Items.Add(new Ext.Net.ListItem("2", "2"));
            cb.Items.Add(new Ext.Net.ListItem("3", "3"));

            col.Editor.Add(cb);

            grid.AddColumn(col);

            return this.Direct();
        }
コード例 #24
0
ファイル: MemberGraph.cs プロジェクト: rexwhitten/MGenerator
        public MemberGraph(Column sqlColumn)
        {
            this.SqlColumn = sqlColumn;
            this.Name = SqlColumn.Name;
            this.GraphType = TypeConvertor.ToNetType(sqlColumn.DataType.SqlDataType);
            this.IsReadOnly = false;

            if (sqlColumn.Computed)
            {
                this.IsReadOnly = true;
            }

            if (sqlColumn.Parent.IsView())
            {
                this.IsReadOnly = true;
            }

            if (TypeConvertor.NullabeTypes().Contains(this.GraphType))
            {
                this.IsNullable = true;
            }
            else
            {
                this.IsNullable = false;
            }

            if (this.SqlColumn.Nullable)
            {
                this.Required = false;
            }
            else
            {
                this.Required = true;
            }
        }
コード例 #25
0
        public override bool CanGenerate(Column column)
        {
            if (IsGeneratedColumn(column) || IsForeginKey(column))
                return false;

            return IsNumericDbType(column.CodeFluentType.DbType);
        }
コード例 #26
0
ファイル: TableMapping.cs プロジェクト: flozi76/TimeTracker
        public TableMapping(Type type)
        {
            this.MappedType = type;
            this.TableName = this.MappedType.Name;
            var props = this.MappedType.GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.SetProperty);
            var cols = new List<Column>();
            foreach (var p in props)
            {
                var ignore = p.GetCustomAttributes(typeof(IgnoreAttribute), true).Length > 0;
                if (p.CanWrite && !ignore)
                {
                    cols.Add(new PropColumn(p));
                }
            }
            this.Columns = cols.ToArray();
            foreach (var c in this.Columns)
            {
                if (c.IsAutoInc && c.IsPK)
                {
                    this._autoPk = c;
                }
                if (c.IsPK)
                {
                    this.PK = c;
                }
            }

            this.HasAutoIncPK = this._autoPk != null;
        }
コード例 #27
0
		public void CheckSchemaInfoTable()
		{
			if (_schemaProvider.HasTable(TableName))
			{
				if (!_schemaProvider.HasColumn(TableName, ScopeColumnName))
				{
					_log.InfoFormat("Adding {0} column to {1}...", ScopeColumnName, TableName);
					_schemaProvider.AddColumn(TableName, ScopeColumnName, typeof(string), 25, false, true);
				}

				if (!_schemaProvider.IsColumnOfType(TableName, VersionColumnName, VersionColumnType))
				{
					_log.InfoFormat("Changing {0} column to {1}...", VersionColumnName, VersionColumnType);
					_schemaProvider.ChangeColumn(TableName, VersionColumnName, typeof(Int64), 8, false);
				}

				return;
			}

			_log.InfoFormat("Creating {0}...", TableName);

			Column[] columns = new Column[]
			                   	{
			                   		new Column(IdColumnName, typeof(Int32), 4, true),
			                   		new Column(VersionColumnName, typeof(Int64), 8, false),
			                   		new Column(ScopeColumnName, typeof(string), 25, false, true)
			                   	};
			_schemaProvider.AddTable(TableName, columns);
		}
コード例 #28
0
        protected override object GenerateCore(Project project, Column column)
        {
            IList<string> formats = new[]
            {
                "{0}.{2}@{5}.{6}", // FirstName.LastName@Domain
                "{1}.{2}@{5}.{6}", // FirstName[0].LastName@Domain
                "{3}@{5}.{6}",     // LastName@Domain
                "{2}.{0}@{5}.{6}", // LastName.FirstName@Domain
                "{2}.{1}@{5}.{6}", // LastName.FirstName[0]@Domain
                "{4}@{5}.{6}"      // username@Domain
            };

            for (int i = 0; i < 10; i++)
            {

                string firstName = project.CurrentRow.GetValue(WellKnownDataType.FirstName) as string ?? Random.NextFromList(ReferentialData.FirstNames);
                string lastName = project.CurrentRow.GetValue(WellKnownDataType.LastName) as string ?? Random.NextFromList(ReferentialData.LastNames);
                string domain = Random.NextFromList(ReferentialData.EmailDomainsWithoutLld);
                string tld = Random.NextFromList(ReferentialData.TopLevelDomains);
                string username = project.CurrentRow.GetValue(WellKnownDataType.UserName) as string ??_userNameGenerator.Generate(project, column, 1, 0).Cast<string>().First();

                string format = Random.NextFromList(formats);
                string email = string.Format(format, firstName, firstName[0], lastName, lastName[0], username, domain, tld);
                if (IsValid(email))
                    return email;
            }

            return null;
        }
コード例 #29
0
ファイル: SchemaWriter.cs プロジェクト: mikeobrien/Gribble
 public static Statement CreateAddColumnStatement(string tableName, Column column)
 {
     var writer = new SqlWriter();
     writer.Alter.Table.QuotedName(tableName).Add.Flush();
     WriteColumnDefinition(writer, column);
     return new Statement(writer.ToString(), Statement.StatementType.Text, Statement.ResultType.None);
 }
コード例 #30
0
        public void The_Rule_Fails_But_Only_For_The_Parent()
        {
            var set = new MappingSetImpl();
            var parentEntity = new EntityImpl("Parent");
            var childEntity = new EntityImpl("Child");
            childEntity.Parent = parentEntity;
            var property = new PropertyImpl("Property1");
            parentEntity.AddProperty(property);
            set.EntitySet.AddEntity(parentEntity);
            set.EntitySet.AddEntity(childEntity);

            var table = new Table("Table1");
            var column = new Column("Column1");
            table.AddColumn(column);
            set.Database.AddTable(table);

            var rule = new CheckAllPropertiesMappedRule();
            var result = rule.Run(set);

            Assert.That(result.HasIssues);
            Assert.That(result.Issues, Has.Count(1));

            var issue = result.Issues[0];
            Assert.That(issue.ErrorLevel, Is.EqualTo(ValidationErrorLevel.Warning));
            Assert.That(issue.Object, Is.SameAs(property));
            StringAssert.Contains("Property1", issue.Description);
            StringAssert.Contains("Parent", issue.Description);
        }
コード例 #31
0
 private Guid GetContactId(string contactId)
 {
     return((new Select(UserConnection).Column("Id").From("Contact").Where("SmrERPId").IsEqual(Column.Parameter(contactId)) as Select).ExecuteScalar <Guid>());
 }
コード例 #32
0
 public NcharController(Column column) : base(column)
 {
 }
コード例 #33
0
            public GridStructure(IGrid grid, double widthConstraint, double heightConstraint)
            {
                _grid = grid;

                _gridWidthConstraint  = widthConstraint;
                _gridHeightConstraint = heightConstraint;

                _explicitGridHeight = _grid.Height;
                _explicitGridWidth  = _grid.Width;
                _gridMaxHeight      = _grid.MaxHeight;
                _gridMinHeight      = _grid.MinHeight;
                _gridMaxWidth       = _grid.MaxWidth;
                _gridMinWidth       = _grid.MinWidth;


                // Cache these GridLayout properties so we don't have to keep looking them up via _grid
                // (Property access via _grid may have performance implications for some SDKs.)
                //_padding = grid.Padding;
                _columnSpacing     = grid.ColumnSpacing;
                _rowSpacing        = grid.RowSpacing;
                _rowDefinitions    = grid.RowDefinitions;
                _columnDefinitions = grid.ColumnDefinitions;

                if (_rowDefinitions.Count == 0)
                {
                    // Since no rows are specified, we'll create an implied row 0
                    _rows    = new Row[1];
                    _rows[0] = new Row(new ImpliedRow());
                }
                else
                {
                    _rows = new Row[_rowDefinitions.Count];

                    for (int n = 0; n < _rowDefinitions.Count; n++)
                    {
                        _rows[n] = new Row(_rowDefinitions[n]);
                    }
                }

                if (_columnDefinitions.Count == 0)
                {
                    // Since no columns are specified, we'll create an implied column 0
                    _columns    = new Column[1];
                    _columns[0] = new Column(new ImpliedColumn());
                }
                else
                {
                    _columns = new Column[_columnDefinitions.Count];

                    for (int n = 0; n < _columnDefinitions.Count; n++)
                    {
                        _columns[n] = new Column(_columnDefinitions[n]);
                    }
                }

                IUICollection <IUIElement> gridChildren = grid.Children;

                // We could work out the _childrenToLayOut array (with the Collapsed items filtered out) with a Linq 1-liner
                // but doing it the hard way means we don't allocate extra enumerators, especially if we're in the
                // happy path where _none_ of the children are Collapsed.
                var gridChildCount = gridChildren.Count;

                _childrenToLayOut = new IUIElement[gridChildCount];
                int currentChild = 0;

                for (int n = 0; n < gridChildCount; n++)
                {
                    IUIElement child = gridChildren[n];

                    if (child.Visible)
                    {
                        _childrenToLayOut[currentChild] = child;
                        currentChild += 1;
                    }
                }

                if (currentChild < gridChildCount)
                {
                    Array.Resize(ref _childrenToLayOut, currentChild);
                }

                // We'll ignore any collapsed child views during layout
                _cells = new Cell[_childrenToLayOut.Length];

                InitializeCells();

                MeasureCells();
            }
コード例 #34
0
		/// <summary>
		/// Sets the bulk email status.
		/// </summary>
		/// <param name="bulkEmailId">The bulk email identifier.</param>
		/// <param name="bulkEmailStatusId">The bulk email status identifier.</param>
		protected virtual void SetBulkEmailStatus(Guid bulkEmailId, Guid bulkEmailStatusId) {
			new Update(Context.UserConnection, "BulkEmail").WithHints(new RowLockHint())
				.Set("StatusId", Column.Parameter(bulkEmailStatusId)).Where("Id").IsEqual(Column.Parameter(bulkEmailId))
				.Execute();
		}
コード例 #35
0
ファイル: TextBoxCellHandler.cs プロジェクト: yaram/Eto
 public TextBoxCellHandler()
 {
     Control = new Column {
         Handler = this
     };
 }
コード例 #36
0
 private Guid GetObjectId(string erpId)
 {
     return((new Select(UserConnection).Top(1).Column("Id").From(_tableName).Where("SmrERPId").IsEqual(Column.Parameter(erpId)) as Select).ExecuteScalar <Guid>());
 }
コード例 #37
0
        public List <PackResult> IntegratePack(string request)
        {
            var objs          = JsonConvert.DeserializeObject <List <ProductGateInfo> >(request);
            var lookupManager = new LookupManager(UserConnection);
            var productTreeLookupCollection = new ProductTreeLookupCollection(UserConnection);
            var result = new List <PackResult>();

            foreach (var info in objs)
            {
                try
                {
                    var group = productTreeLookupCollection.FindGroup(info.Group);
                    if (group == null)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Группа продукта не найдена среди существующих в bpm’online"
                        });

                        continue;
                    }

                    var subCategory = group.Parent;
                    if (subCategory == null)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Подкатегория продукта не найдена среди существующих в bpm’online"
                        });

                        continue;
                    }

                    if (subCategory.Name != info.SubCategory)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Подкатегория продукта не соответствует подкатегории в bpm’online"
                        });

                        continue;
                    }

                    var category = subCategory.Parent;
                    if (category == null)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Категория продукта не найдена среди существующих в bpm’online"
                        });

                        continue;
                    }

                    if (category.Name != info.Category)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Категория продукта не соответствует категории в bpm’online"
                        });

                        continue;
                    }

                    var direction = category.Parent;
                    if (direction == null)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Дирекция продукта не найдена среди существующих в bpm’online"
                        });

                        continue;
                    }

                    if (direction.Name != info.Direction)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Диреция продукта не соответствует дирекции в bpm’online"
                        });

                        continue;
                    }

                    var sizeId = lookupManager.FindLookupIdByName(info.Size, "SmrProductSize");
                    if (sizeId == null)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Размер продукта не найден среди существующих в bpm’online"
                        });

                        continue;
                    }

                    var tradeMarkId = lookupManager.FindLookupIdByName(info.Brand, "Trademark");
                    if (tradeMarkId == null)
                    {
                        result.Add(new PackResult()
                        {
                            IsSuccess    = false,
                            Id           = info.ERPId,
                            ErrorMessage = "Бренд продукта не найден среди существующих в bpm’online"
                        });

                        continue;
                    }

                    var objId = (new Select(UserConnection).Top(1).Column("Id").From(_tableName).Where("Code").IsEqual(Column.Parameter(info.Code)) as Select).ExecuteScalar <Guid>();

                    if (objId == Guid.Empty)
                    {
                        GetInsertQuery(info, direction.Id, category.Id, subCategory.Id, group.Id, sizeId, tradeMarkId).Execute();
                    }
                    else
                    {
                        GetUpdateQuery(info, direction.Id, category.Id, subCategory.Id, group.Id, sizeId, tradeMarkId).Execute();
                    }

                    result.Add(new PackResult()
                    {
                        IsSuccess = true,
                        Id        = info.ERPId
                    });
                }
                catch (Exception e)
                {
                    result.Add(new PackResult()
                    {
                        IsSuccess    = false,
                        Id           = info.ERPId,
                        ErrorMessage = e.Message
                    });
                }
            }
            return(result);
        }
コード例 #38
0
        private Model.Table GetNewTable(string tableName)
        {
            ArchAngel.Interfaces.ProjectHelper.RaiseObjectBeingProcessedEvent(tableName, "Table");
            //_columns = null; // Reset the columns
            //_indexColumns = null;
            //_indexes = null;
            //_indexReferencedColumns = null;
            //_referencedColumns = null;
            Model.Table table = new Model.Table(tableName, false);

            #region Columns

            DataRow[] columnRows = Columns.Select(string.Format("TABLE_NAME = '{0}'", tableName));

            foreach (DataRow columnRow in columnRows)
            {
                Column column = new Column(
                    (string)columnRow["COLUMN_NAME"],
                    false,
                    table,
                    (int)columnRow["ORDINAL_POSITION"],
                    Slyce.Common.Utility.StringsAreEqual((string)columnRow["IS_NULLABLE"], "YES", false),
                    (string)columnRow["DATA_TYPE"],
                    columnRow.IsNull("CHARACTER_MAXIMUM_LENGTH") ? 0 : (int)columnRow["CHARACTER_MAXIMUM_LENGTH"],
                    (int)columnRow["InPrimaryKey"] == 1,
                    columnRow.IsNull("IsIdentity") ? false : (int)columnRow["IsIdentity"] == 1,
                    columnRow.IsNull("COLUMN_DEFAULT") ? "" : (string)columnRow["COLUMN_DEFAULT"],
                    columnRow.IsNull("IsComputed") ? false : (int)columnRow["IsComputed"] == 1);

                if (IsSupported(column))
                {
                    table.AddColumn(column);
                }
            }

            #endregion

            #region Indexes

            DataRow[] indexRows = Indexes.Select(string.Format("TABLE_NAME = '{0}'", tableName));
            foreach (DataRow indexRow in indexRows)
            {
                string indexType;
                string indexKeyType = indexRow["CONSTRAINT_TYPE"].ToString();
                if (indexKeyType == "PRIMARY KEY")
                {
                    continue;
                }
                else if (indexKeyType == "FOREIGN KEY")
                {
                    continue;
                }
                else if (indexKeyType == "UNIQUE")
                {
                    continue;
                    //indexType = DatabaseConstant.IndexType.Unique;
                }
                else if (indexKeyType == "CHECK")
                {
                    indexType = DatabaseConstant.IndexType.Check;
                }
                else if (indexKeyType == "NONE")    //TODO check is NONE
                {
                    indexType = DatabaseConstant.IndexType.None;
                }
                else
                {
                    //continue;
                    throw new Exception("IndexType " + indexKeyType + " Not Defined");
                }
                DataRow[] indexColumnRows;// = IndexColumns.Select(string.Format("TABLE_NAME = '{0}' AND CONSTRAINT_NAME  = '{1}'", tableName, indexRow["CONSTRAINT_NAME"]));

                if (indexKeyType == "NONE")
                {
                    indexColumnRows = Columns.Select(string.Format("TABLE_NAME = '{0}' AND COLUMN_NAME  = '{1}'", tableName, indexRow["ColumnName"]));
                }
                else
                {
                    indexColumnRows = IndexColumns.Select(string.Format("TABLE_NAME = '{0}' AND CONSTRAINT_NAME  = '{1}'", tableName, indexRow["CONSTRAINT_NAME"]));
                }
                Index index = new Index(indexRow["CONSTRAINT_NAME"].ToString(), false, indexType, table);

                // Fill Columns
                foreach (DataRow indexColumnRow in indexColumnRows)
                {
                    Column indexColumn = new Column(indexColumnRow["COLUMN_NAME"].ToString(), false);
                    index.AddColumn(indexColumn);
                }
                index.ResetDefaults();
                table.AddIndex(index);
            }

            // Indexes -- that should be keys
            foreach (DataRow keyRow in indexRows)
            {
                string keyType;
                string indexKeyType = keyRow["CONSTRAINT_TYPE"].ToString();
                if (indexKeyType == "PRIMARY KEY")
                {
                    keyType = DatabaseConstant.KeyType.Primary;
                }
                else if (indexKeyType == "FOREIGN KEY")
                {
                    keyType = DatabaseConstant.KeyType.Foreign;
                }
                else if (indexKeyType == "UNIQUE")
                {
                    keyType = DatabaseConstant.KeyType.Unique;
                }
                else if (indexKeyType == "CHECK")
                {
                    continue;
                }
                else if (indexKeyType == "NONE")
                {
                    continue;
                    //keyType = DatabaseConstant.KeyType.None;
                }
                else
                {
                    //continue;
                    throw new Exception("KeyType " + indexKeyType + " Not Defined");
                }

                // Create Alias
                string    keyAlias      = keyType + "_";
                DataRow[] keyColumnRows = IndexColumns.Select(string.Format("TABLE_NAME = '{0}' AND CONSTRAINT_NAME = '{1}'", tableName, keyRow["CONSTRAINT_NAME"]));
                Key       key           = new Key(keyRow["CONSTRAINT_NAME"].ToString(), false, keyType, table, false);

                // Fill Columns
                foreach (DataRow keyColumnRow in keyColumnRows)
                {
                    Column keyColumn = new Column(keyColumnRow["COLUMN_NAME"].ToString(), false);
                    keyColumn.DataType = (string)keyColumnRow["DATA_TYPE"];
                    key.AddColumn(keyColumn);
                }
                if (keyType == DatabaseConstant.KeyType.Foreign)
                {
                    DataRow[] keyReferencedColumnRows     = IndexReferencedColumns.Select(string.Format("ForeignKey = '{0}'", keyRow["CONSTRAINT_NAME"]));
                    DataRow   firstKeyReferencedColumnRow = keyReferencedColumnRows[0];
                    // Fill References
                    key.ReferencedTable = new Model.Table(firstKeyReferencedColumnRow["ReferencedTable"].ToString(), false);

                    //if (dmoKey.ReferencedKey != null)
                    //{
                    key.ReferencedKey = new Key(firstKeyReferencedColumnRow["ReferencedKey"].ToString(), false, true);
                    //}

                    // Fill Referenced Columns
                    foreach (DataRow keyReferencedColumnRow in keyReferencedColumnRows)
                    {
                        Column keyReferencedColumn = new Column(keyReferencedColumnRow["ReferencedColumn"].ToString(), false);
                        key.AddReferencedColumn(keyReferencedColumn);
                    }
                }
                key.ResetDefaults();
                table.AddKey(key);
            }

            #endregion

            return(table);
        }
コード例 #39
0
ファイル: Status.cs プロジェクト: yamuun/Implem.Pleasanter
 public string GridText(Column column)
 {
     return(column.Choice(ToString()).TextMini);
 }
コード例 #40
0
		private static void writeFillListControlMethod( TextWriter writer, Column valueColumn ) {
			writer.WriteLine( "public static IEnumerable<SelectListItem<" + valueColumn.NullableDataTypeName + ">> GetListItems() {" );
			writer.WriteLine( "return from i in valuesAndNames.GetAllPairs() select SelectListItem.Create<" + valueColumn.NullableDataTypeName + ">( i.Key, i.Value );" );
			writer.WriteLine( "}" );
		}
コード例 #41
0
        private List <Column> GetListOfColumns(string schemaView)
        {
            var result = new List <Column>();
            var dt     = _cn.GetSchema(schemaView);

            //var tables = _cn.GetSchema("Tables");
            //for (int i = 0; i < dt.Columns.Count; i++)
            //{
            //    System.Diagnostics.Debug.WriteLine(dt.Columns[i].ColumnName);
            //}

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                var col = new Column();

                col.CharacterMaxLength = (int)dt.Rows[i]["CHARACTER_MAXIMUM_LENGTH"];
                col.ColumnHasDefault   = (bool)dt.Rows[i]["COLUMN_HASDEFAULT"];
                col.ColumnDefault      = dt.Rows[i]["COLUMN_DEFAULT"].GetType() == typeof(DBNull) ? null : dt.Rows[i]["COLUMN_DEFAULT"].ToString();
                if (col.ColumnDefault == null)
                {
                    col.ColumnHasDefault = false;
                }
                col.ColumnName = dt.Rows[i]["COLUMN_NAME"].ToString();
                col.DataType   = dt.Rows[i]["DATA_TYPE"].ToString();
                if ((bool)dt.Rows[i]["PRIMARY_KEY"] && col.DataType.ToLowerInvariant() == "integer")
                {
                    col.AutoIncrementBy   = 1;
                    col.AutoIncrementSeed = 1;
                }

                if (col.DataType.ToLowerInvariant() == "boolean")
                {
                    col.DataType = "bit";
                }
                if (col.DataType.ToLowerInvariant() == "varchar")
                {
                    col.DataType = "nvarchar";
                }
                if (col.DataType.ToLowerInvariant() == "blob")
                {
                    col.DataType = "image";
                }
                if (col.DataType.ToLowerInvariant() == "integer")
                {
                    col.DataType = "bigint";
                }

                var isNullable = (bool)dt.Rows[i]["IS_NULLABLE"];
                col.IsNullable = isNullable ? YesNoOption.YES : YesNoOption.NO;
                if (dt.Rows[i]["NUMERIC_PRECISION"].GetType() != typeof(DBNull))
                {
                    col.NumericPrecision = (int)dt.Rows[i]["NUMERIC_PRECISION"];
                    if (dt.Rows[i]["NUMERIC_SCALE"].GetType() != typeof(DBNull))
                    {
                        col.NumericScale = (int)dt.Rows[i]["NUMERIC_SCALE"];
                    }
                }
                col.Ordinal = (int)dt.Rows[i]["ORDINAL_POSITION"];
                if (schemaView == "Columns")
                {
                    col.TableName = dt.Rows[i]["TABLE_NAME"].ToString();
                }
                else
                {
                    col.TableName = dt.Rows[i]["VIEW_NAME"].ToString();
                }
                result.Add(col);
            }
            return(result);
        }
コード例 #42
0
ファイル: Status.cs プロジェクト: yamuun/Implem.Pleasanter
 public string ToExport(Column column, ExportColumn exportColumn = null)
 {
     return(Value == 0 && !column.ChoiceHash.ContainsKey(ToString())
         ? null
         : column.ChoicePart(ToString(), exportColumn?.Type ?? ExportColumn.Types.Text));
 }
 public override string IndexModelBuilder(Column c)
 {
     return(null);
 }
コード例 #44
0
ファイル: Status.cs プロジェクト: yamuun/Implem.Pleasanter
 public string ToControl(SiteSettings ss, Column column)
 {
     return(Value.ToString());
 }
コード例 #45
0
        private void CreateDefaultColumns ()
        {
            indicator_column = new Column (null, "indicator", new ColumnCellStatusIndicator (null), 0.05, true, 30, 30);
            indicator_column.Title = String.Empty;

            // Visible-by-default column
            track_column        = Create (BansheeQuery.TrackNumberField, 0.10, true, new ColumnCellTrackNumber (null, true));
            track_column.Title = String.Empty; // don't show any text in the header for this column, so it can be smaller

            title_column        = CreateText (BansheeQuery.TitleField, 0.25, true);
            artist_column       = CreateText (BansheeQuery.ArtistField, 0.225, true);
            album_column        = CreateText (BansheeQuery.AlbumField, 0.225, true);

            // Others
            album_artist_column = CreateText (BansheeQuery.AlbumArtistField, 0.225);
            genre_column        = CreateText (BansheeQuery.GenreField, 0.25);
            duration_column     = Create (BansheeQuery.DurationField, 0.10, true, new ColumnCellDuration (null, true));
            year_column         = Create (BansheeQuery.YearField, 0.15, false, new ColumnCellPositiveInt (null, true, 4, 4) { CultureFormatted = false });
            file_size_column    = Create (BansheeQuery.FileSizeField, 0.15, false, new ColumnCellFileSize (null, true));
            bpm_column          = Create (BansheeQuery.BpmField, 0.10, false, new ColumnCellPositiveInt (null, true, 3, 3));

            // Set the property to null on these so that the object passed in is the actual bound TrackInfo
            track_combined_column = Create (BansheeQuery.TrackNumberField, 0.10, false, new ColumnCellTrackAndCount (null, true));
            track_combined_column.Property = null;
            track_combined_column.Id = "track_and_count";
            track_combined_column.Title = Catalog.GetString ("Track #");
            track_combined_column.LongTitle = Catalog.GetString ("Track & Count");

            disc_combined_column = Create (BansheeQuery.DiscNumberField, 0.10, false, new ColumnCellDiscAndCount (null, true));
            disc_combined_column.Property = null;
            disc_combined_column.Title = Catalog.GetString ("Disc #");
            disc_combined_column.LongTitle = Catalog.GetString ("Disc & Count");

            ColumnCellPositiveInt br_cell = new ColumnCellPositiveInt (null, true, 3, 4);
            br_cell.TextFormat  = Catalog.GetString ("{0} kbps");
            bitrate_column      = Create (BansheeQuery.BitRateField, 0.10, false, br_cell);
            ColumnCellPositiveInt sr_cell = new ColumnCellPositiveInt (null, true, 5, 6);
            sr_cell.TextFormat  = Catalog.GetString ("{0} Hz");
            samplerate_column   = Create (BansheeQuery.SampleRateField, 0.10, false, sr_cell);
            ColumnCellPositiveInt bps_cell = new ColumnCellPositiveInt (null, true, 2, 2);
            bps_cell.TextFormat = Catalog.GetString ("{0} bits");
            bitspersample_column= Create (BansheeQuery.BitsPerSampleField, 0.10, false, bps_cell);

            column_cell_rating  = new ColumnCellRating (null, true);
            rating_column       = Create (BansheeQuery.RatingField, 0.15, false, column_cell_rating);
            score_column        = Create (BansheeQuery.ScoreField, 0.15, false, new ColumnCellPositiveInt (null, true, 2, 5));
            composer_column     = CreateText (BansheeQuery.ComposerField, 0.25);
            conductor_column    = CreateText (BansheeQuery.ConductorField, 0.25);
            grouping_column     = CreateText (BansheeQuery.GroupingField, 0.25);
            comment_column      = CreateText (BansheeQuery.CommentField, 0.25);
            play_count_column   = Create (BansheeQuery.PlayCountField, 0.15, false, new ColumnCellPositiveInt (null, true, 2, 5));
            skip_count_column   = Create (BansheeQuery.SkipCountField, 0.15, false, new ColumnCellPositiveInt (null, true, 2, 5));

            // Construct the URI column specially b/c we want to ellipsize in the middle of the text
            ColumnCellText uri_cell = new ColumnCellLocation (BansheeQuery.UriField.PropertyName, true);
            uri_cell.EllipsizeMode = Pango.EllipsizeMode.Start;
            uri_column          = Create (BansheeQuery.UriField, 0.15, false, uri_cell);

            mime_type_column    = CreateText (BansheeQuery.MimeTypeField, 0.15);
            license_uri_column  = Create (BansheeQuery.LicenseUriField, 0.15, false, new ColumnCellCreativeCommons (null, true));

            last_played_column  = Create (BansheeQuery.LastPlayedField, 0.15, false, new ColumnCellDateTime (null, true));
            last_skipped_column = Create (BansheeQuery.LastSkippedField, 0.15, false, new ColumnCellDateTime (null, true));
            date_added_column   = Create (BansheeQuery.DateAddedField, 0.15, false, new ColumnCellDateTime (null, true));

            ServiceStack.ServiceManager.SourceManager.ActiveSourceChanged += HandleActiveSourceChanged;
        }
        protected override void SetupConfig(Column c)
        {
            string databaseGeneratedOption = null;

            var isEfCore3         = Settings.IsEfCore3();
            var isNewSequentialId = !string.IsNullOrEmpty(c.Default) && c.Default.ToLower().Contains("newsequentialid");
            var isTemporalColumn  = c.GeneratedAlwaysType != ColumnGeneratedAlwaysType.NotApplicable;

            // Identity, instead of Computed, seems the best for Temporal `GENERATED ALWAYS` columns: https://stackoverflow.com/questions/40742142/entity-framework-not-working-with-temporal-table
            if (c.IsIdentity || isNewSequentialId || isTemporalColumn)
            {
                databaseGeneratedOption = ".ValueGeneratedOnAdd()";
                if (c.IsIdentity && Column.CanUseSqlServerIdentityColumn.Contains(c.PropertyType))
                {
                    databaseGeneratedOption += isEfCore3 ? ".UseIdentityColumn()" : ".UseSqlServerIdentityColumn()";
                }
            }
            else if (c.IsComputed)
            {
                databaseGeneratedOption = ".ValueGeneratedOnAddOrUpdate()";
            }
            else if (c.IsPrimaryKey)
            {
                databaseGeneratedOption = ".ValueGeneratedNever()";
            }

            var sb = new StringBuilder(255);

            sb.AppendFormat(".HasColumnName(@\"{0}\")", c.DbName);

            var doNotSpecifySize = false;

            if (!c.IsMaxLength && c.MaxLength > 0)
            {
                doNotSpecifySize = (DatabaseReader.DoNotSpecifySizeForMaxLength && c.MaxLength > 4000); // Issue #179
            }
            if (!string.IsNullOrEmpty(c.SqlPropertyType))
            {
                var columnTypeParameters = string.Empty;

                if ((c.Precision > 0 || c.Scale > 0) && (c.SqlPropertyType == "decimal" || c.SqlPropertyType == "numeric"))
                {
                    columnTypeParameters = $"({c.Precision},{c.Scale})";
                }
                else if (!c.IsMaxLength && c.MaxLength > 0 && !doNotSpecifySize)
                {
                    columnTypeParameters = $"({c.MaxLength})";
                }

                sb.AppendFormat(".HasColumnType(\"{0}{1}\")", c.SqlPropertyType, columnTypeParameters);
            }

            sb.Append(c.IsNullable ? ".IsRequired(false)" : ".IsRequired()");

            if (c.IsFixedLength || c.IsRowVersion)
            {
                sb.Append(".IsFixedLength()");
            }

            if (!c.IsUnicode)
            {
                sb.Append(".IsUnicode(false)");
            }

            if (!c.IsMaxLength && c.MaxLength > 0 && !doNotSpecifySize)
            {
                sb.AppendFormat(".HasMaxLength({0})", c.MaxLength);
            }

            //if (c.IsMaxLength)
            //    sb.Append(".IsMaxLength()");

            //if ((c.Precision > 0 || c.Scale > 0) && c.PropertyType == "decimal")
            //    sb.AppendFormat(".HasPrecision({0},{1})", c.Precision, c.Scale);

            if (c.IsRowVersion)
            {
                sb.Append(".IsRowVersion()");
            }

            if (c.IsConcurrencyToken)
            {
                sb.Append(".IsConcurrencyToken()");
            }

            if (databaseGeneratedOption != null)
            {
                sb.Append(databaseGeneratedOption);
            }

            var config = sb.ToString();

            if (!string.IsNullOrEmpty(config))
            {
                c.Config = string.Format("builder.Property(x => x.{0}){1};", c.NameHumanCase, config);
            }
        }
コード例 #47
0
        public void PopulateRelationships()
        {
            // Skip the PopulateRelationships task if the compatibility level is older than TOM
            if (this.DaxModel.CompatibilityLevel < 1200)
            {
                return;
            }
            const string QUERY_RELATIONSHIPS = @"
SELECT    
    [ID] AS [RelationshipID],
    [FromTableID],
    [FromColumnID],
    [FromCardinality] AS [FromCardinalityType],
    [ToTableID],
    [ToColumnID],
    [ToCardinality] AS [ToCardinalityType],
    [IsActive] AS [Active],
    [CrossFilteringBehavior],
    [JoinOnDateBehavior],
    [RelyOnReferentialIntegrity],
    [SecurityFilteringBehavior],
    [State]
FROM $SYSTEM.TMSCHEMA_RELATIONSHIPS";

            var mapRelationshipsSize = GetRelationshipsSize();
            var cmd = new OleDbCommand(QUERY_RELATIONSHIPS, Connection);

            using (var rdr = cmd.ExecuteReader()) {
                while (rdr.Read())
                {
                    int relationshipDmv1200Id = (int)rdr.GetFieldValue <decimal>(0);
                    int fromTableDmv1200Id    = (int)rdr.GetFieldValue <decimal>(1);
                    int fromColumnDmv1200Id   = (int)rdr.GetFieldValue <decimal>(2);
                    // skip 3 and other columns - not used because other info should come from TOM
                    int toTableDmv1200Id  = (int)rdr.GetFieldValue <decimal>(4);
                    int toColumnDmv1200Id = (int)rdr.GetFieldValue <decimal>(5);

                    Column fromColumn   = GetDaxColumnDmv1200Id(fromTableDmv1200Id, fromColumnDmv1200Id);
                    Column toColumn     = GetDaxColumnDmv1200Id(toTableDmv1200Id, toColumnDmv1200Id);
                    var    relationship = DaxModel.Relationships.Where(r => r.FromColumn == fromColumn && r.ToColumn == toColumn).FirstOrDefault();
                    if (relationship != null)
                    {
                        relationship.Dmv1200RelationshipId = relationshipDmv1200Id;

                        // Check size From side
                        {
                            TableRelationshipIds tFromIds;
                            tFromIds.TableId        = fromTableDmv1200Id;
                            tFromIds.RelationshipId = relationshipDmv1200Id;
                            long usedSizeFrom;
                            if (mapRelationshipsSize.TryGetValue(tFromIds, out usedSizeFrom))
                            {
                                relationship.UsedSizeFrom = usedSizeFrom;
                            }
                        }

                        // Check size To side
                        {
                            TableRelationshipIds tToIds;
                            tToIds.TableId        = toTableDmv1200Id;
                            tToIds.RelationshipId = relationshipDmv1200Id;
                            long usedSizeTo;
                            if (mapRelationshipsSize.TryGetValue(tToIds, out usedSizeTo))
                            {
                                relationship.UsedSizeTo = usedSizeTo;
                            }
                        }
                    }
                }
            }
        }
        protected override void SetupEntity(Column c)
        {
            if (c.PropertyType == "Hierarchy.HierarchyId")
            {
                c.PropertyType = "Microsoft.SqlServer.Types.SqlHierarchyId";
            }

            var comments = string.Empty;

            if (Settings.IncludeComments != CommentsStyle.None)
            {
                comments = c.DbName;
                if (c.IsPrimaryKey)
                {
                    if (c.IsUniqueConstraint)
                    {
                        comments += " (Primary key via unique index " + c.UniqueIndexName + ")";
                    }
                    else
                    {
                        comments += " (Primary key)";
                    }
                }

                if (c.MaxLength > 0)
                {
                    comments += string.Format(" (length: {0})", c.MaxLength);
                }
            }

            c.InlineComments = Settings.IncludeComments == CommentsStyle.AtEndOfField ? " // " + comments : string.Empty;

            c.SummaryComments = string.Empty;
            if (Settings.IncludeComments == CommentsStyle.InSummaryBlock && !string.IsNullOrEmpty(comments))
            {
                c.SummaryComments = comments;
            }
            if (Settings.IncludeExtendedPropertyComments == CommentsStyle.InSummaryBlock && !string.IsNullOrEmpty(c.ExtendedProperty))
            {
                if (string.IsNullOrEmpty(c.SummaryComments))
                {
                    c.SummaryComments = c.ExtendedProperty;
                }
                else
                {
                    c.SummaryComments += ". " + c.ExtendedProperty;
                }
            }

            if (Settings.IncludeExtendedPropertyComments == CommentsStyle.AtEndOfField && !string.IsNullOrEmpty(c.ExtendedProperty))
            {
                if (string.IsNullOrEmpty(c.InlineComments))
                {
                    c.InlineComments = " // " + c.ExtendedProperty;
                }
                else
                {
                    c.InlineComments += ". " + c.ExtendedProperty;
                }
            }
        }
コード例 #49
0
 public override string ToString()
 {
     return(Column.ToString() + Row.ToString());
 }
コード例 #50
0
        /// <summary>
        /// Creates the static parts of the invoice.
        /// </summary>
        void CreatePage()
        {
            // Each MigraDoc document needs at least one section.
            Section section = this.document.AddSection();

            // Put a logo in the header
            Image image = section.Headers.Primary.AddImage("../../PowerBooks.png");

            image.Height             = "2.5cm";
            image.LockAspectRatio    = true;
            image.RelativeVertical   = RelativeVertical.Line;
            image.RelativeHorizontal = RelativeHorizontal.Margin;
            image.Top              = ShapePosition.Top;
            image.Left             = ShapePosition.Right;
            image.WrapFormat.Style = WrapStyle.Through;

            // Create footer
            Paragraph paragraph = section.Footers.Primary.AddParagraph();

            paragraph.AddText("PowerBooks Inc · Sample Street 42 · 56789 Cologne · Germany");
            paragraph.Format.Font.Size = 9;
            paragraph.Format.Alignment = ParagraphAlignment.Center;

            // Create the text frame for the address
            this.addressFrame                    = section.AddTextFrame();
            this.addressFrame.Height             = "3.0cm";
            this.addressFrame.Width              = "7.0cm";
            this.addressFrame.Left               = ShapePosition.Left;
            this.addressFrame.RelativeHorizontal = RelativeHorizontal.Margin;
            this.addressFrame.Top                = "5.0cm";
            this.addressFrame.RelativeVertical   = RelativeVertical.Page;

            // Put sender in address frame
            paragraph = this.addressFrame.AddParagraph("PowerBooks Inc · Sample Street 42 · 56789 Cologne");
            paragraph.Format.Font.Name  = "Times New Roman";
            paragraph.Format.Font.Size  = 7;
            paragraph.Format.SpaceAfter = 3;

            // Add the print date field
            paragraph = section.AddParagraph();
            paragraph.Format.SpaceBefore = "8cm";
            paragraph.Style = "Reference";
            paragraph.AddFormattedText("INVOICE", TextFormat.Bold);
            paragraph.AddTab();
            paragraph.AddText("Cologne, ");
            paragraph.AddDateField("dd.MM.yyyy");

            // Create the item table
            this.table                     = section.AddTable();
            this.table.Style               = "Table";
            this.table.Borders.Color       = TableBorder;
            this.table.Borders.Width       = 0.25;
            this.table.Borders.Left.Width  = 0.5;
            this.table.Borders.Right.Width = 0.5;
            this.table.Rows.LeftIndent     = 0;

            // Before you can add a row, you must define the columns
            Column column = this.table.AddColumn("1cm");

            column.Format.Alignment = ParagraphAlignment.Center;

            column = this.table.AddColumn("2.5cm");
            column.Format.Alignment = ParagraphAlignment.Right;

            column = this.table.AddColumn("3cm");
            column.Format.Alignment = ParagraphAlignment.Right;

            column = this.table.AddColumn("3.5cm");
            column.Format.Alignment = ParagraphAlignment.Right;

            column = this.table.AddColumn("2cm");
            column.Format.Alignment = ParagraphAlignment.Center;

            column = this.table.AddColumn("4cm");
            column.Format.Alignment = ParagraphAlignment.Right;

            // Create the header of the table
            Row row = table.AddRow();

            row.HeadingFormat    = true;
            row.Format.Alignment = ParagraphAlignment.Center;
            row.Format.Font.Bold = true;
            row.Shading.Color    = TableBlue;
            row.Cells[0].AddParagraph("Item");
            row.Cells[0].Format.Font.Bold  = false;
            row.Cells[0].Format.Alignment  = ParagraphAlignment.Left;
            row.Cells[0].VerticalAlignment = VerticalAlignment.Bottom;
            row.Cells[0].MergeDown         = 1;
            row.Cells[1].AddParagraph("Title and Author");
            row.Cells[1].Format.Alignment = ParagraphAlignment.Left;
            row.Cells[1].MergeRight       = 3;
            row.Cells[5].AddParagraph("Extended Price");
            row.Cells[5].Format.Alignment  = ParagraphAlignment.Left;
            row.Cells[5].VerticalAlignment = VerticalAlignment.Bottom;
            row.Cells[5].MergeDown         = 1;

            row = table.AddRow();
            row.HeadingFormat    = true;
            row.Format.Alignment = ParagraphAlignment.Center;
            row.Format.Font.Bold = true;
            row.Shading.Color    = TableBlue;
            row.Cells[1].AddParagraph("Quantity");
            row.Cells[1].Format.Alignment = ParagraphAlignment.Left;
            row.Cells[2].AddParagraph("Unit Price");
            row.Cells[2].Format.Alignment = ParagraphAlignment.Left;
            row.Cells[3].AddParagraph("Discount (%)");
            row.Cells[3].Format.Alignment = ParagraphAlignment.Left;
            row.Cells[4].AddParagraph("Taxable");
            row.Cells[4].Format.Alignment = ParagraphAlignment.Left;

            this.table.SetEdge(0, 0, 6, 2, Edge.Box, BorderStyle.Single, 0.75, Color.Empty);
        }
コード例 #51
0
 public CheckExpression Or(Column thisColumn, CheckOperator checkOperator, Column thatColumn)
 {
     SqlDefinition = string.Concat(SqlDefinition.Trim(), " OR ", $"[{thisColumn.Name}] {checkOperator.GetStringValue()} [{thatColumn.Name}]");
     return(this);
 }
コード例 #52
0
        /// <summary>
        /// Tworzy tabelki
        /// </summary>
        /// <param name="document"></param>
        /// <param name="sickLeaveClass"></param>
        public static void CreateTable(Document document, SickLeave sickLeaveClass)
        {
            Table table = new Table();
            table.Borders.Width = 0.75;

            Column column = table.AddColumn(Unit.FromCentimeter(5));
            //column.Format.Alignment = ParagraphAlignment.Center;

            table.AddColumn(Unit.FromCentimeter(10));

            Row row = table.AddRow();

            Cell cell = row.Cells[0];
            cell = row.Cells[0];
            cell.AddParagraph("Imię");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.Patient.Name);

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("Nazwisko");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.Patient.Surname);

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("Pesel");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.Patient._PESEL.ToString());

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("Płeć");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.Patient.Gender);

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("NIP");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.Patient._NIP.ToString());

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("Miejsce zameldowania");
            cell = row.Cells[1];
            string hauseNumberToAdd = "";
            if (sickLeaveClass.Patient.HouseNumber != 0)
            {
                hauseNumberToAdd = sickLeaveClass.Patient.HouseNumber.ToString();
            }
            cell.AddParagraph($"{sickLeaveClass.Patient.Street} {hauseNumberToAdd} \n{sickLeaveClass.Patient.PostCode} {sickLeaveClass.Patient.City}");

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("Typ zwolnienia");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.SickLeaveType);

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("Powód zwolnienia (Objawy)");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.Symptoms);

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("Zwolniony od");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.StartDate.ToShortDateString());

            row = table.AddRow();
            cell = row.Cells[0];
            cell.AddParagraph("Zwolniony do");
            cell = row.Cells[1];
            cell.AddParagraph(sickLeaveClass.EndDate.ToShortDateString());

            document.LastSection.Add(table);
        }
コード例 #53
0
 public CheckExpression(Column thisColumn, CheckOperator checkOperator, Column thatColumn) : this(thisColumn, checkOperator, $"[{thatColumn.Name}]")
 {
 }
コード例 #54
0
        public static string Csv(
            Context context,
            SiteSettings ss,
            View view,
            Column groupByX,
            Column groupByY,
            List <Column> columns,
            string aggregateType,
            Column value,
            string timePeriod,
            DateTime month,
            EnumerableRowCollection <DataRow> dataRows)
        {
            var csv = new StringBuilder();

            if (groupByY != null)
            {
                csv.Body(
                    context: context,
                    ss: ss,
                    choicesX: ChoicesX(
                        context: context,
                        groupByX: groupByX,
                        view: view,
                        timePeriod: timePeriod,
                        month: month),
                    choicesY: ChoicesY(
                        context: context,
                        groupByY: groupByY,
                        view: view),
                    aggregateType: aggregateType,
                    value: value,
                    firstHeaderText: $"{groupByY.LabelText} | {groupByX.LabelText}",
                    data: Elements(
                        groupByX: groupByX,
                        groupByY: groupByY,
                        dataRows: dataRows));
            }
            else
            {
                var columnList = GetColumns(
                    context: context,
                    ss: ss,
                    columns: columns);
                csv.Body(
                    context: context,
                    ss: ss,
                    choicesX: ChoicesX(
                        context: context,
                        groupByX: groupByX,
                        view: view,
                        timePeriod: timePeriod,
                        month: month),
                    choicesY: ChoicesY(columnList),
                    aggregateType: aggregateType,
                    value: value,
                    firstHeaderText: groupByX.LabelText,
                    data: ColumnsElements(
                        groupByX: groupByX,
                        dataRows: dataRows,
                        columnList: columnList),
                    columnList: columnList);
            }
            return(csv.ToString());
        }
コード例 #55
0
 private static string Key(SiteSettings ss, string key, Column groupByColumn)
 {
     return(!(groupByColumn.Type == Column.Types.User && key.ToInt() == 0)
          ? key
          : SiteInfo.AnonymousId.ToString());
 }
コード例 #56
0
 public CheckExpression Or(Column column, CheckOperator checkOperator, object value)
 {
     SqlDefinition = string.Concat(SqlDefinition.Trim(), " OR ", $"[{column.Name}] {checkOperator.GetStringValue()} {value}");
     return(this);
 }
コード例 #57
0
ファイル: WorkValue.cs プロジェクト: yamuun/Implem.Pleasanter
 public string GridText(Column column)
 {
     return(column.Display(Value, unit: true));
 }
コード例 #58
0
 public CheckExpression(Column column, CheckOperator checkOperator, object value) : this($"[{column.Name}] {checkOperator.GetStringValue()} {value}")
 {
 }
コード例 #59
0
ファイル: WorkValue.cs プロジェクト: yamuun/Implem.Pleasanter
 public HtmlBuilder Td(HtmlBuilder hb, Column column)
 {
     return(hb.Td(action: () => Svg(hb, column)));
 }
コード例 #60
0
ファイル: WorkValue.cs プロジェクト: yamuun/Implem.Pleasanter
 public string ToExport(Column column, ExportColumn exportColumn = null)
 {
     return(Value.ToString());
 }