コード例 #1
0
		/// <summary>
		/// Convert database types to C# types
		/// </summary>
		/// <param name="field">Column or parameter</param>
		/// <returns>The C# (rough) equivalent of the field's data type</returns>
		public string GetCSType(DataObjectBase field)
		{
			if ( field.NativeType.ToLower() == "real" )
				return "System.Single" + ( field.AllowDBNull?"?":"" );
			else if ( field.NativeType.ToLower() == "xml" )
				return "string";
			//else if (field.NativeType.ToLower() == "xml")
			//	return "System.Xml.XmlNode";
			else if ( !IsCSReferenceDataType( field ) && field.AllowDBNull )
				return field.SystemType.ToString() + "?";
			else
				return field.SystemType.ToString();
			//return GetCSType(field.DataType);
		}
コード例 #2
0
ファイル: PropertyObject.cs プロジェクト: simonep77/bdo
        /// <summary>
        ///  Crea rappresentazione Xml
        /// </summary>
        /// <param name="xw"></param>
        /// <param name="obj"></param>
        /// <param name="depth"></param>
        public override void WriteXml(XmlWrite xw, DataObjectBase obj, int depth)
        {
            //Scrive proprietà base
            object oValue = this.GetValueForDb(obj);

            if (!this.IsMapped)
            {
                if (oValue != null)
                {
                    xw.WriteElementString(this.Column.Name, oValue.ToString());
                }
                else
                {
                    xw.WriteElementString(this.Column.Name, string.Empty);
                }
            }

            //Include oggetto mappato se profondita' prevista e campio non null
            if (depth > 0 && (this.IsMapped || oValue != null))
            {
                var oTemp = this.GetValue(obj);
                if (oTemp != null)
                {
                    //Include oggetto
                    xw.WriteStartElement(this.Name);
                    try
                    {
                        xw.WriteRaw(((DataObjectBase)oTemp).ToXml(depth - 1));
                    }
                    finally
                    {
                        xw.WriteEndElement();
                    }
                }
            }
        }
コード例 #3
0
        public string GetDeleteSQL(DataObjectBase BO)
        {
            string BOName = BO.BO_Name;
            string PKName = BO.PK_Name;
            string sql    = "Delete from {0} where {1}";

            string filter = PKName + "=";
            Type   botype = BO.GetType();

            PropertyInfo[] infos = botype.GetProperties();
            foreach (PropertyInfo info in infos)
            {
                string ColName = info.Name;
                if (ColName.ToLower().Trim() == PKName.ToLower().Trim())
                {
                    object pkid = info.GetValue(BO, null);
                    filter += pkid.ToString();
                    break;
                }
            }

            sql = string.Format(sql, BOName, filter);
            return(sql);
        }
コード例 #4
0
        public bool Update(DataObjectBase BO, SqlCommand cmd, string Filter)
        {
            //string sql = GetUpdateSQL(BO);
            string sql   = GetUpdateAllPropertySQL(BO);
            int    Index = sql.ToUpper().IndexOf("WHERE");

            if (Index > 0)
            {
                sql = sql.Remove(Index);
            }
            sql = sql + " WHERE " + Filter;
            try
            {
                this.Execute(sql);
                //cmd.CommandText = sql;
                //cmd.ExecuteNonQuery();
                return(true);
            }
            catch (Exception ex)
            {
                throw ex;
                //return false;
            }
        }
コード例 #5
0
        /// <summary>
        /// 复制值
        /// </summary>
        /// <param name="source">复制的源字段</param>
        protected override void CopyValueInner(DataObjectBase source)
        {
            var sourceEntity = source as RoleData;

            if (sourceEntity == null)
            {
                return;
            }
            this._id             = sourceEntity._id;
            this._role           = sourceEntity._role;
            this._caption        = sourceEntity._caption;
            this._memo           = sourceEntity._memo;
            this._datastate      = sourceEntity._datastate;
            this._isfreeze       = sourceEntity._isfreeze;
            this._authorid       = sourceEntity._authorid;
            this._adddate        = sourceEntity._adddate;
            this._lastreviserid  = sourceEntity._lastreviserid;
            this._lastmodifydate = sourceEntity._lastmodifydate;
            this._auditstate     = sourceEntity._auditstate;
            this._auditorid      = sourceEntity._auditorid;
            this._auditdate      = sourceEntity._auditdate;
            CopyExtendValue(sourceEntity);
            this.__EntityStatus.SetModified();
        }
コード例 #6
0
 public static string GetDefaultValue(DataObjectBase col)
 { 
     switch (col.DataType)
     {
         case DbType.Guid: return "Guid.Empty";
         case DbType.AnsiString: return "string.Empty";
         case DbType.AnsiStringFixedLength: return "string.Empty";
         case DbType.String: return "string.Empty";
         case DbType.StringFixedLength: return "string.Empty";
         case DbType.Boolean: return "false";
         case DbType.Date:
         case DbType.DateTime:
             if (col.AllowDBNull)
             {
                 string colName = col.Name.ToLower();
                 if (colName.IndexOf("end") >= 0) return "new SmartDate(SmartDate.EmptyValue.MaxDate)";
                 if (colName.IndexOf("inactive") >= 0) return "new SmartDate(SmartDate.EmptyValue.MaxDate)";
                 if (colName.IndexOf("finish") >= 0) return "new SmartDate(SmartDate.EmptyValue.MaxDate)";
                 return "new SmartDate(SmartDate.EmptyValue.MinDate)";
             }
             else
             {
                 if (col.Name.ToLower().IndexOf("timestamp") >= 0)
                     return "new SmartDate(DateTime.Now)";
                 else
                     return "new SmartDate(DateTime.Today)";
             }
         case DbType.VarNumeric: return "0";
         case DbType.Currency: return "0";
         case DbType.Decimal: return "0";
         case DbType.Double: return "0";
         case DbType.Int16: return "0";
         case DbType.Int32: return "0";
         case DbType.Int64: return "0";
         case DbType.Single: return "0";
         case DbType.Byte: return "0";
         case DbType.UInt16: return "0";
         case DbType.UInt32: return "0";
         case DbType.UInt64: return "0";
         default: return "";
     }
 }
