//Az alap statot változtatja a minőség szorzó alapján
        public static int CalculateStatByQuality(int input, EnumQuality enumQuality)
        {
            double temp = 0;

            switch (enumQuality)
            {
            case EnumQuality.Gyenge:
                temp = input - (input * 0.25);
                break;

            case EnumQuality.Normál:
                temp = input;
                break;

            case EnumQuality.Jó:
                temp = input + (input * 0.10);
                break;

            case EnumQuality.Kiemelkedő:
                temp = input + (input * 0.25);
                break;

            case EnumQuality.Tökéletes:
                temp = input + (input * 0.50);
                break;
            }
            return(Convert.ToInt32(temp));
        }
		} //	end Constructor
		internal AeCondition(EnumEventType anEventType, uint anEventCategory,
		                     uint aSeverity, string aSourcePath,
		                     string aMessage, DateTime anOccurenceTime,
		                     ArrayList someEventAttributes, string anActorId,
		                     EnumConditionChange aChangeMask, EnumConditionState aNewState, bool ackRequired,
		                     EnumQuality aQuality, string aConditionName,
		                     string aSubConditionName, DateTime anActiveTime,
		                     uint aCookie)
		{
			m_eventType = anEventType;
			m_eventCategory = anEventCategory;
			m_severity = aSeverity;
			m_sourcePath = aSourcePath;
			m_message = aMessage;
			m_occurenceTime = anOccurenceTime;
			m_eventAttributes = someEventAttributes;
			m_actorId = anActorId;
			m_changeMask = aChangeMask;
			m_newState = aNewState;
			m_ackRequired = ackRequired;
			m_quality = aQuality;
			m_conditionName = aConditionName;
			m_subConditionName = aSubConditionName;
			m_activeTime = anActiveTime;
			m_cookie = aCookie;
		}
Beispiel #3
0
        public static void InsertNewRow(Item Item)
        {
            OleDbCommand  command = Connect();
            StringBuilder query   = new StringBuilder();

            query.Append("INSERT INTO [Items](");
            for (int i = 1; i < typeof(Item).GetProperties().Length - 1; i++)
            {
                query.Append(typeof(Item).GetProperties()[i].Name + ",");
            }
            query.Append(typeof(Item).GetProperties().Last().Name);

            query.Append(") VALUES(");



            foreach (PropertyInfo prop in Item.GetType().GetProperties())
            {
                //Kihagyja az első propertit az ID-t
                if (Item.GetType().GetProperties().ToList().IndexOf(prop) == 0)
                {
                    continue;
                }

                var type = Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType;

                switch (type.Name)
                {
                case "Boolean":

                    if (bool.Parse(prop.GetValue(Item, null).ToString()))
                    {
                        query.Append("'1', ");
                    }
                    else
                    {
                        query.Append("'0', ");
                    }
                    break;

                case "EnumQuality":
                    EnumQuality enumQuality = (EnumQuality)Enum.Parse(typeof(EnumQuality), prop.GetValue(Item, null).ToString());
                    query.Append("'" + Array.IndexOf(EnumQuality.GetValues(enumQuality.GetType()), enumQuality) + "', ");
                    break;

                case "EnumItemType":
                    EnumItemType enumItemType = (EnumItemType)Enum.Parse(typeof(EnumItemType), prop.GetValue(Item, null).ToString());
                    query.Append("'" + Array.IndexOf(EnumItemType.GetValues(enumItemType.GetType()), enumItemType) + "', ");
                    break;

                case "EnumRarity":
                    EnumRarity enumRarity = (EnumRarity)Enum.Parse(typeof(EnumRarity), prop.GetValue(Item, null).ToString());
                    query.Append("'" + Array.IndexOf(EnumRarity.GetValues(enumRarity.GetType()), enumRarity) + "', ");
                    break;

                case "EnumPotionEffect":
                    EnumPotionEffect enumPotionEffect = (EnumPotionEffect)Enum.Parse(typeof(EnumPotionEffect), prop.GetValue(Item, null).ToString());
                    query.Append("'" + Array.IndexOf(EnumPotionEffect.GetValues(enumPotionEffect.GetType()), enumPotionEffect) + "', ");
                    break;

                case "EnumPossibleBonusStats":
                    EnumPossibleBonusStats enumPossibleBonusStats = (EnumPossibleBonusStats)Enum.Parse(typeof(EnumPossibleBonusStats), prop.GetValue(Item, null).ToString());
                    query.Append("'" + Array.IndexOf(EnumPossibleBonusStats.GetValues(enumPossibleBonusStats.GetType()), enumPossibleBonusStats) + "', ");
                    break;

                default:
                    //Az utolsót külön írja meg mert az utolsónál már le kell zárni a queryt ') -el
                    if (Item.GetType().GetProperties().ToList().IndexOf(prop) == Item.GetType().GetProperties().ToList().IndexOf(Item.GetType().GetProperties().ToList().Last()))
                    {
                        query.Append("'" + prop.GetValue(Item, null).ToString() + "')");
                    }
                    else
                    {
                        query.Append("'" + prop.GetValue(Item, null).ToString() + "', ");
                    }
                    break;
                }
            }

            command.CommandText = query.ToString();
            command.ExecuteNonQuery();
            command.Connection.Close();
        }
		} //	end constructor

		//-
		#endregion

		#region //	Public Methods
		//------------------------

		/// <summary>
		/// Sets the value, quality and time stamp of a <see cref="ValueQT"/>.
		/// </summary>
		/// <include
		///  file='TBN.doc.xml'
		///  path='//class[@name="ValueQT"]/method[@name="SetData"]/doc/*'
		/// />
		public void SetData(object aData, EnumQuality aQuality, DateTime aTimeStamp)
		{
			this.m_data = aData;
			this.m_quality = aQuality;
			this.m_timeStamp = aTimeStamp;
		} //	end SetData
		} //	end constructor


		internal ValueQT(ref OTValueData anOtValueData) : base(anOtValueData.m_value)
		{
			this.m_quality = (EnumQuality) anOtValueData.m_quality;
			this.m_timeStamp = anOtValueData.m_timestamp.ToDateTime();
		} //	end constructor
		} //	end TimeStamp


		//-
		#endregion

		#region // Public Constructors
		//----------------------------

		///<summary>
		///Initializes a new instance of the <see cref="ValueQT"/> class with the value indicated by a process variable value,
		///the value quality and the time the value was obtained by the device or by the server's cache.
		///</summary>
		/// <include
		///  file='TBN.doc.xml'
		///  path='//class[@name="ValueQT"]/constructor[@name="ValueQT"]/doc/*'
		/// />
		public ValueQT(object aData, EnumQuality aQuality, DateTime aTimeStamp) : base(aData)
		{
			this.m_quality = aQuality;
			this.m_timeStamp = aTimeStamp;
		} //	end constructor