using System;
using System.Xml;
using System.Xml.Serialization;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Text;
using System.Diagnostics;
using System.Runtime;
using System.Runtime.Serialization;
using Tdo;
using Tdo.Common;
using Tdo.Common.Entities;
using Tdo.Common.Entities.Tables;
using Tdo.Common.Entities.Views;
using Tdo.Common.Helper;
using Tdo.Common.TdoSqlExpressionDom;
using Tdo.Common.TdoTypes;
namespace Tdo.Common.TdoTypes{
/// <summary>
/// Interface for all Tdo Types
/// </summary>
[CLSCompliant(true)]
public interface ITdoColumn : INullable
{
/// <summary>
/// Boolean that indicates wether the field can be NULL
/// </summary>
bool AllowDBNull { get; set; }
/// <summary>
/// Boolean that indicates if the field is IDENTITY
/// </summary>
bool AutoIncrement { get; set; }
/// <summary>
/// Long that indicates the start actualValue of the IDENTITY field
/// </summary>
long AutoIncrementSeed { get; set; }
/// <summary>
/// Long that indicates the actualValue increase of the IDENTITY field
/// </summary>
long AutoIncrementStep { get; set; }
/// <summary>
/// String that contains the name of the field except for ALIAS
/// </summary>
string Caption { get; set; }
/// <summary>
/// String that contains the name of the field
/// </summary>
string ColumnName { get; set; }
/// <summary>
/// String that contains the name of the field parameter
/// </summary>
string ColumnNameForParameter { get; set; }
/// <summary>
/// Gets the column name for DataTable objects.
/// </summary>
/// <value>The column name for DataTable.</value>
string ColumnNameForDataTable { get; }
/// <summary>
/// Integer that indicates the length of the field. -1 indicates variable length or not determined
/// </summary>
int MaxLength { get; set; }
/// <summary>
///Boolean that indicates if the field is only reading
/// </summary>
bool ReadOnly { get; set; }
/// <summary>
/// System.Data.SqlDbType of ITdoColumn
/// </summary>
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Naming", "CA1706:ShortAcronymsShouldBeUppercase")]
SqlDbType SqlDbType { get; }
/// <summary>
/// String that contains the name of the Table to which the field belongs to
/// </summary>
ITdoEntity TdoEntity { get; set; }
/// <summary>
/// Boolean that indicates if a unique constraint exists on that field
/// </summary>
bool Unique { get; set; }
/// <summary>
/// Saves the state of the fields and allows to modify the values. Call BeginEdit() before modifying the values of the fields
/// </summary>
void BeginEdit();
/// <summary>
/// Ends modifying the values and keeps a copy of the values in case of a CancelEdit(). Call EndEdit() before invoking Inert,Update,Delete methods.
/// </summary>
void EndEdit();
/// <summary>
/// Ends modifying the values and restores the original ones.Call CancelEdit() to restore all the original values before having invoked the BeginEdit() method.
/// </summary>
void CancelEdit();
/// <summary>
/// Return Value property of Object type
/// </summary>
object ObjectValue { get; set; }
/// <summary>
/// Return True if Value has been changed
/// </summary>
bool Modified { get; }
/// <summary>
/// True if column is a constant expression, false otherwise.
/// </summary>
bool IsConstant { get; set; }
}
}
|