コード例 #7
0
            private void Load(DataObjectBase col)
            {
                _dbColumnName = col.Name;
                _name = CsHelper.GetPropertyName(col);

                _type = CsHelper.GetVariableType(col);
                _nativeType = _type == "SmartDate" ? "DateTime" : _type;
                if (col.AllowDBNull && _type != "string") _nativeType += "?";   //nullable when value types 

                _defaultValue = CsHelper.GetDefaultValue(col);
                _isIdentity = CsHelper.IsIdentity(col);
                ColumnSchema column = col as ColumnSchema;
                if (column != null)
                {
                    _isPrimaryKey = column.IsPrimaryKeyMember;
                    _isFilterKey = column.IsForeignKeyMember;
                }
                _allowDbNull = col.AllowDBNull;
                _isComputed = CsHelper.IsComputed(col);
                _isTimestamp = CsHelper.IsTimestamp(col);

                //required string
                if (_allowDbNull == false && _type == "string")
                    _validationRules.Add(new RuleInfo(this, CommonRuleHandler.StringRequired, string.Empty, 0));
                //fixsize string is <= 8000, add max length rule
                if (_type == "string" && col.Size > 0 && col.Size <= 8000 && col.NativeType != "text" && col.NativeType != "ntext")
                    _validationRules.Add(new RuleInfo(this, CommonRuleHandler.StringMaxLength, col.Size.ToString(), 0));
                //email
                if (_type == "string" && _name.ToLower().IndexOf("email")>=0)
                    _validationRules.Add(new RuleInfo(this, CommonRuleHandler.RegExMatch, "Email", 0));
                //ssn
                if (_type == "string" && _name.ToLower().IndexOf("ssn") >= 0)
                    _validationRules.Add(new RuleInfo(this, CommonRuleHandler.RegExMatch, "SSN", 0));
            }
コード例 #8
0
		/// <summary>
		/// Returns true if the column is represented as a reference data type
		/// rather than a value type. In other words, the C# code can set a
		/// column of this data type to 'null'
		/// </summary>
		public bool IsCSReferenceDataType(DataObjectBase column)
		{
			if (column.NativeType.ToLower() == "real")
				return false;
			else if (column.NativeType.ToLower() == "xml")
				return true;
			else
			{
				DbType dataType = column.DataType;
				switch (dataType)
				{
					case DbType.AnsiString: 
					case DbType.AnsiStringFixedLength: 
					case DbType.String: 
					case DbType.StringFixedLength: 
					case DbType.Binary: 
						return true;
						
					case DbType.Boolean: 
					case DbType.Guid: 
					case DbType.Byte:
					case DbType.Currency: 
					case DbType.Date: 
					case DbType.DateTime: 
					case DbType.Decimal: 
					case DbType.Double: 
					case DbType.Int16: 
					case DbType.Int32: 
					case DbType.Int64: 
					case DbType.Object: 
					case DbType.Single: 
					case DbType.Time:
					case DbType.VarNumeric:
						return false;
						
					default: 
						return false;
				}
			}
		}
コード例 #9
0
 public JsonResult <SceneRecordDataObject> GetSceneRecord(DataObjectBase obj)
 {
     return(Json(this.sceneRecordService.GetRecord(obj.ID)));
 }
コード例 #10
0
        private static bool IsRowVersion(DataObjectBase column)
        {
            bool isTimeStamp = column.NativeType.Equals(
                "timestamp", StringComparison.OrdinalIgnoreCase);
            bool isRowVersion = column.NativeType.Equals(
                "rowversion", StringComparison.OrdinalIgnoreCase);

            return (isTimeStamp || isRowVersion);
        }
コード例 #11
0
        private static string GetDbType(DataObjectBase column)
        {
            if (column.Database.Provider.Name != "SqlSchemaProvider")
                return column.NativeType;

            return GetSqlTypeDeclaration(
                column.NativeType,
                column.Size,
                column.Precision,
                column.Scale,
                !column.AllowDBNull,
                IsIdentity(column));
        }
コード例 #12
0
 private bool IsEnumAssociation(DataObjectBase columnSchema, out string typeName)
 {
     bool isEnum, wasEnum;
     typeName = IsOrWasEnumAssociation(columnSchema, out isEnum, out wasEnum);
     return isEnum;
 }
コード例 #13
0
 public JsonResult <CaseHandlingDataObject> GetCaseHandling(DataObjectBase obj)
 {
     return(Json(this.caseHandlingService.GetCaseHandling(obj.ID)));
 }
コード例 #14
0
 public EnumSettings GetSettings(DataObjectBase dataObjectBase)
 {
     return(this.FirstOrDefault(t => t.FullName == dataObjectBase.FullName));
 }
コード例 #15
0
 /// <summary>
 /// This will look up and see if a column name should be escaped with delimited identifiers '[]'.
 /// http://msdn.microsoft.com/en-us/library/aa224033(SQL.80).aspx
 /// </summary>
 /// <param name="column">The source.</param>
 /// <returns></returns>
 protected static string GetDelimitedIdentifier(DataObjectBase column)
 {
     return(GetDelimitedIdentifier(column.Name, false));
 }
コード例 #16
0
        /// <summary>
        /// Returns a C# member variable declaration statement.
        /// </summary>
        /// <param name="protectionLevel"></param>
        /// <param name="column"></param>
        /// <returns></returns>
        protected virtual string GetMemberVariableDeclarationStatement(string protectionLevel, DataObjectBase column)
        {
            string statement = String.Format("{0} ", protectionLevel);

            statement += String.Format("{0} {1}", GetCSharpVariableType(column), GetMemberVariableName(column.Name));

            string defaultValue = GetMemberVariableDefaultValue(column);

            if (defaultValue != "")
            {
                statement += String.Format(" = {0}", defaultValue);
            }

            statement += ";";

            return(statement);
        }
コード例 #17
0
 /// <summary>
 ///  Scrive DTO
 /// </summary>
 /// <param name="dto"></param>
 /// <param name="obj"></param>
 /// <param name="depth"></param>
 public override void WriteDTO(Dictionary <string, object> dto, DataObjectBase obj, int depth)
 {
     dto.Add(this.Name, this.GetValue(obj));
 }
コード例 #18
0
 public JsonResult <AskRecordDataObject> GetAskRecord(DataObjectBase obj)
 {
     return(Json(this.askRecordService.GetAskRecord(obj.ID)));
 }
