示例#1
0
 internal void AddList2ListListDescriptor
     (List <ListDescriptor> ListDescriptorsList, Dictionary <Guid, ListDescriptor> listsDictionary, PRColumn[] commonColumns)
 {
     try
     {
         if (listsDictionary.ContainsKey(this.ListGuid) || this.IsProxy || !this.Checked)
         {
             return;
         }
         if (m_recursive)
         {
             throw new ApplicationException(); //TODO
         }
         m_recursive = true;
         UniqueColumns  _columns        = new UniqueColumns(CreateColumnDescriptors(commonColumns, commonColumns, ListDescriptorsList, listsDictionary));
         ListDescriptor _ListDescriptor = new ListDescriptor(this.Name);
         listsDictionary.Add(this.ListGuid, _ListDescriptor);
         foreach (PRContentType _clx in ContentType)
         {
             _columns.AddRange(CreateColumnDescriptors(_clx.Column, commonColumns, ListDescriptorsList, listsDictionary));
         }
         _ListDescriptor.Columns = _columns.ToArray();
         ListDescriptorsList.Add(_ListDescriptor);
     }
     finally
     {
         m_recursive = false;
     }
 }
示例#2
0
        /// <summary>
        ///
        /// </summary>
        protected void BuildMultipleColumnUnique()
        {
            ScriptBuilder.AppendLine($"ALTER TABLE {Table.GetPgSqlName()}");
            ScriptBuilder.Append($"ADD CONSTRAINT {UniqueName} UNIQUE (");

            foreach (var column in UniqueColumns)
            {
                ScriptBuilder.Append(column.GetPgSqlName());
                ScriptBuilder.AppendIf(UniqueColumns.IsNotLast(column), " ,");
            }

            ScriptBuilder.Append(");");
        }
        /// <summary>
        ///
        /// </summary>
        protected override void InternalBuildCommandText()
        {
            ScriptBuilder = new StringBuilder();
            ScriptBuilder.AppendLine($"ALTER TABLE {Table.GetSqlName()}");
            ScriptBuilder.Append($"ADD CONSTRAINT {UniqueName} UNIQUE (");

            foreach (var column in UniqueColumns)
            {
                ScriptBuilder.Append(column.GetSqlName());
                ScriptBuilder.AppendIf(UniqueColumns.IsNotLast(column), " ,");
            }

            ScriptBuilder.Append(");");
        }