コード例 #19
0
        // SUMMARY: only this is in use! TIMELINE
        public TimelineTable LoadTimeline(EntranceTableData data)
        {
            string command = "";

            #region # prepare reference days #

            DateTime startingDate       = DateTime.Parse(data.From),
                     endingDate         = DateTime.Parse(data.To),
                     referenceStartDate = DateTime.Now,
                     referenceEndDate   = DateTime.Now;

            switch (data.StatisticGroupBy)
            {
            case "HOUR":
                referenceStartDate = new DateTime(startingDate.Year, startingDate.Month, startingDate.Day, 0, 0, 0);
                startingDate       = startingDate.AddDays(1);
                referenceEndDate   = new DateTime(startingDate.Year, startingDate.Month, startingDate.Day, 0, 0, 0);
                break;

            case "WEEK":
                startingDate          = startingDate.AddDays(1 - (int)startingDate.DayOfWeek);
                referenceStartDate    = new DateTime(startingDate.Year, startingDate.Month, startingDate.Day, 0, 0, 0);
                startingDate          = startingDate.AddDays(7);
                referenceEndDate      = new DateTime(startingDate.Year, startingDate.Month, startingDate.Day, 0, 0, 0);
                data.StatisticGroupBy = "DAY";
                break;

            case "MONTH":
                referenceStartDate    = new DateTime(startingDate.Year, startingDate.Month, 1, 0, 0, 0);
                startingDate          = startingDate.AddMonths(1);
                referenceEndDate      = new DateTime(startingDate.Year, startingDate.Month, 1, 0, 0, 0);
                data.StatisticGroupBy = "DAY";
                break;

            case "YEAR":
                referenceStartDate    = new DateTime(startingDate.Year, 1, 1, 0, 0, 0);
                startingDate          = startingDate.AddYears(1);
                referenceEndDate      = new DateTime(startingDate.Year, 1, 1, 0, 0, 0);
                data.StatisticGroupBy = "MONTH";
                break;
            }

            #endregion

            string startDate = data.ConvertDate(referenceStartDate),
                   endDate   = data.ConvertDate(referenceEndDate);

            #region # sql command #

            command = " SELECT us._time, us.num AS 'us_num', pr.num AS 'pr_num', t.num AS 't_num', st.num AS 'st_num' " +
                      " FROM " +
                      " (  " +
                      " 	SELECT COUNT(*) AS num,  DATEPART("+ data.StatisticGroupBy + ", us.Created) AS _time FROM MobilePaywall.core.UserSession AS us, " +
                      //"   LEFT OUTER JOIN MobilePaywall.core.Service AS s ON us.ServiceID=s.ServiceID " +
                      //"   WHERE us.Created >= '" + startDate + "' AND us.Created <= '" + endDate + "' " +
                      "	  ( SELECT UserSessionGuid FROM MobilePaywall.core.UserSession AS us WHERE us.Created >= '" + startDate + "' AND us.Created <= '" + endDate + "' GROUP BY us.UserSessionGuid ) AS us1, " +
                      "	  ( SELECT ServiceID, Name, Description FROM MobilePaywall.core.Service AS s ) AS s " +
                      "   WHERE us1.UserSessionGuid=us.UserSessionGuid AND us.ServiceID=s.ServiceID AND us.Created >= '" + startDate + "' AND us.Created <= '" + endDate + "'  " +
                      "               AND ( '" + data.Service + "' = '' " + DataObjectBase.PrepareList("s.Name LIKE '%{0}%'", data.Services) + " ) " +
                      "               AND ( '" + data.MobileOperator + "' = -1 OR us.MobileOperatorID = '" + data.MobileOperator + "' ) " +
                      "               AND ( '" + data.Country + "' = '' " + DataObjectBase.PrepareList("s.Description LIKE UPPER('{0}') + '%' ", data.Countries) + " ) " +
                      " 	GROUP BY DATEPART("+ data.StatisticGroupBy + ", us.Created) " +
                      " ) AS us " +
                      " LEFT OUTER JOIN " +
                      " ( " +
                      " 	SELECT COUNT(*) AS num, DATEPART("+ data.StatisticGroupBy + ", pr.Created) AS _time FROM MobilePaywall.core.PaymentRequest AS pr " +
                      " 	LEFT OUTER JOIN MobilePaywall.core.UserSession AS us ON pr.UserSessionID=us.UserSessionID "+
                      " 	LEFT OUTER JOIN MobilePaywall.core.Service AS s ON us.ServiceID=s.ServiceID "+
                      " 	WHERE pr.Created >= '"+ startDate + "' AND pr.Created <= '" + endDate + "' " +
                      "               AND ( '" + data.Service + "' = '' " + DataObjectBase.PrepareList("s.Name LIKE '%{0}%'", data.Services) + " ) " +
                      "               AND ( '" + data.MobileOperator + "' = -1 OR us.MobileOperatorID = '" + data.MobileOperator + "' ) " +
                      "               AND ( '" + data.Country + "' = '' " + DataObjectBase.PrepareList("s.Description LIKE UPPER('{0}') + '%' ", data.Countries) + " ) " +
                      " 	GROUP BY DATEPART("+ data.StatisticGroupBy + ", pr.Created)	 " +
                      " ) AS pr ON us._time=pr._time " +
                      " LEFT OUTER JOIN " +
                      " ( " +
                      " 	SELECT COUNT(*) AS num, DATEPART("+ data.StatisticGroupBy + ", t.Created) AS _time FROM MobilePaywall.core.[Transaction] AS t " +
                      " 	LEFT OUTER JOIN MobilePaywall.core.Payment AS p ON t.PaymentID=p.PaymentID "+
                      " 	LEFT OUTER JOIN MobilePaywall.core.PaymentRequest AS pr ON p.PaymentRequestID=pr.PaymentRequestID "+
                      " 	LEFT OUTER JOIN MobilePaywall.core.UserSession AS us ON pr.UserSessionID=us.UserSessionID "+
                      " 	LEFT OUTER JOIN MobilePaywall.core.Service AS s ON us.ServiceID=s.ServiceID "+
                      " 	WHERE t.Created >= '"+ startDate + "' AND t.Created <= '" + endDate + "' AND t.TransactionStatusID=5 " +
                      "               AND ( '" + data.Service + "' = '' " + DataObjectBase.PrepareList("s.Name LIKE '%{0}%'", data.Services) + " ) " +
                      "               AND ( '" + data.MobileOperator + "' = -1 OR us.MobileOperatorID = '" + data.MobileOperator + "' ) " +
                      "               AND ( '" + data.Country + "' = '' " + DataObjectBase.PrepareList("s.Description LIKE UPPER('{0}') + '%' ", data.Countries) + " ) " +
                      " 		          AND (SELECT COUNT(*) FROM MobilePaywall.core.[Transaction] WHERE PaymentID=p.PaymentID)=1 "+
                      " 	GROUP BY DATEPART("+ data.StatisticGroupBy + ", t.Created)	 "+
                      " ) AS t ON t._time=us._time " +
                      " LEFT OUTER JOIN " +
                      " ( " +
                      " 	SELECT COUNT(*) AS num, DATEPART("+ data.StatisticGroupBy + ", t.Created) AS _time FROM MobilePaywall.core.[Transaction] AS t " +
                      " 	LEFT OUTER JOIN MobilePaywall.core.Payment AS p ON t.PaymentID=p.PaymentID "+
                      " 	LEFT OUTER JOIN MobilePaywall.core.PaymentRequest AS pr ON p.PaymentRequestID=pr.PaymentRequestID "+
                      " 	LEFT OUTER JOIN MobilePaywall.core.UserSession AS us ON pr.UserSessionID=us.UserSessionID "+
                      " 	LEFT OUTER JOIN MobilePaywall.core.Service AS s ON us.ServiceID=s.ServiceID "+
                      " 	WHERE t.Created >= '"+ startDate + "' AND t.Created <= '" + endDate + "' AND t.TransactionStatusID=5 " +
                      "               AND ( '" + data.Service + "' = '' " + DataObjectBase.PrepareList("s.Name LIKE '%{0}%'", data.Services) + " ) " +
                      "               AND ( '" + data.MobileOperator + "' = -1 OR us.MobileOperatorID = '" + data.MobileOperator + "' ) " +
                      "               AND ( '" + data.Country + "' = '' " + DataObjectBase.PrepareList("s.Description LIKE UPPER('{0}') + '%' ", data.Countries) + " ) " +
                      " 		          AND (SELECT COUNT(*) FROM MobilePaywall.core.[Transaction] WHERE PaymentID=p.PaymentID)>1 "+
                      " 	GROUP BY DATEPART("+ data.StatisticGroupBy + ", t.Created)	 "+
                      " ) AS st ON st._time=us._time " +
                      " ORDER BY us._time ASC ";

            #endregion

            TimelineTable returnTable = new TimelineTable();
            returnTable.Title = string.Format("Group by {0} in time of {1} - {2}", data.StatisticGroupBy, referenceStartDate.ToString(), referenceEndDate.ToString());
            DataTable table = this.Load(command);
            if (table == null)
            {
                return(returnTable);
            }

            foreach (DataRow row in table.Rows)
            {
                returnTable.Time.Add(string.IsNullOrEmpty(row[(int)TimelineTable.Columns.Time].ToString()) ? "0" : row[(int)TimelineTable.Columns.Time].ToString());
                returnTable.UserSession.Add(string.IsNullOrEmpty(row[(int)TimelineTable.Columns.UserSession].ToString()) ? "0" : row[(int)TimelineTable.Columns.UserSession].ToString());
                returnTable.Identification.Add(string.IsNullOrEmpty(row[(int)TimelineTable.Columns.Identification].ToString()) ? "0" : row[(int)TimelineTable.Columns.Identification].ToString());
                returnTable.Transaction.Add(string.IsNullOrEmpty(row[(int)TimelineTable.Columns.Transaction].ToString()) ? "0" : row[(int)TimelineTable.Columns.Transaction].ToString());
                returnTable.Subsequent.Add(string.IsNullOrEmpty(row[(int)TimelineTable.Columns.Subsequent].ToString()) ? "0" : row[(int)TimelineTable.Columns.Subsequent].ToString());
            }

            return(returnTable);
        }
コード例 #20
0
 public static bool IsComputed(DataObjectBase col)
 {
     if (col.ExtendedProperties["CS_IsComputed"] == null) return false;
     return (bool)col.ExtendedProperties["CS_IsComputed"].Value;
 }
コード例 #21
0
ファイル: Generator.cs プロジェクト: priceLiu/parse
        private static string GetDefaultValue(DataObjectBase column)
        {
            try
            {
                if (!column.ExtendedProperties.Contains(ExtendedPropertyNames.DefaultValue))
                    return null;

                string value = column.ExtendedProperties[ExtendedPropertyNames.DefaultValue].Value.ToString();
                return value;
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex.Message);
            }

            return null;
        }
コード例 #22
0
        public string GetCSDefaultByType(DataObjectBase column)
        {
            if (column.AllowDBNull || (column is ColumnSchema && (column as ColumnSchema).IsPrimaryKeyMember && IsDefaultSet(column as ColumnSchema)))
                return "(" + GetCSType(column) + ")null";

            if (column.NativeType.ToLower() == "real")
                return "0F";
            else
            {
                DbType dataType = column.DataType;
                switch (dataType)
                {
                    case DbType.AnsiString:
                        return "String.Empty";

                    case DbType.AnsiStringFixedLength:
                        return "String.Empty";

                    case DbType.String:
                        return "String.Empty";

                    case DbType.Boolean:
                        return "false";

                    case DbType.StringFixedLength:
                        return "String.Empty";

                    case DbType.Guid:
                        return "Guid.Empty";

                    case DbType.Binary:
                        return "new byte[] {}";

                    case DbType.Byte:
                        return "(byte)0";

                    case DbType.Currency:
                        return "0M";

                    case DbType.Date:
                        return "(DateTime)SqlDateTime.MinValue";

                    case DbType.DateTime:
                        return "(DateTime)SqlDateTime.MinValue";

                    case DbType.Decimal:
                        return "0M";

                    case DbType.Double:
                        return "0D";

                    case DbType.Int16:
                        return "(short)0";

                    case DbType.Int32:
                        return "0";

                    case DbType.Int64:
                        return "(long)0";

                    case DbType.Object:
                        return "null";

                    case DbType.Single:
                        return "0F";

                    case DbType.Time:
                        return "(DateTime)SqlDateTime.MinValue";

                    case DbType.VarNumeric:
                        return "0";

                    default:
                        return "null";
                }
            }
        }
コード例 #23
0
        private string IsOrWasEnumAssociation(DataObjectBase dataObject, out bool isEnum, out bool wasEnum)
        {
            string name = String.Empty;
            ColumnSchema columnSchema = dataObject as ColumnSchema;
            isEnum = false;
            wasEnum = false;

            if (columnSchema == null || !columnSchema.IsForeignKeyMember)
                return name;

            foreach (TableKeySchema tableKeySchema in columnSchema.Table.ForeignKeys)
            {
                // find columns ...
                ColumnSchema primaryColumn = null;
                for (int i = 0; i < tableKeySchema.ForeignKeyMemberColumns.Count; i++)
                {
                    if (tableKeySchema.ForeignKeyMemberColumns[i].Column != columnSchema)
                        continue;

                    primaryColumn = tableKeySchema.PrimaryKeyMemberColumns[i].Column;
                    break;
                }

                if (primaryColumn == null)
                    continue;

                // Is Enum
                TableSchema primaryKeyTable = tableKeySchema.PrimaryKeyTable;

                if (Settings.IsEnum(primaryKeyTable))
                {
                    name = GetEnum(primaryKeyTable).Name;
                    isEnum = true;
                }

                // Was Enum
                DbmlEnum.Enum existingEnum = _existingEnumDatabase.Enums
                    .Where(e => e.Table == primaryKeyTable.FullName)
                    .FirstOrDefault();

                if (existingEnum != null)
                {
                    if (String.IsNullOrEmpty(name))
                        name = existingEnum.Name;
                    wasEnum = true;
                }

                if (isEnum || wasEnum)
                    break;

                // find column in pktable, if that is fkey too, check that parent.
                if (primaryColumn.IsForeignKeyMember && primaryColumn != dataObject)
                    return IsOrWasEnumAssociation(primaryColumn, out isEnum, out wasEnum);
            }

            return name;
        }
コード例 #24
0
ファイル: CommonSqlCode.cs プロジェクト: jerryxi/GXP
 /// <summary>
 /// Convert database types to C# types
 /// </summary>
 /// <param name="field">Column or parameter</param>
 /// <returns>The C# (rough) equivalent of the field's data type</returns>
 public string GetCSType(DataObjectBase field)
 {
     //return field.NativeType;
     if (field.NativeType.ToLower() == "real")
         return "System.Single";
     else
         return field.SystemType.ToString();
     //return GetCSType(field.DataType);
 }
コード例 #25
0
        private static bool IsDbGenerated(DataObjectBase column)
        {
            if (IsRowVersion(column))
                return true;

            if (IsIdentity(column))
                return true;

            bool isComputed = false;
            string value;
            try
            {
                if (column.ExtendedProperties.Contains("CS_IsComputed"))
                {
                    value = column.ExtendedProperties["CS_IsComputed"].Value.ToString();
                    bool.TryParse(value, out isComputed);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex.Message);
            }

            return isComputed;
        }
コード例 #26
0
ファイル: Key.cs プロジェクト: simonep77/bdo
 /// <summary>
 /// Imposta i parametri da utilizzare nella where utilizzando quanto gia' presente nell'oggetto di input
 /// </summary>
 /// <param name="dbIn"></param>
 /// <param name="objIn"></param>
 /// <returns>L'array contente i valori della key utilizzati</returns>
 public object[] FillKeyQueryWhereParams(IDataBase dbIn, DataObjectBase objIn)
 {
     return(this.FillKeyQueryWhereParams(dbIn, this.GetValuesForDb(objIn)));
 }
コード例 #27
0
 public JsonResult <InvolvedDataObject> GetInvolved(DataObjectBase involved)
 {
     return(Json(this.involvedService.GetByID(involved.ID)));
 }
コード例 #28
0
 public PropertyInfo(DataObjectBase column, ObjectInfo parent)
 {
     _parent = parent;
     Load(column);
 }
コード例 #29
0
        /// <summary>
        /// Convert database types to C# types
        /// </summary>
        /// <param name="field">Column or parameter</param>
        /// <returns>The C# (rough) equivalent of the field's data type</returns>
        public string GetCSType(DataObjectBase column)
        {
            bool setNullable = column.AllowDBNull || (column is ColumnSchema && (column as ColumnSchema).IsPrimaryKeyMember && IsDefaultSet(column as ColumnSchema));

            if (column.NativeType.ToLower() == "real")
                return "decimal" + (column.AllowDBNull ? "?" : "");
            else
            {
                DbType dataType = column.DataType;
                switch (dataType)
                {
                    case DbType.AnsiString:
                        return "string";

                    case DbType.AnsiStringFixedLength:
                        return "string";

                    case DbType.String:
                        return "string";

                    case DbType.Boolean:
                        return "bool" + (setNullable ? "?" : "");

                    case DbType.StringFixedLength:
                        return "string";

                    case DbType.Guid:
                        return "Guid" + (setNullable ? "?" : "");

                    case DbType.Binary:
                        return "byte[]";

                    case DbType.Byte:
                        return "byte" + (setNullable ? "?" : "");

                    case DbType.Currency:
                        return "decimal" + (setNullable ? "?" : "");

                    case DbType.Date:
                        return "DateTime" + (setNullable ? "?" : "");

                    case DbType.DateTime:
                        return "DateTime" + (setNullable ? "?" : "");

                    case DbType.Decimal:
                        return "decimal" + (setNullable ? "?" : "");

                    case DbType.Double:
                        return "double" + (setNullable ? "?" : "");

                    case DbType.Int16:
                        return "short" + (setNullable ? "?" : "");

                    case DbType.Int32:
                        return "int" + (setNullable ? "?" : "");

                    case DbType.Int64:
                        return "long" + (setNullable ? "?" : "");

                    case DbType.Object:
                        return "object";

                    case DbType.Single:
                        return "float" + (setNullable ? "?" : "");

                    case DbType.Time:
                        return "DateTime" + (setNullable ? "?" : "");

                    case DbType.VarNumeric:
                        return "int" + (setNullable ? "?" : "");

                    default:
                        return "object";
                }
            }
        }
コード例 #30
0
ファイル: CommonSqlCode.cs プロジェクト: jerryxi/GXP
        public int GetDataTypeSize(DataObjectBase column)
        {
            int size = 1;

            switch (column.DataType)
            {
                case DbType.AnsiString:
                case DbType.AnsiStringFixedLength:
                case DbType.String:
                case DbType.StringFixedLength:
                {
                    if (column.NativeType != "text" && column.NativeType != "ntext")
                    {
                        if (column.Size > 0)
                        {
                            size = column.Size;
                        }
                    }
                    else
                    {
                        size = 3888;
                    }
                    break;
                }
            }
            return size;
        }
コード例 #31
0
 public void Upsert(DataObjectBase obj)
 {
 }
コード例 #32
0
 /// <summary>
 /// Get the member variable styled version of a name
 /// </summary>
 /// <param name="column">The ColumnSchema with the name to be cleaned</param>
 /// <returns>the cleaned, camelcased name with a _ prefix</returns>
 public string GetMemberVariableName(DataObjectBase column)
 {
     return "_" + GetCleanParName(column.Name);
 }
コード例 #33
0
ファイル: FilterBase.cs プロジェクト: simonep77/bdo
        /// <summary>
        /// Esegue test di confronto su oggetto
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public virtual bool PropertyTest(DataObjectBase obj)
        {
            bool     bTest = false;
            Property oProp = obj.mClassSchema.Properties.GetPropertyByName(this.mName);

            object[] values;

            //Gestione dati interni (solo al primo ciclo di test)
            if (!this.mIsValueChecked)
            {
                if (oProp is PropertySimple)
                {
                    //Converte il valore (se trattasi di valore standard)
                    if (this.mValue != null && !this.mValue.GetType().IsArray)
                    {
                        this.mValue = Convert.ChangeType(this.mValue, oProp.Type);
                    }
                }
                else if (oProp is PropertyObject)
                {
                    if (this.mValue != null)
                    {
                        if (this.mValue is DataObjectBase)
                        {
                            DataObjectBase o = (DataObjectBase)this.mValue;

                            if (!o.mClassSchema.OriginalType.Equals(oProp.Type))
                            {
                                throw new Bdo.Objects.ObjectException("{0}.{1} - Errore nella verifica del filtro: la proprieta' e' di tipo {2}, il valore del filtro e' di tipo {3}", oProp.Schema.ClassName, oProp.Name, oProp.Type.Name, o.mClassSchema.OriginalType.Name);
                            }
                        }
                        else
                        { //NON E' UN DATAOBJECT: lo creo solo se non trattasi di una IN
                            if (this.mOperator != EOperator.In)
                            {
                                //Se pk e' array allora esegue il cast e lo passa cosi
                                object[] pk = this.mValue as object[];

                                if (pk == null)
                                {
                                    pk = new object[] { this.mValue }
                                }
                                ;                                      //Crea array PK

                                //Passato valore PK: crea relativo dataobject
                                this.mValue = obj.GetSlot().LoadObjectInternalByKEY(ClassSchema.PRIMARY_KEY, oProp.Type, true, pk);
                            }
                        }
                    }
                }

                this.mIsValueChecked = true;
            }

            //Prende il valore della property
            object oValue = oProp.GetValue(obj);

            switch (this.mOperator)
            {
            case EOperator.Equal:
                bTest = object.Equals(this.mValue, oValue);
                break;

            case EOperator.Differs:
                bTest = !object.Equals(this.mValue, oValue);
                break;

            case EOperator.GreaterThan:     //Attenzione gli operatori di confronto sono invertiti poiche' il termine che esegue il confronto e' quello che dobbiamo verificare
                bTest = (((IComparable)this.mValue).CompareTo(oValue) < 0);
                break;

            case EOperator.GreaterEquals:
                bTest = (((IComparable)this.mValue).CompareTo(oValue) <= 0);
                break;

            case EOperator.LessThan:
                bTest = (((IComparable)this.mValue).CompareTo(oValue) > 0);
                break;

            case EOperator.LessEquals:
                bTest = (((IComparable)this.mValue).CompareTo(oValue) >= 0);
                break;

            case EOperator.Like:
                bTest = System.Text.RegularExpressions.Regex.IsMatch(this.mValue.ToString(), oValue.ToString());
                break;

            case EOperator.NotLike:
                bTest = !System.Text.RegularExpressions.Regex.IsMatch(this.mValue.ToString(), oValue.ToString());
                break;

            case EOperator.Between:
                values = this.mValue as object[];

                bTest = (((IComparable)values[0]).CompareTo(oValue) <= 0) &&
                        (((IComparable)values[1]).CompareTo(oValue) >= 0);

                break;

            case EOperator.IsNull:
                bTest = (oValue == null);
                break;

            case EOperator.IsNotNull:
                bTest = (oValue != null);
                break;

            case EOperator.In:
                values = this.mValue as object[];
                for (int i = 0; i < values.Length; i++)
                {
                    //Esegue la conversione di ciascun tipo
                    var oFilt = new FilterEQUAL(this.Name, values[i]);
                    if (oFilt.PropertyTest(obj))
                    {
                        bTest = true;
                        break;
                    }
                }

                break;

            default:
                throw new ArgumentException(Resources.ObjectMessages.Base_OperatorUnknown);
            }

            //Verifica chain
            if (this.mChain != null)
            {
                for (int i = 0; i < this.mChain.Count; i++)
                {
                    if (this.mChain[i].IsAnd)
                    {
                        bTest &= this.mChain[i].Filter.PropertyTest(obj);
                    }
                    else
                    {
                        bTest |= this.mChain[i].Filter.PropertyTest(obj);
                    }
                }
            }

            //Ritorna esito
            return(bTest);
        }
コード例 #34
0
        public string GetReaderMethodByType(DataObjectBase column)
        {
            if (column.NativeType.ToLower() == "real")
                return "GetDecimal";
            else
            {
                DbType dataType = column.DataType;
                switch (dataType)
                {
                    case DbType.AnsiString:
                        return "GetString";

                    case DbType.AnsiStringFixedLength:
                        return "GetString";

                    case DbType.String:
                        return "GetString";

                    case DbType.Boolean:
                        return "GetBoolean";

                    case DbType.StringFixedLength:
                        return "GetString";

                    case DbType.Guid:
                        return "GetGuid";

                    case DbType.Binary:
                        return "__UNKNOWN__";

                    case DbType.Byte:
                        return "GetByte";

                    case DbType.Currency:
                        return "GetDecimal";

                    case DbType.Date:
                        return "GetDateTime";

                    case DbType.DateTime:
                        return "GetDateTime";

                    case DbType.Decimal:
                        return "GetDecimal";

                    case DbType.Double:
                        return "GetDouble";

                    case DbType.Int16:
                        return "GetInt16";

                    case DbType.Int32:
                        return "GetInt32";

                    case DbType.Int64:
                        return "GetInt64";

                    case DbType.Object:
                        return "GetValue";

                    case DbType.Single:
                        return "GetSingle";

                    case DbType.Time:
                        return "GetDateTime";

                    case DbType.VarNumeric:
                        return "GetInt32";

                    default:
                        return "GetValue";
                }
            }
        }
コード例 #35
0
 public PropertyInfo(DataObjectBase column, ObjectInfo parent, bool isPrimaryKey, bool isFilterKey)
 {
     _parent = parent;
     Load(column);
     _isPrimaryKey = isPrimaryKey;
     _isFilterKey = isFilterKey;
 }
コード例 #36
0
 /// <summary>
 /// Get the Sql Data type of a column
 /// </summary>
 /// <param name="column">Column for which to get the type</param>
 /// <returns>String representing the SQL data type</returns>
 public string GetSqlDbType(DataObjectBase column)
 {
     switch (column.NativeType)
     {
         case "bigint": return "BigInt";
         case "binary": return "Binary";
         case "bit": return "Bit";
         case "char": return "Char";
         case "datetime": return "DateTime";
         case "decimal": return "Decimal";
         case "float": return "Float";
         case "image": return "Image";
         case "int": return "Int";
         case "money": return "Money";
         case "nchar": return "NChar";
         case "ntext": return "NText";
         case "numeric": return "Decimal";
         case "nvarchar": return "NVarChar";
         case "real": return "Real";
         case "smalldatetime": return "SmallDateTime";
         case "smallint": return "SmallInt";
         case "smallmoney": return "SmallMoney";
         case "sql_variant": return "Variant";
         case "sysname": return "NChar";
         case "text": return "Text";
         case "timestamp": return "Timestamp";
         case "tinyint": return "TinyInt";
         case "uniqueidentifier": return "UniqueIdentifier";
         case "varbinary": return "VarBinary";
         case "varchar": return "VarChar";
         default: return "__UNKNOWN__" + column.NativeType;
     }
 }
コード例 #37
0
            public static string GetPropertyName(DataObjectBase col)
            {
                string name = col.Name;

                //ensure first character is capital letter
                name = name.Substring(0, 1).ToUpper() + name.Substring(1);

                //convert ex:START_DATE or Start Date to StartDate
                if (name.IndexOf('_') >= 0 || name.IndexOf(' ') >= 0 || name == name.ToUpper())
                    name = CsHelper.MakeProper(name);

                //fix name that contain table prefix
                //ex table:Project column:ProjectName, ProjectDescription
                if(col is ColumnSchema)
                    name = name.Replace(((ColumnSchema)col).Table.Name, "");

                if (name.EndsWith("TypeCode"))
                    name = name.Substring(0, name.Length - 4);

				if(name.Length == 0)
					throw new Exception("Column " + col.Name + " has resulted blank property name");
					
                return name;
            }
コード例 #38
0
 /// <summary>
 /// Returns the C# variable type based on the given column.
 /// </summary>
 /// <param name="column"></param>
 /// <returns></returns>
 private string GetVBVariableType(DataObjectBase column)
 {
     return(DbTypeToVB[column.DataType.ToString(), column.SystemType.Name]);
 }
コード例 #39
0
 public static string GetVariableType(DataObjectBase col)
 {
     switch (col.DataType)
     {
         case DbType.AnsiString: return "string";
         case DbType.AnsiStringFixedLength: return "string";
         case DbType.String: return "string";
         case DbType.StringFixedLength: return "string";
         case DbType.Binary: return "byte[]";
         case DbType.Boolean: return "bool";
         case DbType.Byte: return "byte";
         case DbType.Currency: return "decimal";
         case DbType.Date: return "SmartDate";
         case DbType.DateTime: return "SmartDate";
         case DbType.VarNumeric: return "decimal";
         case DbType.Decimal: return "decimal";
         case DbType.Double: return "double";
         case DbType.Guid: return "Guid";
         case DbType.Int16: return "short";
         case DbType.Int32: return "int";
         case DbType.Int64: return "long";
         case DbType.Object: return "object";
         case DbType.SByte: return "sbyte";
         case DbType.Single: return "float";
         case DbType.Time: return "TimeSpan";
         case DbType.UInt16: return "ushort";
         case DbType.UInt32: return "uint";
         case DbType.UInt64: return "ulong";
         default: return "__UNKNOWN__" + col.NativeType;
     }
 }
コード例 #40
0
        /// <summary>
        /// Returns a VB.Net member variable declaration statement.
        /// </summary>
        /// <param name="protectionLevel"></param>
        /// <param name="column"></param>
        /// <returns></returns>
        protected override string GetMemberVariableDeclarationStatement(string protectionLevel, DataObjectBase column)
        {
            string statement = protectionLevel + " ";

            statement += GetMemberVariableName(column.Name) + " As " + GetVBVariableType(column);

            string defaultValue = GetMemberVariableDefaultValue(column);

            if (defaultValue != "")
            {
                statement += " = " + defaultValue;
            }

            return(statement);
        }
コード例 #41
0
 public static bool IsTimestamp(DataObjectBase col)
 {
     bool var = false;
     if (col.NativeType.ToLower() == "timestamp")
         var = true;
     else if (col.Name.ToLower().IndexOf("timestamp") >= 0)
         var = true;
     return var;
 }
コード例 #42
0
ファイル: Property.cs プロジェクト: simonep77/bdo
 public abstract void SetValue(DataObjectBase obj, object value);
コード例 #43
0
ファイル: Generator.cs プロジェクト: priceLiu/parse
        private static bool HasDefaultValue(DataObjectBase column)
        {
            try
            {
                if (!column.ExtendedProperties.Contains(ExtendedPropertyNames.DefaultValue))
                    return false;

                string value = column.ExtendedProperties[ExtendedPropertyNames.DefaultValue].Value.ToString();
                return !string.IsNullOrEmpty(value);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex.Message);
            }

            return false;
        }
コード例 #44
0
ファイル: Property.cs プロジェクト: simonep77/bdo
 public abstract void WriteXml(XmlWrite xw, DataObjectBase obj, int depth);
コード例 #45
0
 private bool IsOrWasEnumAssociation(DataObjectBase dataObject)
 {
     bool isEnum, wasEnum;
     IsOrWasEnumAssociation(dataObject, out isEnum, out wasEnum);
     return (isEnum || wasEnum);
 }
コード例 #46
0
ファイル: Property.cs プロジェクト: simonep77/bdo
 public abstract void WriteDTO(Dictionary <string, object> dto, DataObjectBase obj, int depth);
コード例 #47
0
        private void PopulateColumn(Column column, DataObjectBase columnSchema, string className)
        {
            bool canUpdateType = string.IsNullOrEmpty(column.Type)
                || column.Type.StartsWith("System.")
                || IsOrWasEnumAssociation(columnSchema);

            if (canUpdateType)
                column.Type = GetColumnType(columnSchema);

            if (!PropertyNames.ContainsKey(className))
                PropertyNames.Add(className, new List<string>());

            //Column/@Member is edit safe if it is NullOrEmpty.
            // However, if the column starts with a digit, then we ARE going to update it.
            if (string.IsNullOrEmpty(column.Member) || CleanNumberPrefix.IsMatch(column.Member))
            {
                column.Member = ToPropertyName(className, columnSchema.Name);
                column.Storage = CommonUtility.GetFieldName(column.Member);
            }
            else
            {
                PropertyNames[className].Add(column.Member);
            }

            if (columnSchema.NativeType.Equals("text", StringComparison.OrdinalIgnoreCase)
                || columnSchema.NativeType.Equals("ntext", StringComparison.OrdinalIgnoreCase)
                || columnSchema.NativeType.Equals("xml", StringComparison.OrdinalIgnoreCase)
                || columnSchema.NativeType.Equals("binary", StringComparison.OrdinalIgnoreCase)
                || columnSchema.NativeType.Equals("image", StringComparison.OrdinalIgnoreCase))
                column.UpdateCheck = UpdateCheck.Never;

            column.DbType = GetDbType(columnSchema);
            column.CanBeNull = columnSchema.AllowDBNull;
            column.IsVersion = IsRowVersion(columnSchema);

            if (!column.IsDbGenerated.HasValue)
                column.IsDbGenerated = IsDbGenerated(columnSchema);

            column.IsProcessed = true;
        }
コード例 #48
0
ファイル: Property.cs プロジェクト: simonep77/bdo
 public abstract void ReadDTO(Dictionary <string, object> dto, DataObjectBase obj);
コード例 #49
0
        private static string GetSystemType(DataObjectBase d)
        {
            if (d.SystemType == typeof(XmlDocument))
                return "System.Xml.Linq.XElement";

            if (d.SystemType == typeof(byte[]))
                return "System.Data.Linq.Binary";

            return d.SystemType.ToString();
        }
コード例 #50
0
ファイル: Property.cs プロジェクト: simonep77/bdo
 public abstract void SetValueFromReader(DataObjectBase obj, IDataReader dr);
コード例 #51
0
        private static bool IsIdentity(DataObjectBase column)
        {
            string temp;
            bool isIdentity = false;
            try
            {
                if (column.ExtendedProperties.Contains("CS_IsIdentity"))
                {
                    temp = column.ExtendedProperties["CS_IsIdentity"].Value.ToString();
                    bool.TryParse(temp, out isIdentity);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("Error: " + ex.Message);
            }

            return isIdentity;
        }
コード例 #52
0
ファイル: PropertyDataList.cs プロジェクト: simonep77/bdo
 /// <summary>
 /// Metodo privato di impostazione proprietà
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="value"></param>
 public override void SetValue(DataObjectBase obj, object value)
 {
     throw new NotImplementedException();
 }
コード例 #53
0
 private string GetColumnType(DataObjectBase columnSchema)
 {
     string typeName;
     return IsEnumAssociation(columnSchema as ColumnSchema, out typeName)
         ? typeName
         : GetSystemType(columnSchema);
 }
コード例 #54
0
ファイル: PropertyDataList.cs プロジェクト: simonep77/bdo
 /// <summary>
 /// Legge DTO
 /// </summary>
 /// <param name="dto"></param>
 /// <param name="obj"></param>
 public override void ReadDTO(Dictionary <string, object> dto, DataObjectBase obj)
 {
     throw new NotImplementedException();
 }
コード例 #55
0
        private string IsOrWasEnumAssociation(DataObjectBase dataObject, out bool isEnum, out bool wasEnum)
        {
            string       name         = String.Empty;
            ColumnSchema columnSchema = dataObject as ColumnSchema;

            isEnum  = false;
            wasEnum = false;

            if (columnSchema == null || !columnSchema.IsForeignKeyMember)
            {
                return(name);
            }

            foreach (TableKeySchema tableKeySchema in columnSchema.Table.ForeignKeys)
            {
                // find columns ...
                ColumnSchema primaryColumn = null;
                for (int i = 0; i < tableKeySchema.ForeignKeyMemberColumns.Count; i++)
                {
                    if (tableKeySchema.ForeignKeyMemberColumns[i].Column != columnSchema)
                    {
                        continue;
                    }

                    primaryColumn = tableKeySchema.PrimaryKeyMemberColumns[i].Column;
                    break;
                }

                if (primaryColumn == null)
                {
                    continue;
                }

                // Is Enum
                TableSchema primaryKeyTable = tableKeySchema.PrimaryKeyTable;

                if (Settings.IsEnum(primaryKeyTable))
                {
                    name   = GetEnum(primaryKeyTable).Name;
                    isEnum = true;
                }

                // Was Enum
                DbmlEnum.Enum existingEnum = _existingEnumDatabase.Enums
                                             .Where(e => e.Table == primaryKeyTable.FullName)
                                             .FirstOrDefault();

                if (existingEnum != null)
                {
                    if (String.IsNullOrEmpty(name))
                    {
                        name = existingEnum.Name;
                    }
                    wasEnum = true;
                }

                if (isEnum || wasEnum)
                {
                    break;
                }

                // find column in pktable, if that is fkey too, check that parent.
                if (primaryColumn.IsForeignKeyMember && primaryColumn != dataObject)
                {
                    return(IsOrWasEnumAssociation(primaryColumn, out isEnum, out wasEnum));
                }
            }

            return(name);
        }
コード例 #56
0
ファイル: PropertyDataList.cs プロジェクト: simonep77/bdo
 /// <summary>
 /// Carica valori proprieta' da datareader
 /// </summary>
 /// <param name="obj"></param>
 /// <param name="dr"></param>
 public override void SetValueFromReader(DataObjectBase obj, IDataReader dr)
 {
     throw new NotImplementedException();
 }
コード例 #57
0
 public JsonResult <FilingDataObject> GetFiling(DataObjectBase obj)
 {
     return(Json(this.filingService.GetFiling(obj.ID)));
 }
コード例 #58
0
 public abstract BusinessObjectBase Create(DataObjectBase dalObj);
コード例 #59
0
 public void Patch(DataObjectBase obj, Func <DataObjectBase, DataObjectBase> applyPatch)
 {
 }
コード例 #60
0
ファイル: CommonSqlCode.cs プロジェクト: jerryxi/GXP
        /*
        /// <summary>
        /// Get a default value for a given data type
        /// </summary>
        /// <param name="dataType">Data type for which to get the default value<</param>
        /// <returns>A string representation of the default value</returns>
        public string GetCSDefaultByType(DbType dataType)
        {

        }
        */
        /// <summary>
        /// Get a mock value for a given data type. Used by the unit test classes.
        /// </summary>
        /// <param name="column">Data type for which to get the default value.</param>
        /// <param name="stringValue">a mock string value.</param>
        /// <param name="bValue">a mock boolean value.</param>
        /// <param name="guidValue">a mock Guid value.</param>
        /// <param name="numValue">a mock numeric value.</param>
        /// <param name="dtValue">a mock datetime value.</param>
        /// <returns>A string representation of the default value.</returns>
        public string GetCSMockValueByType(DataObjectBase column, string stringValue, bool bValue, Guid guidValue, int numValue, DateTime dtValue)
        {
            if (column.NativeType.ToLower() == "real")
                return numValue.ToString() + "F";
            else
            {
                switch (column.DataType)
                {
                    case DbType.AnsiString:
                        return "\"" + stringValue + "\"";

                    case DbType.AnsiStringFixedLength:
                    return "\"" + stringValue + "\"";

                    case DbType.String:
                        return "\"" + stringValue + "\"";

                    case DbType.Boolean:
                        return bValue.ToString().ToLower();

                    case DbType.StringFixedLength:
                        return "\"" + stringValue + "\"";

                    case DbType.Guid:
                        return "new Guid(\"" + guidValue.ToString() + "\")";

                    //Answer modified was just 0
                    case DbType.Binary:
                        return "new byte[] {" + numValue.ToString() + "}";

                    //Answer modified was just 0
                    case DbType.Byte:
                        return "(byte)" + numValue.ToString() + "";
                        //return "{ 0 }";

                    case DbType.Currency:
                        return numValue.ToString();

                    case DbType.Date:
                        return string.Format("new DateTime({0}, {1}, {2}, 0, 0, 0, 0)", dtValue.Date.Year, dtValue.Date.Month, dtValue.Date.Day);

                    case DbType.DateTime:
                        return string.Format("new DateTime({0}, {1}, {2}, {3}, {4}, {5}, {6})", dtValue.Year, dtValue.Month, dtValue.Day, dtValue.Hour, dtValue.Minute, dtValue.Second, dtValue.Millisecond);

                    case DbType.Decimal:
                        return numValue.ToString() + "m";
                        //return "0M";
                        //return "0.0M";

                    case DbType.Double:
                        return numValue.ToString() + ".0f";

                    case DbType.Int16:
                        return "(short)" + numValue.ToString();

                    case DbType.Int32:
                        return "(int)" + numValue.ToString();

                    case DbType.Int64:
                        return "(long)" + numValue.ToString();

                    case DbType.Object:
                        return "null";

                    case DbType.Single:
                        return numValue.ToString() + "F";

                    //case DbType.Time: return "DateTime.MaxValue";
                    case DbType.Time:
                        return string.Format("new DateTime({0}, {1}, {2}, {3}, {4}, {5}, {6})", dtValue.Year, dtValue.Month, dtValue.Day, dtValue.Hour, dtValue.Minute, dtValue.Second, dtValue.Millisecond);

                    case DbType.VarNumeric:
                        return numValue.ToString();
                        //the following won't be used
                        //		case DbType.SByte: return "0";
                        //		case DbType.UInt16: return "0";
                        //		case DbType.UInt32: return "0";
                        //		case DbType.UInt64: return "0";
                    default: return "null";
                }
            }
        }