/// <summary>
		/// Creates a NDataReader from a <see cref="IDataReader" />
		/// </summary>
		/// <param name="reader">The <see cref="IDataReader" /> to get the records from the Database.</param>
		/// <param name="isMidstream"><see langword="true" /> if we are loading the <see cref="IDataReader" /> in the middle of reading it.</param>
		/// <remarks>
		/// NHibernate attempts to not have to read the contents of an <see cref="IDataReader"/> into memory until it absolutely
		/// has to.  What that means is that it might have processed some records from the <see cref="IDataReader"/> and will
		/// pick up the <see cref="IDataReader"/> midstream so that the underlying <see cref="IDataReader"/> can be closed 
		/// so a new one can be opened.
		/// </remarks>
		public NDataReader(IDataReader reader, bool isMidstream)
		{
			ArrayList resultList = new ArrayList(2);

			try
			{
				// if we are in midstream of processing a DataReader then we are already
				// positioned on the first row (index=0)
				if (isMidstream)
				{
					currentRowIndex = 0;
				}

				// there will be atleast one result 
				resultList.Add(new NResult(reader, isMidstream));

				while (reader.NextResult())
				{
					// the second, third, nth result is not processed midstream
					resultList.Add(new NResult(reader, false));
				}

				results = (NResult[]) resultList.ToArray(typeof(NResult));
			}
			catch (Exception e)
			{
				throw new ADOException("There was a problem converting an IDataReader to NDataReader", e);
			}
			finally
			{
				reader.Close();
			}
		}
Пример #2
1
 public ChatMessage(IDataReader idr, Int32 offsetHours)
 {
     SentBy = idr.GetValueByName<String>("SentByUserName").HTMLDecode();
     Message = idr.GetValueByName<String>("Message").HTMLDecode();
     SentDate = idr.GetValueByName<DateTime>("DateSent").AddHours(offsetHours);
     DateSent = SentDate.ToShortDateString() + " " + SentDate.ToLongTimeString();
 }
Пример #3
0
 public ResultObjectMapping ProcessRow(IDataReader dr, BufferedTextReader reader)
 {
     var result = new ResultObjectMapping();
     foreach (var sel in Query.Selects)
         result.Add(sel.QuerySource, sel.Instancer(result, reader, dr));
     return result;
 }
 protected override Row CreateRowFromReader(IDataReader reader) {
     var row = new Row();
     foreach (var field in _fields) {
         row[field.Alias] = reader[field.Name];
     }
     return row;
 }
 public override void Deserialize(IDataReader reader)
 {
     byte flag1 = reader.ReadByte();
     enabled = BooleanByteWrapper.GetFlag(flag1, 0);
     abandonnedPaddock = BooleanByteWrapper.GetFlag(flag1, 1);
     level = reader.ReadByte();
     if ( level < 0 || level > 255 )
     {
         throw new Exception("Forbidden value on level = " + level + ", it doesn't respect the following condition : level < 0 || level > 255");
     }
     expLevelFloor = reader.ReadDouble();
     if ( expLevelFloor < 0 )
     {
         throw new Exception("Forbidden value on expLevelFloor = " + expLevelFloor + ", it doesn't respect the following condition : expLevelFloor < 0");
     }
     experience = reader.ReadDouble();
     if ( experience < 0 )
     {
         throw new Exception("Forbidden value on experience = " + experience + ", it doesn't respect the following condition : experience < 0");
     }
     expNextLevelFloor = reader.ReadDouble();
     if ( expNextLevelFloor < 0 )
     {
         throw new Exception("Forbidden value on expNextLevelFloor = " + expNextLevelFloor + ", it doesn't respect the following condition : expNextLevelFloor < 0");
     }
 }
 public override void Deserialize(IDataReader reader)
 {
     base.Deserialize(reader);
     leavingPlayerId = reader.ReadInt();
     if (leavingPlayerId < 0)
         throw new Exception("Forbidden value on leavingPlayerId = " + leavingPlayerId + ", it doesn't respect the following condition : leavingPlayerId < 0");
 }
 public override void Deserialize(IDataReader reader)
 {
     base.Deserialize(reader);
     cosmeticId = reader.ReadInt();
     if (cosmeticId < 0)
         throw new Exception("Forbidden value on cosmeticId = " + cosmeticId + ", it doesn't respect the following condition : cosmeticId < 0");
 }
Пример #8
0
        /**
         * Assume que o result set em IDataReader reader contem na coluna 0 um ID (long), na coluna 1 a designacao (string),
         * na coluna 2 um valor (long) e, opcionalmente, na coluna 3 um outro valor (long).
         * 
         * Se existirem mais colunas, estas sao ignoradas.
         */
        protected List<TotalTipo> GetTotais(IDataReader reader) {
            List<TotalTipo> results = new List<TotalTipo>();
            TotalTipo tt;
            long total = 0;
            long total_editadas = 0;
            long total_eliminadas = 0;
            do {
                while (reader.Read()) {
                    tt = new TotalTipo();
                    tt.ID = System.Convert.ToInt64(reader.GetValue(0));
                    tt.Designacao = reader.GetValue(1).ToString();
                    tt.Contador = System.Convert.ToInt64(reader.GetValue(2));

                    // Quarta coluna (se existir) contem o valor de 'Editadas':
                    if (reader.FieldCount > 3) {
                        tt.Contador_Editadas = System.Convert.ToInt64(reader.GetValue(3));
                        total_editadas += tt.Contador_Editadas;
                        tt.Contador_Eliminadas = System.Convert.ToInt64(reader.GetValue(4));
                        total_eliminadas += tt.Contador_Eliminadas;
                    }
                    results.Add(tt);
                    total += tt.Contador;
                }
            } while (reader.NextResult());

            tt = new TotalTipo();
            tt.ID = -1;
            tt.Designacao = "Total";
            tt.Contador = total;
            tt.Contador_Editadas = total_editadas;
            tt.Contador_Eliminadas = total_eliminadas;
            results.Add(tt);
            return results;
        }
		public IEnumerable<dynamic> GetEnumerable(IDataReader dr)
		{
			while (dr.Read())
			{
				yield return GetObject(dr);
			}
		}
 public override void Deserialize(IDataReader reader)
 {
     byte flag1 = reader.ReadByte();
     hasRights = BooleanByteWrapper.GetFlag(flag1, 0);
     wasAlreadyConnected = BooleanByteWrapper.GetFlag(flag1, 1);
     login = reader.ReadUTF();
     nickname = reader.ReadUTF();
     accountId = reader.ReadInt();
     if ( accountId < 0 )
     {
         throw new Exception("Forbidden value on accountId = " + accountId + ", it doesn't respect the following condition : accountId < 0");
     }
     communityId = reader.ReadSByte();
     if ( communityId < 0 )
     {
         throw new Exception("Forbidden value on communityId = " + communityId + ", it doesn't respect the following condition : communityId < 0");
     }
     secretQuestion = reader.ReadUTF();
     subscriptionEndDate = reader.ReadDouble();
     if ( subscriptionEndDate < 0 )
     {
         throw new Exception("Forbidden value on subscriptionEndDate = " + subscriptionEndDate + ", it doesn't respect the following condition : subscriptionEndDate < 0");
     }
     accountCreation = reader.ReadDouble();
     if ( accountCreation < 0 )
     {
         throw new Exception("Forbidden value on accountCreation = " + accountCreation + ", it doesn't respect the following condition : accountCreation < 0");
     }
 }
 /// <summary>
 /// Returns a collection of PollOptionDetails objects with the data read from the input DataReader
 /// </summary>
 protected virtual List<PollOptionDetails> GetOptionCollectionFromReader(IDataReader reader)
 {
     List<PollOptionDetails> options = new List<PollOptionDetails>();
      while (reader.Read())
     options.Add(GetOptionFromReader(reader));
      return options;
 }
Пример #12
0
 private static void DisposeCommandAndReader(IDbConnection connection, IDbCommand command, IDataReader reader)
 {
     using (connection)
     using (command)
     using (reader)
     { /* NoOp */ }
 }
Пример #13
0
 /// <summary>
 /// 从读取器向完整实例对象赋值
 /// </summary>/// <param name="reader">数据读取器</param>
 /// <returns>返回本对象实例</returns>
 public ProProductionType BuildSampleEntity(IDataReader reader)
 {
     this.PTypeId = DBConvert.ToInt32(reader["p_type_id"]);
     this.PTypeName = DBConvert.ToString(reader["p_type_name"]);
     this.UserId = DBConvert.ToInt32(reader["user_id"]);
     return this;
 }
Пример #14
0
 public StupidDataReader(IDataReader dr, Type returnType)
 {
     this.DataReader = dr;
     if (returnType != null)
     {
         _indexType = new Dictionary<int, Type>();
         _nameType = new Dictionary<string, Type>();
         var ctx = ModelContext.GetInstance(returnType);
         int n = 0;
         foreach (MemberHandler mh in ctx.Info.SimpleMembers)
         {
             _indexType.Add(n++, mh.MemberType);
             if (!_nameType.ContainsKey(mh.Name))
             {
                 _nameType.Add(mh.Name, mh.MemberType);
             }
         }
         foreach (MemberHandler mh in ctx.Info.RelationMembers)
         {
             if (mh.Is.BelongsTo)
             {
                 var ctx1 = ModelContext.GetInstance(mh.MemberType.GetGenericArguments()[0]);
                 _indexType.Add(n++, ctx1.Info.KeyMembers[0].MemberType);
                 _nameType.Add(mh.Name, ctx1.Info.KeyMembers[0].MemberType);
             }
         }
     }
 }
 public override void Deserialize(IDataReader reader)
 {
     base.Deserialize(reader);
     targetId = reader.ReadInt();
     entityLook = new Types.EntityLook();
     entityLook.Deserialize(reader);
 }
 public override void Deserialize(IDataReader reader)
 {
     base.Deserialize(reader);
     sellType = reader.ReadInt();
     if (sellType < 0)
         throw new Exception("Forbidden value on sellType = " + sellType + ", it doesn't respect the following condition : sellType < 0");
 }
Пример #17
0
 public object NullSafeGet(IDataReader rs, string[] names, object owner)
 {
     var obj = NHibernateUtil.String.NullSafeGet(rs, names[0]);
     if (obj == null) return null;
     var colorString = (string)obj;
     return ColorTranslator.FromHtml(colorString);
 }
 public override void Deserialize(IDataReader reader)
 {
     enable = reader.ReadBoolean();
     rights = reader.ReadUInt();
     if (rights < 0 || rights > 4294967295)
         throw new Exception("Forbidden value on rights = " + rights + ", it doesn't respect the following condition : rights < 0 || rights > 4294967295");
 }
Пример #19
0
        public static SocialEntry Read(Int64 character, IDataReader reader, SocialType type)
        {
            if (!reader.Read())
                return null;

            SocialEntry entry;

            if (type == SocialType.Enemy)
            {
                var eentry = new EnemyEntry
                {
                    Race = reader.GetByte(1)
                };
                //eentry.TimesKilled = reader.GetByte("TimesKilled");
                //eentry.TimesKilledBy = reader.GetByte("TimesKilledBy");

                entry = eentry;
            }
            else
                entry = new SocialEntry();

            entry.Character = character;
            entry.OtherCharacter = reader.GetInt64(0);
            entry.Level = reader.GetByte(3);
            entry.LastContinentId = reader.GetUInt32(4);
            entry.Class = reader.GetByte(2);
            entry.Online = false;
            entry.Name = reader.GetString(5);
            entry.Type = (SocialType)reader.GetByte(6);

            return entry;
        }
Пример #20
0
 public object NullSafeGet(IDataReader dr, string[] names, object owner)
 {
     var obj = NHibernateUtil.Decimal.NullSafeGet(dr, names[0]);
      if (obj == null) return null;
      var valueInUSD = (decimal)obj;
      return new Money().SetInitialAmount(valueInUSD);
 }
 public virtual void Deserialize(IDataReader reader)
 {
     firstNameId = reader.ReadShort();
     if ( firstNameId < 0 )
     {
         throw new Exception("Forbidden value on firstNameId = " + firstNameId + ", it doesn't respect the following condition : firstNameId < 0");
     }
     lastNameId = reader.ReadShort();
     if ( lastNameId < 0 )
     {
         throw new Exception("Forbidden value on lastNameId = " + lastNameId + ", it doesn't respect the following condition : lastNameId < 0");
     }
     worldX = reader.ReadShort();
     if ( worldX < -255 || worldX > 255 )
     {
         throw new Exception("Forbidden value on worldX = " + worldX + ", it doesn't respect the following condition : worldX < -255 || worldX > 255");
     }
     worldY = reader.ReadShort();
     if ( worldY < -255 || worldY > 255 )
     {
         throw new Exception("Forbidden value on worldY = " + worldY + ", it doesn't respect the following condition : worldY < -255 || worldY > 255");
     }
     mapId = reader.ReadInt();
     subAreaId = reader.ReadShort();
     if ( subAreaId < 0 )
     {
         throw new Exception("Forbidden value on subAreaId = " + subAreaId + ", it doesn't respect the following condition : subAreaId < 0");
     }
 }
 public override void Deserialize(IDataReader reader)
 {
     dungeonId = reader.ReadShort();
     if (dungeonId < 0)
         throw new Exception("Forbidden value on dungeonId = " + dungeonId + ", it doesn't respect the following condition : dungeonId < 0");
     available = reader.ReadBoolean();
 }
 public override void Deserialize(IDataReader reader)
 {
     base.Deserialize(reader);
     targetId = reader.ReadInt();
     stateId = reader.ReadShort();
     active = reader.ReadBoolean();
 }
 public override void Deserialize(IDataReader reader)
 {
     id = reader.ReadInt();
     if (id < 0)
         throw new Exception("Forbidden value on id = " + id + ", it doesn't respect the following condition : id < 0");
     ready = reader.ReadBoolean();
 }
Пример #25
0
        public bool fetchWordList(ref WorldList wl)
        {
            // Doesnt exist by default
            wl.setExistance(false);

            string sqlQuery = "select * from users where username='******' and passwordmd5='"+wl.getPassword()+"';";
            queryExecuter= conn.CreateCommand();
            queryExecuter.CommandText = sqlQuery;
            dr= queryExecuter.ExecuteReader();

            while(dr.Read()){
                // Player is on the DB
                wl.setExistance(true);
                wl.setUserID((int) dr.GetDecimal(0));
                dr.GetBytes(6,0,wl.getPrivateExponent(),0,96);
                dr.GetBytes(5,0,wl.getPublicModulus(),0,96);
                wl.setTimeCreated((int)dr.GetDecimal(7));
            }

            dr.Close();

            // If doesnt exist... should not do more things
            if (!wl.getExistance()){
                Output.writeToLogForConsole("[WORLD DB ACCESS] fetchWordList : Player not found on DB with #" + wl.getUsername() + "# and #" + wl.getPassword() + "#");
                conn.Close();
                return false;
            }
            return true;
        }
        /// <summary>
        /// Processes the specified <see cref="IDataReader"/> 
        /// when a 'resultClass' attribute is specified on the statement and
        /// the 'resultClass' attribute is a <see cref="IDictionary"/>.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="reader">The reader.</param>
        /// <param name="resultObject">The result object.</param>
        public object Process(RequestScope request, ref IDataReader reader, object resultObject)
        {
            object outObject = resultObject;
            AutoResultMap resultMap = request.CurrentResultMap as AutoResultMap;

            if (outObject == null)
            {
                outObject = resultMap.CreateInstanceOfResultClass();
            }

            int count = reader.FieldCount;
            IDictionary dictionary = (IDictionary) outObject;
            for (int i = 0; i < count; i++)
            {
                ResultProperty property = new ResultProperty();
                property.PropertyName = "value";
                property.ColumnIndex = i;
                property.TypeHandler = request.DataExchangeFactory.TypeHandlerFactory.GetTypeHandler(reader.GetFieldType(i));
                dictionary.Add(
                    reader.GetName(i),
                    property.GetDataBaseValue(reader));
            }

            return outObject;
        }
Пример #27
0
        /// <summary>
        /// Processes the specified <see cref="IDataReader"/> 
        /// when a ResultMap is specified on the statement.
        /// </summary>
        /// <param name="request">The request.</param>
        /// <param name="reader">The reader.</param>
        /// <param name="resultObject">The result object.</param>
        public object Process(RequestScope request, ref IDataReader reader, object resultObject)
        {
            object outObject = resultObject;

            IResultMap resultMap = request.CurrentResultMap.ResolveSubMap(reader);

            if (outObject == null)
            {
                object[] parameters = null;
                if (resultMap.Parameters.Count > 0)
                {
                    parameters = new object[resultMap.Parameters.Count];
                    // Fill parameters array
                    for (int index = 0; index < resultMap.Parameters.Count; index++)
                    {
                        ResultProperty resultProperty = resultMap.Parameters[index];
                        parameters[index] = resultProperty.ArgumentStrategy.GetValue(request, resultProperty, ref reader, null);
                    }
                }

                outObject = resultMap.CreateInstanceOfResult(parameters);
            }

            // For each Property in the ResultMap, set the property in the object
            for (int index = 0; index < resultMap.Properties.Count; index++)
            {
                ResultProperty property = resultMap.Properties[index];
                property.PropertyStrategy.Set(request, resultMap, property, ref outObject, reader, null);
            }

            return outObject;
        }
Пример #28
0
 public override void Deserialize(IDataReader reader)
 {
     mapId = reader.ReadInt();
     if (mapId < 0)
         throw new Exception("Forbidden value on mapId = " + mapId + ", it doesn't respect the following condition : mapId < 0");
     mapKey = reader.ReadUTF();
 }
		/// <summary>
		/// 
		/// </summary>
		/// <param name="root"></param>
		/// <param name="reader"></param>
		/// <param name="prefix"></param>
		public void PopulateTree(CompositeNode root, IDataReader reader, String prefix)
		{
			string[] fields = GetFields(reader);

			int[] indexesToSkip = FindDuplicateFields(fields);
			
			IndexedNode indexNode = new IndexedNode(prefix);
			
			int row = 0;

			while(reader.Read())
			{
				CompositeNode node = new CompositeNode(row.ToString());

				for(int i=0; i<reader.FieldCount; i++)
				{
					// Is in the skip list?
					if (Array.IndexOf(indexesToSkip, i) >= 0) continue;
					
					// Is null?
					if (reader.IsDBNull(i)) continue;
					
					Type fieldType = reader.GetFieldType(i);
					
					node.AddChildNode(new LeafNode(fieldType, fields[i], reader.GetValue(i)));
				}

				indexNode.AddChildNode(node);
			
				row++;
			}
			
			root.AddChildNode(indexNode);
		}
 public virtual void Deserialize(IDataReader reader)
 {
     playerInfo = new Types.JobCrafterDirectoryEntryPlayerInfo();
     playerInfo.Deserialize(reader);
     jobInfo = new Types.JobCrafterDirectoryEntryJobInfo();
     jobInfo.Deserialize(reader);
 }
        /// <summary>
        ///  Create Field Value Object
        /// </summary>
        /// <param name="ctx">context</param>
        /// <param name="WindowNo">window number</param>
        /// <param name="TabNo">tab number</param>
        /// <param name="AD_Window_ID">window Id</param>
        /// <param name="AD_Tab_ID">Tab Id</param>
        /// <param name="readOnly">is readonly</param>
        /// <param name="dr">datarow</param>
        /// <returns>object of this Class</returns>
        public static GridFieldVO Create(Ctx ctx, int windowNo, int tabNo,
                                         int AD_Window_ID, int AD_Tab_ID, bool readOnly, IDataReader dr)
        {
            GridFieldVO vo = new GridFieldVO(ctx, windowNo, tabNo,
                                             AD_Window_ID, AD_Tab_ID, readOnly);
            String columnName = "ColumnName";

            try
            {
                vo.ColumnName = dr["ColumnName"].ToString();
                if (vo.ColumnName == null || columnName.Trim().Length == 0)
                {
                    return(null);
                }

                // VLogger.Get().Fine(vo.ColumnName);

                //ResultSetMetaData rsmd = dr.getMetaData();
                for (int i = 0; i < dr.FieldCount; i++)
                {
                    columnName = dr.GetName(i).ToUpper();// rsmd.getColumnName(i);
                    if (columnName.Equals("NAME"))
                    {
                        vo.Header = dr[i].ToString();
                    }
                    else if (columnName.Equals("AD_REFERENCE_ID"))
                    {
                        vo.displayType = Utility.Util.GetValueOfInt(dr[i]);//  Utility.Util.GetValueOfInt(dr[i])
                    }
                    else if (columnName.Equals("AD_COLUMN_ID"))
                    {
                        vo.AD_Column_ID = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("AD_INFOWINDOW_ID"))
                    {
                        vo.AD_InfoWindow_ID = Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("AD_TABLE_ID"))
                    {
                        vo.AD_Table_ID = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("DISPLAYLENGTH"))
                    {
                        vo.DisplayLength = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("ISSAMELINE"))
                    {
                        vo.IsSameLine = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISDISPLAYED"))
                    {
                        vo.IsDisplayedf = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("MRISDISPLAYED"))
                    {
                        vo.IsDisplayedMR = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("DISPLAYLOGIC"))
                    {
                        vo.DisplayLogic = dr[i].ToString();
                    }
                    else if (columnName.Equals("DEFAULTVALUE"))
                    {
                        vo.DefaultValue = dr[i].ToString();
                    }
                    else if (columnName.Equals("ISMANDATORYUI"))
                    {
                        vo.IsMandatoryUI = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISREADONLY"))
                    {
                        vo.IsReadOnly = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISUPDATEABLE"))
                    {
                        vo.IsUpdateable = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISALWAYSUPDATEABLE"))
                    {
                        vo.IsAlwaysUpdateable = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISHEADING"))
                    {
                        vo.IsHeading = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISFIELDONLY"))
                    {
                        vo.IsFieldOnly = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISENCRYPTEDFIELD"))
                    {
                        vo.IsEncryptedField = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISENCRYPTEDCOLUMN"))
                    {
                        vo.IsEncryptedColumn = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISSELECTIONCOLUMN"))
                    {
                        vo.IsSelectionColumn = "Y".Equals(dr[i].ToString());
                    }
                    //else if (columnName.Equals("ISINCLUDEDCOLUMN"))
                    //    vo.IsIncludedColumn = "Y".Equals(dr[i].ToString());
                    else if (columnName.Equals("SELECTIONSEQNO"))
                    {
                        vo.SelectionSeqNo = Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("SORTNO"))
                    {
                        vo.SortNo = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("FIELDLENGTH"))
                    {
                        vo.FieldLength = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("VFORMAT"))
                    {
                        vo.VFormat = dr[i].ToString();
                    }
                    else if (columnName.Equals("VALUEMIN"))
                    {
                        vo.ValueMin = dr[i].ToString();
                    }
                    else if (columnName.Equals("VALUEMAX"))
                    {
                        vo.ValueMax = dr[i].ToString();
                    }
                    else if (columnName.Equals("FIELDGROUP"))
                    {
                        vo.FieldGroup = Env.TrimModulePrefix(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISKEY"))
                    {
                        vo.IsKey = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ISPARENT"))
                    {
                        vo.IsParent = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("DESCRIPTION"))
                    {
                        vo.Description = dr[i].ToString();
                    }
                    else if (columnName.Equals("HELP"))
                    {
                        vo.Help = dr[i].ToString();
                    }
                    else if (columnName.Equals("CALLOUT"))
                    {
                        vo.Callout = dr[i].ToString();

                        if (!string.IsNullOrEmpty(vo.Callout))
                        {
                            Tuple <string, string, string> tpl = null;

                            StringTokenizer st       = new StringTokenizer(vo.Callout, ";,", false);
                            StringBuilder   callouts = new StringBuilder();

                            bool hasModulePrefix = Env.HasModulePrefix(vo.ColumnName, out tpl);


                            while (st.HasMoreTokens())      //  for each callout
                            {
                                string prefix = "";

                                String cmd = st.NextToken().Trim();
                                if (hasModulePrefix)
                                {
                                    prefix = vo.ColumnName.Substring(0, vo.ColumnName.IndexOf('_'));
                                }
                                else
                                {
                                    String className = cmd.Substring(0, cmd.LastIndexOf("."));
                                    className = className.Remove(0, className.LastIndexOf(".") + 1);

                                    if (Env.HasModulePrefix(className, out tpl))
                                    {
                                        prefix = className.Substring(0, className.IndexOf('_'));
                                    }
                                }

                                if (callouts.Length > 0)
                                {
                                    if (prefix.Length > 0)
                                    {
                                        callouts.Append(";").Append(cmd.Replace("ViennaAdvantage", prefix));
                                    }
                                    else
                                    {
                                        callouts.Append(";").Append(cmd);
                                    }
                                }
                                else
                                {
                                    if (prefix.Length > 0)
                                    {
                                        callouts.Append(cmd.Replace("ViennaAdvantage", prefix));
                                    }
                                    else
                                    {
                                        callouts.Append(";").Append(cmd);
                                    }
                                }
                            }
                            vo.Callout = callouts.ToString();
                        }
                    }
                    else if (columnName.Equals("AD_PROCESS_ID"))
                    {
                        vo.AD_Process_ID = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("AD_FORM_ID"))
                    {
                        vo.AD_Form_ID = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("READONLYLOGIC"))
                    {
                        vo.ReadOnlyLogic = dr[i].ToString();
                    }
                    else if (columnName.Equals("MANDATORYLOGIC"))
                    {
                        vo.mandatoryLogic = dr[i].ToString();
                    }
                    else if (columnName.Equals("OBSCURETYPE"))
                    {
                        vo.ObscureType = dr[i].ToString();
                    }
                    else if (columnName.Equals("ISDEFAULTFOCUS"))
                    {
                        vo.IsDefaultFocus = "Y".Equals(dr[i].ToString());
                    }
                    //
                    else if (columnName.Equals("AD_REFERENCE_VALUE_ID"))
                    {
                        vo.AD_Reference_Value_ID = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("VALIDATIONCODE"))
                    {
                        vo.ValidationCode = dr[i].ToString();
                    }
                    else if (columnName.Equals("COLUMNSQL"))
                    {
                        vo.ColumnSQL = dr[i].ToString();
                    }
                    else if (columnName.Equals("AD_FIELD_ID"))
                    {
                        vo.AD_Field_ID = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("MOBILELISTINGFORMAT"))
                    {
                        vo.MobileListingFormat = Utility.Util.GetValueOfString(dr[i]);
                    }
                    else if (columnName.Equals("MRSEQNO"))
                    {
                        if (dr[i] != null && dr[i] != DBNull.Value)
                        {
                            int mrseq = Util.GetValueOfInt(dr[i]);
                            if (mrseq >= 0)
                            {
                                vo.mrSeqNo = mrseq;
                            }
                        }
                    }

                    else if (columnName.Equals("ZOOMWINDOW_ID"))
                    {
                        vo.ZoomWindow_ID = Util.GetValueOfInt(dr[i]);
                    }

                    else if (columnName.Equals("ISLINK"))
                    {
                        vo.isLink = "Y".Equals(Util.GetValueOfString(dr[i]));
                    }

                    else if (columnName.Equals("ISRIGHTPANELINK"))
                    {
                        vo.isRightPaneLink = "Y".Equals(Util.GetValueOfString(dr[i]));
                    }

                    else if (columnName.Equals("ISCOPY"))
                    {
                        vo.IsCopy = "Y".Equals(Util.GetValueOfString(dr[i]));
                    }
                    else if (columnName.Equals("COLUMNWIDTH"))
                    {
                        vo.ColumnWidth = Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("ISBACKGROUNDPROCESS"))
                    {
                        vo.IsBackgroundProcess = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ASKUSERBGPROCESS"))
                    {
                        vo.AskUserBGProcess = "Y".Equals(dr[i].ToString());
                    }
                    /******************************/
                    else if (columnName.Equals("Isheaderpanelitem", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.IsHeaderPanelitem = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("Headeroverridereference", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.HeaderOverrideReference = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("HeaderStyle", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.HeaderStyle = dr[i].ToString();
                    }
                    else if (columnName.Equals("HeaderHeadingOnly", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.HeaderHeadingOnly = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("HeaderSeqno", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.HeaderSeqno = Utility.Util.GetValueOfDecimal(dr[i]);
                    }
                    else if (columnName.Equals("HeaderIconOnly", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.HeaderIconOnly = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("HtmlStyle", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.HtmlStyle = dr[i].ToString();
                    }
                    else if (columnName.Equals("ShowIcon", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.ShowIcon = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("AD_Image_ID", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.AD_Image_ID = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("PlaceHolder", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.PlaceHolder = Utility.Util.GetValueOfString(dr[i]);
                    }
                    else if (columnName.Equals("FontName", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.FontClass = Utility.Util.GetValueOfString(dr[i]);
                    }
                    else if (columnName.Equals("ImageUrl", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.ImageName = Utility.Util.GetValueOfString(dr[i]);
                        if (vo.ImageName != "" && vo.ImageName.Contains("/"))
                        {
                            vo.ImageName = vo.ImageName.Substring(vo.ImageName.LastIndexOf("/") + 1);
                        }
                    }
                    // new column added for maintain versions
                    else if (columnName.Equals("ISMAINTAINVERSIONS", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.IsMaintainVersions = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("CellSpace", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.CellSpace = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("FieldBreadth", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.FieldBreadth = Utility.Util.GetValueOfInt(dr[i]);
                    }
                    else if (columnName.Equals("IsLineBreak", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.LineBreak = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("FieldGroupDefault", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.FieldGroupDefault = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("ShowFilterOption", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.ShowFilterOption = "Y".Equals(dr[i].ToString());
                    }
                    else if (columnName.Equals("IsUnique", StringComparison.OrdinalIgnoreCase))
                    {
                        vo.IsUnique = "Y".Equals(dr[i].ToString());
                    }
                }
                if (vo.Header == null)
                {
                    vo.Header = vo.ColumnName;
                }
            }
            catch (Exception e)
            {
                VLogger.Get().Log(Level.SEVERE, "ColumnName=" + columnName, e);
                return(null);
            }
            vo.InitFinish();
            return(vo);
        }
Пример #32
0
 private PaymentSummary(IDataReader source)
 {
     CopyValues(source);
 }
 //IDataReaderListener
 public virtual void OnRequestedDeadlineMissed(IDataReader entityInterface, RequestedDeadlineMissedStatus status)
 {
 }
Пример #34
0
 public PdoResultResource(PdoConnectionResource connection, IDataReader reader, bool convertTypes)
     : base(connection, reader, nameof(PdoResultResource), convertTypes)
 {
 }
Пример #35
0
 protected override ResultResource GetResult(IDataReader reader, bool convertTypes)
 {
     return(new PdoResultResource(this, reader, convertTypes));
 }
Пример #36
0
 protected override short?ReadValue(IDataReader reader, int index)
 {
     return(reader.IsDBNull(index) ? (short?)null : reader.GetInt16(index));
 }
Пример #37
0
 protected override short ReadValue(IDataReader reader, int index)
 {
     return(reader.GetInt16(index));
 }
Пример #38
0
 public override object Get(IDataReader rs, int index)
 {
     return(new SqlByte(Convert.ToByte(rs[index])));
 }
Пример #39
0
 public override void Deserialize(IDataReader reader)
 {
     this.allowed = reader.ReadBoolean();
 }
Пример #40
0
 public static PaymentSummary Get(IDataReader source)
 {
     if (source == null) return null;
     return new PaymentSummary(source);
 }
Пример #41
0
 private static Guid GetMessageId(IDataReader dr)
 {
     return(Guid.Parse(dr.GetString(dr.GetOrdinal("MessageId"))));
 }
        IList <APMemberFeedbackEntity> IEntityBuilder <APMemberFeedbackEntity> .BuildEntities(IDataReader reader)
        {
            List <APMemberFeedbackEntity> APMemberFeedbackEntityList = new List <APMemberFeedbackEntity>();

            while (reader.Read())
            {
                APMemberFeedbackEntityList.Add(((IEntityBuilder <APMemberFeedbackEntity>) this).BuildEntity(reader));
            }

            return((APMemberFeedbackEntityList.Count > 0) ? APMemberFeedbackEntityList : null);
        }
Пример #43
0
 private static string GetTopic(IDataReader dr)
 {
     return(dr.GetString(dr.GetOrdinal("Topic")));
 }
Пример #44
0
 private static MessageType GetMessageType(IDataReader dr)
 {
     return((MessageType)Enum.Parse(typeof(MessageType), dr.GetString(dr.GetOrdinal("MessageType"))));
 }
 public override void Deserialize(IDataReader reader)
 {
 }
        private Concurso buscar(int? id)
        {
            Lotogol con = new Lotogol();

            try
            {
                using (cn)
                {
                    cn.Open();

                    using (IDataReader dr = cn.ExecuteReader("sp_buscaConcursoLotogol", new { @IdConcurso = id }, commandType: CommandType.StoredProcedure))
                    {
                        if (dr.Read())
                        {
                            con.ProximoConcurso = new ProximoConcurso();

                            con.ID = Convert.ToInt32(dr["idConcurso"]);
                            con.Data = Convert.ToDateTime(dr["data"]);
                            con.ValorAcumuladoFaixa1 = Convert.ToDecimal(dr["valorAcumulado1"]);
                            con.ValorAcumuladoFaixa2 = Convert.ToDecimal(dr["valorAcumulado2"]);
                            con.ArrecadacaoTotal = Convert.ToDecimal(dr["arrecadacaoTotal"]);
                            con.ProximoConcurso.Data = Convert.ToDateTime(dr["proximoConcursoData"]);
                            con.ProximoConcurso.ValorEstimado = Convert.ToDecimal(dr["proximoConcursoValorEstimado"]);
                        }
                    }

                    if (con.ID != 0)
                    {
                        using (IDataReader dr = cn.ExecuteReader("sp_buscaDezenasLotogol", new { @IdConcurso = con.ID }, commandType: CommandType.StoredProcedure))
                        {
                            con.Jogos = new List<JogoLotogol>();

                            while (dr.Read())
                            {
                                JogoLotogol jogo = new JogoLotogol()
                                {
                                    NumeroJogo = Convert.ToInt32(dr["jogo"]),
                                    Time1 = new JogoTimePadrao()
                                    {
                                        Time = Convert.ToString(dr["time1"]),
                                        Gols = Convert.ToByte(dr["gols1"]),
                                    },
                                    Time2 = new JogoTimePadrao()
                                    {
                                        Time = Convert.ToString(dr["time2"]),
                                        Gols = Convert.ToByte(dr["gols2"]),
                                    },
                                    DiaDaSemana = (Semana)Convert.ToInt32(dr["diaSemana"]),
                                };

                                con.Jogos.Add(jogo);
                            }
                        }

                        using (IDataReader dr = cn.ExecuteReader("sp_buscaPremiosLotogol", new { @IdConcurso = con.ID }, commandType: CommandType.StoredProcedure))
                        {
                            con.Premios = new List<PremioPadrao>();

                            while (dr.Read())
                            {
                                PremioPadrao premio = new PremioPadrao()
                                {
                                    Acertos = Convert.ToByte(dr["acertos"]),
                                    Ganhadores = Convert.ToInt32(dr["ganhadores"]),
                                    ValorPago = Convert.ToDecimal(dr["valorPago"])
                                };

                                con.Premios.Add(premio);
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return con;
        }
Пример #47
0
        private void Page_Load(object sender, System.EventArgs e)
        {
            SetPageTitle(L10n.Term("TaxRates.LBL_NAME"));
            // 06/04/2006 Paul.  Visibility is already controlled by the ASPX page, but it is probably a good idea to skip the load.
            this.Visible = SplendidCRM.Security.IS_ADMIN;
            if (!this.Visible)
            {
                return;
            }

            try
            {
                // 06/09/2006 Paul.  Remove data binding in the user controls.  Binding is required, but only do so in the ASPX pages.
                //Page.DataBind();  // 09/03/2005 Paul. DataBind is required in order for the RequiredFieldValidators to work.
                // 07/02/2006 Paul.  The required fields need to be bound manually.
                reqNAME.DataBind();
                reqVALUE.DataBind();
                reqLIST_ORDER.DataBind();
                gID = Sql.ToGuid(Request["ID"]);
                if (!IsPostBack)
                {
                    lstSTATUS.DataSource = SplendidCache.List("tax_rate_status_dom");
                    lstSTATUS.DataBind();
                    if (!Sql.IsEmptyGuid(gID))
                    {
                        DbProviderFactory dbf = DbProviderFactories.GetFactory();
                        using (IDbConnection con = dbf.CreateConnection())
                        {
                            string sSQL;
                            sSQL = "select *          " + ControlChars.CrLf
                                   + "  from vwTAX_RATES" + ControlChars.CrLf
                                   + " where ID = @ID   " + ControlChars.CrLf;
                            using (IDbCommand cmd = con.CreateCommand())
                            {
                                cmd.CommandText = sSQL;
                                Sql.AddParameter(cmd, "@ID", gID);
                                con.Open();

                                if (bDebug)
                                {
                                    RegisterClientScriptBlock("SQLCode", Sql.ClientScriptBlock(cmd));
                                }

                                using (IDataReader rdr = cmd.ExecuteReader(CommandBehavior.SingleRow))
                                {
                                    if (rdr.Read())
                                    {
                                        txtNAME.Text        = Sql.ToString(rdr["NAME"]);
                                        ctlListHeader.Title = L10n.Term("TaxRates.LBL_NAME") + " " + txtNAME.Text;
                                        txtVALUE.Text       = Sql.ToFloat(rdr["VALUE"]).ToString("#.##");
                                        txtLIST_ORDER.Text  = Sql.ToString(rdr["LIST_ORDER"]);
                                        try
                                        {
                                            lstSTATUS.SelectedValue = Sql.ToString(rdr["STATUS"]);
                                        }
                                        catch
                                        {
                                        }
                                    }
                                }
                            }
                        }
                    }
                    else
                    {
                        // 07/14/2007 Paul.  Provide a default list order.
                        DbProviderFactory dbf = DbProviderFactories.GetFactory();
                        using (IDbConnection con = dbf.CreateConnection())
                        {
                            string sSQL;
                            sSQL = "select max(LIST_ORDER) " + ControlChars.CrLf
                                   + "  from vwTAX_RATES     " + ControlChars.CrLf;
                            using (IDbCommand cmd = con.CreateCommand())
                            {
                                cmd.CommandText = sSQL;
                                con.Open();
                                txtLIST_ORDER.Text = (Sql.ToInteger(cmd.ExecuteScalar()) + 1).ToString();
                            }
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                SplendidError.SystemError(new StackTrace(true).GetFrame(0), ex);
                lblError.Text = ex.Message;
            }
        }
 public void Deserialize(IDataReader reader)
 {
     join = reader.ReadBoolean();
 }
Пример #49
0
 public virtual IEnumerable <TEntity> Map <TEntity>(IDataReader reader)
     where TEntity : class, new()
 {
     return(MapList <TEntity>(reader));
 }
Пример #50
0
        //used by GkINIFileHelper
        public IPAddressViewRow[] GetAllOriginationIPAddressViews(Status[] pStatuses)
        {
            /*
             * SELECT
             * IPAddressView.IP_address,
             * IPAddressView.dot_IP_address,
             * IPAddressView.end_point_id,
             * IPAddressView.alias,
             * IPAddressView.with_alias_authentication,
             * IPAddressView.status,
             * IPAddressView.type,
             * IPAddressView.protocol,
             * IPAddressView.port,
             * IPAddressView.registration,
             * IPAddressView.is_registered,
             * IPAddressView.IP_address_range,
             * IPAddressView.max_calls,
             * IPAddressView.password,
             * IPAddressView.prefix_in_type_id,
             * IPAddressView.prefix_type_descr,
             * IPAddressView.prefix_length,
             * IPAddressView.prefix_delimiter
             *
             * FROM  IPAddressView INNER JOIN DialPeer ON
             * IPAddressView.end_point_id = DialPeer.end_point_id
             *
             * GROUP BY
             * IPAddressView.IP_address,
             * IPAddressView.dot_IP_address,
             * IPAddressView.end_point_id,
             * IPAddressView.alias,
             * IPAddressView.with_alias_authentication,
             * IPAddressView.status,
             * IPAddressView.type,
             * IPAddressView.protocol,
             * IPAddressView.port,
             * IPAddressView.registration,
             * IPAddressView.is_registered,
             * IPAddressView.IP_address_range,
             * IPAddressView.max_calls,
             * IPAddressView.password,
             * IPAddressView.prefix_in_type_id,
             * IPAddressView.prefix_type_descr,
             * IPAddressView.prefix_length,
             * IPAddressView.prefix_delimiter
             *
             * ORDER BY IPAddressView.dot_IP_address
             */
            string _epStatusFilter = base.Database.CreateStatusFilter(pStatuses);
            string _sqlStr         =
                "SELECT " +
                "IPAddressView.IP_address,  " +
                "IPAddressView.dot_IP_address,  " +
                "IPAddressView.end_point_id,  " +
                "IPAddressView.alias,  " +
                "IPAddressView.with_alias_authentication,  " +
                "IPAddressView.status,  " +
                "IPAddressView.type,  " +
                "IPAddressView.protocol,  " +
                "IPAddressView.port,  " +
                "IPAddressView.registration,  " +
                "IPAddressView.is_registered,  " +
                "IPAddressView.IP_address_range,  " +
                "IPAddressView.max_calls,  " +
                "IPAddressView.password,  " +
                "IPAddressView.prefix_in_type_id,  " +
                "IPAddressView.prefix_type_descr,  " +
                "IPAddressView.prefix_length,  " +
                "IPAddressView.prefix_delimiter " +

                "FROM  IPAddressView INNER JOIN DialPeer ON  " +
                "IPAddressView.end_point_id = DialPeer.end_point_id " +

                "WHERE (" + _epStatusFilter + ") " +

                "GROUP BY  " +
                "IPAddressView.IP_address,  " +
                "IPAddressView.dot_IP_address,  " +
                "IPAddressView.end_point_id,  " +
                "IPAddressView.alias,  " +
                "IPAddressView.with_alias_authentication,  " +
                "IPAddressView.status,  " +
                "IPAddressView.type,  " +
                "IPAddressView.protocol,  " +
                "IPAddressView.port,  " +
                "IPAddressView.registration,  " +
                "IPAddressView.is_registered,  " +
                "IPAddressView.IP_address_range,  " +
                "IPAddressView.max_calls,  " +
                "IPAddressView.password,  " +
                "IPAddressView.prefix_in_type_id,  " +
                "IPAddressView.prefix_type_descr,  " +
                "IPAddressView.prefix_length,  " +
                "IPAddressView.prefix_delimiter " +

                "ORDER BY IPAddressView.dot_IP_address ";


            ArrayList  _list = new ArrayList();
            IDbCommand _cmd  = Database.CreateCommand(_sqlStr);

            using (IDataReader _reader = _cmd.ExecuteReader()) {
                _list.AddRange(MapRecords(_reader));
            }
            return((IPAddressViewRow[])_list.ToArray(typeof(IPAddressViewRow)));
        }
Пример #51
0
        private ScriptExecutionResult CheckStateAndRead(IDataReader reader = null)
        {
            ScriptExecutionResult result = ScriptExecutionResult.Success;

            if (!isResultExpected)
            {
                lock (this)
                {
                    if (state == BatchState.Cancelling)
                    {
                        result = ScriptExecutionResult.Cancel;
                    }
                    else
                    {
                        result = ScriptExecutionResult.Success;
                        state  = BatchState.Executed;
                    }
                }
            }
            else
            {
                lock (this)
                {
                    if (state == BatchState.Cancelling)
                    {
                        result = ScriptExecutionResult.Cancel;
                    }
                    else
                    {
                        state = BatchState.ProcessingResults;
                    }
                }

                if (result != ScriptExecutionResult.Cancel)
                {
                    ScriptExecutionResult batchExecutionResult = ScriptExecutionResult.Success;

                    if (reader != null)
                    {
                        bool hasNextResult = false;
                        do
                        {
                            // if there were no results coming from the server, then the FieldCount is 0
                            if (reader.FieldCount <= 0)
                            {
                                hasNextResult = reader.NextResult();
                                continue;
                            }

                            batchExecutionResult = ProcessResultSet(reader);

                            if (batchExecutionResult != ScriptExecutionResult.Success)
                            {
                                result = batchExecutionResult;
                                break;
                            }

                            RaiseBatchResultSetFinished();

                            hasNextResult = reader.NextResult();
                        } while (hasNextResult);
                    }

                    if (hasErrors)
                    {
                        Debug.WriteLine("DoBatchExecution: successfull processed result set, but there were errors shown to the user");
                        result = ScriptExecutionResult.Failure;
                    }

                    if (result != ScriptExecutionResult.Cancel)
                    {
                        lock (this)
                        {
                            state = BatchState.Executed;
                        }
                    }
                }
            }

            if (reader != null)
            {
                try
                {
                    // reader.Close() doesn't actually close the reader
                    // so explicitly dispose the reader
                    reader.Dispose();
                    reader = null;
                }
                catch (OutOfMemoryException)
                {
                    throw;
                }
                catch (SqlException)
                {
                    // nothing
                }
            }

            return(result);
        }
 protected DbDataReader Unwrap(IDataReader reader)
 {
     return((DbDataReader)reader);
 }
Пример #53
0
 public override void Deserialize(IDataReader reader)
 {
     base.Deserialize(reader);
     Alliance = new BasicAllianceInformations();
     Alliance.Deserialize(reader);
 }
 public override Task <bool> ReadAsync(IDataReader reader, CancellationToken token = default(CancellationToken))
 {
     return(Unwrap(reader).ReadAsync(token));
 }
Пример #55
0
        public TLEntity MapEntityList <TLEntity, T>(IDataReader reader)
            where TLEntity : List <T>, new()
            where T : class, new()
        {
            var list = new TLEntity();

            EntityMapperDefinition <T> entityMapper;

            var fullTypeName = typeof(T).FullName;

            if (EntityMapperDefinitions.ContainsKey(fullTypeName))
            {
                entityMapper = (EntityMapperDefinition <T>)EntityMapperDefinitions[fullTypeName];
            }
            else
            {
                entityMapper =
                    new EntityMapperDefinition <T> {
                    Activator = EntityActivator.GetActivator <T>()
                };

                foreach (var propertyInfo in typeof(T).GetProperties())
                {
                    entityMapper.PropertySetters.Add(propertyInfo.Name, BuildUntypedSetter <T>(propertyInfo));
                    entityMapper.ColumnTypeMappings.Add(propertyInfo.Name, propertyInfo.PropertyType);
                }

                EntityMapperDefinitions.Add(fullTypeName, entityMapper);
            }

            var isFirst             = true;
            var mappingInstructions = new Func <IDataReader, T, T> [reader.FieldCount];

            while (reader.Read())
            {
                var entity = entityMapper.Activator();

                if (isFirst)
                {
                    isFirst = false;

                    for (var i = 0; i < reader.FieldCount; i++)
                    {
                        var columnName = reader.GetName(i);

                        if (!entityMapper.PropertySetters.ContainsKey(columnName))
                        {
                            continue;
                        }

                        var propertySetter = entityMapper.PropertySetters[columnName];

                        var fieldIndex = i;

                        if (entityMapper.ColumnTypeMappings.ContainsKey(columnName))
                        {
                            var dataType = entityMapper.ColumnTypeMappings[columnName];

                            if (dataType == typeof(decimal))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetDecimal(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(decimal?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetDecimal(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(string))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetString(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(short))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetInt16(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(short?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetInt16(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(int))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetInt32(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(int?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetInt32(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(long))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetInt64(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(long?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetInt64(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(DateTime))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetDateTime(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(DateTime?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetDateTime(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(double))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetDouble(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(double?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetDouble(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(bool))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetBoolean(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(bool?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetBoolean(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(byte))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetByte(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(byte?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetByte(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(float))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    propertySetter(e, reader.GetFloat(fieldIndex));
                                    return(e);
                                };
                            }
                            else if (dataType == typeof(float?))
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetFloat(fieldIndex));
                                    return(e);
                                };
                            }
                            else
                            {
                                mappingInstructions[i] = (dataReader, e) =>
                                {
                                    if (reader.IsDBNull(fieldIndex))
                                    {
                                        return(e);
                                    }

                                    propertySetter(e, reader.GetValue(fieldIndex));
                                    return(e);
                                };
                            }
                        }
                        else
                        {
                            mappingInstructions[i] = (dataReader, e) =>
                            {
                                if (reader.IsDBNull(fieldIndex))
                                {
                                    return(e);
                                }

                                propertySetter(e, reader.GetValue(fieldIndex));
                                return(e);
                            };
                        }
                    }
                }

                foreach (var mappingInstruction in mappingInstructions)
                {
                    mappingInstruction?.Invoke(reader, entity);
                }

                list.Add(entity);
            }
            return(list);
        }
Пример #56
0
        public Aggregation Query()
        {
            DateTime t = DateTime.Now;

            int         attrLen = Attributes.Length;
            int         ceiling = attrLen - 1;
            int         mLen    = Measures.Length;
            Aggregation agg     = new Aggregation(Attributes, Measures);

            IDataReader reader = null;

            try
            {
                int rowIndex = 0;
                reader = ExecuteReader(GetSql(null));
                while (reader.Read())
                {
                    AttributeMember[] tuple = new AttributeMember[attrLen];
                    for (int i = 0; i < attrLen; i++)
                    {
                        tuple[i] = (AttributeMember)Attributes[i].Levels[1].Members[reader[i]];
                    }
                    if (rowIndex > 0)
                    {
                        AddTotals(tuple, ref rowIndex);
                    }
                    agg.Tuples.Add(tuple);

                    int index = attrLen;
                    for (int i = 0; i < mLen; i++)
                    {
                        agg.Values[i].Values.Add(reader[index]);
                        index++;
                    }
                    rowIndex++;
                }
                AddTotals(new AttributeMember[attrLen], ref rowIndex);
                BuildIndexTree();

                agg.QueryTime = (DateTime.Now - t).TotalMilliseconds;
                return(agg);
            }
            finally
            {
                CloseReader(reader);
            }

            void AddTotals(AttributeMember[] tuple, ref int ri)
            {
                AttributeMember[] last = agg.Tuples.Last();
                for (int i = tuple.Length - 2; i >= 0; i--)
                {
                    if (tuple[i] != last[i])
                    {
                        AttributeMember[] total = (AttributeMember[])last.Clone();
                        for (int j = i + 1; j < attrLen; j++)
                        {
                            Attribute attr = last[j].Attribute;
                            //Member tm = new Member(attr.Dimension.AttributeAllMemberName);
                            //tm.IsTotal = true;
                            //tm.Attribute = attr;
                            total[j] = (AttributeMember)attr.AllMember;
                        }
                        agg.Tuples.Add(total);
                        agg.TotalIndices.Add(ri);

                        int index = attrLen;
                        for (int j = 0; j < mLen; j++)
                        {
                            agg.Values[j].Values.Add(0);
                            index++;
                        }
                        ri++;
                    }
                }
            }

            void BuildIndexTree()
            {
                IndexTreeNode[] currNodes = new IndexTreeNode[attrLen];
                for (int i = 0; i < agg.Tuples.Count; i++)
                {
                    bool changed = false;
                    for (int j = 0; j < attrLen; j++)
                    {
                        AttributeMember member = agg.Tuples[i][j];

                        // Transfers flat columns to IndexTree structure
                        // currNode == 1 => first pass
                        // currNode.Member != member => current member is different from the previous row
                        // changed => any previous columns is different from the previous row
                        IndexTreeNode currNode = currNodes[j];
                        if (currNode == null || currNode.Member != member || changed)
                        {
                            changed = true;
                            // Only leaf nodes hold row index
                            IndexTreeNode n = new IndexTreeNode(member);
                            if (j == 0)
                            {
                                agg.IndexTree.Nodes.Add(n);
                                if (attrLen == 1)
                                {
                                    n.Index = i;
                                }
                            }
                            else
                            {
                                currNodes[j - 1].Children.Add(n);
                                if (j == ceiling)
                                {
                                    n.Index = i;
                                }
                            }
                            currNodes[j] = n;
                        }
                    }
                }
            }
        }
Пример #57
0
        public override ValueObject Execute(TransactionContext trxContext, ValueObject arg)
        {
            MoldVo inVo = (MoldVo)arg;

            StringBuilder sqlQuery = new StringBuilder();

            sqlQuery.Append("Select md.mold_id, md.mold_cd, md.mold_name, mt.mold_type_id, mt.mold_type_cd, ");
            sqlQuery.Append(" md.width , md.depth , md.height , md.weight , ");
            sqlQuery.Append(" md.production_date_time , md.life_shot_count, ");
            sqlQuery.Append(" md.comment ");
            sqlQuery.Append(" from m_mold md ");
            sqlQuery.Append("left join m_mold_type mt on md.mold_type_id = mt.mold_type_id ");
            sqlQuery.Append(" where md.factory_cd = :faccd ");

            if (inVo.MoldId > 0)
            {
                sqlQuery.Append(" and md.mold_id = :moldid ");
            }

            if (inVo.MoldCode != null)
            {
                sqlQuery.Append(" and md.mold_cd like :moldcd ");
            }

            if (inVo.MoldName != null)
            {
                sqlQuery.Append(" and md.mold_name like :moldname ");
            }

            if (inVo.MoldTypeId != 0)
            {
                sqlQuery.Append(" and mt.mold_type_id = :moldtypeid ");
            }

            sqlQuery.Append(" order by md.mold_cd");

            //create command
            DbCommandAdaptor sqlCommandAdapter = base.GetDbCommandAdaptor(trxContext, sqlQuery.ToString());

            //create parameter
            DbParameterList sqlParameter = sqlCommandAdapter.CreateParameterList();

            if (!string.IsNullOrEmpty(inVo.FactoryCode))
            {
                sqlParameter.AddParameterString("faccd", inVo.FactoryCode);
            }
            else
            {
                sqlParameter.AddParameterString("faccd", UserData.GetUserData().FactoryCode);
            }

            if (inVo.MoldId != 0)
            {
                sqlParameter.AddParameterInteger("moldid", inVo.MoldId);
            }

            if (inVo.MoldCode != null)
            {
                sqlParameter.AddParameterString("moldcd", inVo.MoldCode + "%");
            }

            if (inVo.MoldName != null)
            {
                sqlParameter.AddParameterString("moldname", inVo.MoldName + "%");
            }
            if (inVo.MoldTypeId != 0)
            {
                sqlParameter.AddParameterInteger("moldtypeid", inVo.MoldTypeId);
            }

            //execute SQL
            IDataReader dataReader = sqlCommandAdapter.ExecuteReader(trxContext, sqlParameter);

            MoldVo outVo = new MoldVo();

            while (dataReader.Read())
            {
                MoldVo currOutVo = new MoldVo();

                currOutVo.MoldId         = ConvertDBNull <Int32>(dataReader, "mold_id");
                currOutVo.MoldCode       = ConvertDBNull <string>(dataReader, "mold_cd");
                currOutVo.MoldName       = ConvertDBNull <string>(dataReader, "mold_name");
                currOutVo.MoldTypeId     = ConvertDBNull <Int32>(dataReader, "mold_type_id");
                currOutVo.MoldTypeCode   = ConvertDBNull <string>(dataReader, "mold_type_cd");
                currOutVo.Width          = ConvertDBNull <decimal>(dataReader, "width");
                currOutVo.Depth          = ConvertDBNull <decimal>(dataReader, "depth");
                currOutVo.Height         = ConvertDBNull <decimal>(dataReader, "height");
                currOutVo.Weight         = ConvertDBNull <decimal>(dataReader, "weight");
                currOutVo.ProductionDate = ConvertDBNull <DateTime>(dataReader, "production_date_time");
                currOutVo.Comment        = ConvertDBNull <string>(dataReader, "comment");
                currOutVo.LifeShotCount  = ConvertDBNull <Int32>(dataReader, "life_shot_count");

                outVo.MoldListVo.Add(currOutVo);
            }

            dataReader.Close();

            return(outVo);
        }
Пример #58
0
        private bool ShowRecord(long Id)
        {
            IDataReader drdShowRecord = null;
            IDataReader reader        = null;

            try
            {
                // SQL Query
                strSQL = @"SELECT TRN_INVOICE_HEADER.INVOICE_HEADER_ID      AS INVOICE_HEADER_ID,              
                              TRN_INVOICE_HEADER.INVOICE_NO                 AS INVOICE_NO,
                              " + cmnService.J_SQLDBFormat("TRN_INVOICE_HEADER.INVOICE_DATE", J_SQLColFormat.DateFormatDDMMYYYY) + @"  AS INVOICE_DATE, 
                              " + cmnService.J_SQLDBFormat("MST_PARTY.PARTY_NAME", J_ColumnType.String, J_SQLColFormat.NullCheck) + @" AS PARTY_NAME,
                              " + cmnService.J_SQLDBFormat("MST_PARTY.PARTY_ID", J_ColumnType.Long, J_SQLColFormat.NullCheck) + @"     AS PARTY_ID,
                              MST_PARTY_CATEGORY.PARTY_CATEGORY_DESCRIPTION AS PARTY_CATEGORY_DESCRIPTION,
                              TRN_INVOICE_HEADER.NET_AMOUNT                 AS NET_AMOUNT,
                              MST_PAYMENT_TYPE.PAYMENT_TYPE_DESCRIPTION     AS PAYMENT_TYPE_DESCRIPTION,
                              MST_BANK.BANK_NAME                            AS BANK_NAME,
                              TRN_INVOICE_HEADER.REFERENCE_NO               AS REFERENCE_NO,
                              " + cmnService.J_SQLDBFormat(cmnService.J_SQLDBFormat("TRN_INVOICE_HEADER.ACCOUNT_ENTRY_DATE", J_SQLColFormat.DateFormatDDMMYYYY), J_ColumnType.String, J_SQLColFormat.NullCheck) + @" AS ACCOUNT_ENTRY_DATE, 
                              " + cmnService.J_SQLDBFormat(cmnService.J_SQLDBFormat("TRN_INVOICE_HEADER.BANK_STATEMENT_DATE", J_SQLColFormat.DateFormatDDMMYYYY), J_ColumnType.String, J_SQLColFormat.NullCheck) + @" AS BANK_STATEMENT_DATE,
                              DELIVERY_MODE_ID
                       FROM   ((((TRN_INVOICE_HEADER
                       LEFT JOIN MST_PARTY 
                               ON TRN_INVOICE_HEADER.PARTY_ID        = MST_PARTY.PARTY_ID)
                       LEFT JOIN MST_PARTY_CATEGORY 
                               ON MST_PARTY.PARTY_CATEGORY_ID        = MST_PARTY_CATEGORY.PARTY_CATEGORY_ID)
                       LEFT JOIN MST_PAYMENT_TYPE
                               ON TRN_INVOICE_HEADER.PAYMENT_TYPE_ID = MST_PAYMENT_TYPE.PAYMENT_TYPE_ID)
                       LEFT JOIN MST_BANK
                               ON TRN_INVOICE_HEADER.BANK_ID         = MST_BANK.BANK_ID)
                       WHERE  TRN_INVOICE_HEADER.INVOICE_HEADER_ID = " + Id;

                drdShowRecord = dmlService.J_ExecSqlReturnReader(strSQL);
                if (drdShowRecord == null)
                {
                    return(false);
                }

                while (drdShowRecord.Read())
                {
                    lngSearchId = Id;

                    mskAccountEntryDate.Text = Convert.ToString(drdShowRecord["ACCOUNT_ENTRY_DATE"]);
                    mskBankDate.Text         = Convert.ToString(drdShowRecord["BANK_STATEMENT_DATE"]);

                    lngPartyId = Convert.ToInt64(drdShowRecord["PARTY_ID"].ToString());

                    lblInvoiceNo.Text   = drdShowRecord["INVOICE_NO"].ToString();
                    lblInvoiceDate.Text = drdShowRecord["INVOICE_DATE"].ToString();
                    lblPartyName.Text   = drdShowRecord["PARTY_NAME"].ToString();

                    cmbPartyCategory.Text = drdShowRecord["PARTY_CATEGORY_DESCRIPTION"].ToString();

                    lblAmount.Text = string.Format("{0:0.00}", Convert.ToDouble(drdShowRecord["NET_AMOUNT"].ToString()));

                    cmbPaymentType.Text = drdShowRecord["PAYMENT_TYPE_DESCRIPTION"].ToString();
                    cmbBank.Text        = drdShowRecord["BANK_NAME"].ToString();
                    txtReference.Text   = drdShowRecord["REFERENCE_NO"].ToString();
                    //
                    if (lngPartyId == 0)
                    {
                        cmbPartyCategory.Visible = false;
                        lblPartyCategory.Visible = false;
                    }
                    else
                    {
                        cmbPartyCategory.Visible = true;
                        lblPartyCategory.Visible = true;
                    }
                    //
                    if (drdShowRecord["DELIVERY_MODE_ID"].ToString() == "1")
                    {
                        cmbPartyCategory.Enabled = false;
                        cmbPaymentType.Enabled   = false;
                        txtReference.Enabled     = false;
                        cmbBank.Enabled          = false;
                    }
                    else
                    {
                        cmbPartyCategory.Enabled = true;
                        cmbPaymentType.Enabled   = true;
                        txtReference.Enabled     = true;
                        cmbBank.Enabled          = true;
                    }
                    drdShowRecord.Close();
                    drdShowRecord.Dispose();

                    return(true);
                }
                drdShowRecord.Close();
                drdShowRecord.Dispose();



                cmnService.J_UserMessage(J_Msg.RecNotExist);

                if (dsetGridClone != null)
                {
                    dsetGridClone.Clear();
                }
                dsetGridClone = dmlService.J_ShowDataInGrid(ref ViewGrid, strSQL, strMatrix);       //Show Data into the Grid

                return(false);
            }
            catch (Exception err_handler)
            {
                drdShowRecord.Close();
                drdShowRecord.Dispose();

                cmnService.J_UserMessage(err_handler.Message);
                return(false);
            }
        }
Пример #59
0
 public virtual void Prepare(IDataReader reader)
 {
 }
Пример #60
0
        public async void EquipItem(object sender, RoutedEventArgs e)
        {
            String errorMessage = "Unable to equip item, insufficient values:";
            Boolean isOpen = false;

            if (ViewModel.Db.CurrentCharacter.Strength < ViewModel.SelectedItem.Strength)
            {
                int value = ViewModel.SelectedItem.Strength - ViewModel.Db.CurrentCharacter.Strength;
                errorMessage += "\n Strength must be increased " + value + " levels.";

                isOpen = true;
            }
            if (ViewModel.Db.CurrentCharacter.Stamina < ViewModel.SelectedItem.Stamina)
            {
                int value = ViewModel.SelectedItem.Stamina - ViewModel.Db.CurrentCharacter.Stamina;
                errorMessage += "\n Stamina must be increased " + value + " levels.";

                isOpen = true;
            }
            if (ViewModel.Db.CurrentCharacter.Constitution < ViewModel.SelectedItem.Constitution)
            {
                int value = ViewModel.SelectedItem.Constitution - ViewModel.Db.CurrentCharacter.Constitution;
                errorMessage += "\n Constitution must be increased " + value + " levels.";
                isOpen = true;
            }
            if (ViewModel.Db.CurrentCharacter.Dexterity < ViewModel.SelectedItem.Dexterity)
            {
                int value = ViewModel.SelectedItem.Dexterity - ViewModel.Db.CurrentCharacter.Dexterity;
                errorMessage += "\n Dexterity must be increased " + value + " levels.";
                isOpen = true;
            }
            if (ViewModel.Db.CurrentCharacter.Wisdom < ViewModel.SelectedItem.Wisdom)
            {
                int value = ViewModel.SelectedItem.Wisdom - ViewModel.Db.CurrentCharacter.Wisdom;
                errorMessage += "\n Wisdom must be increased " + value + " levels.";
                isOpen = true;
            }
            if (ViewModel.Db.CurrentCharacter.Intelligence < ViewModel.SelectedItem.Intelligence)
            {
                int value = ViewModel.SelectedItem.Intelligence - ViewModel.Db.CurrentCharacter.Intelligence;
                errorMessage += "\n Intelligence must be increased " + value + " levels.";
                isOpen = true;
            }
            if (ViewModel.Db.CurrentCharacter.Charisma < ViewModel.SelectedItem.Charisma)
            {
                int value = ViewModel.SelectedItem.Charisma - ViewModel.Db.CurrentCharacter.Charisma;
                errorMessage += "\n Charisma must be increased " + value + " levels.";
                isOpen = true;
            }

            if (isOpen)
            {
                ContentDialog errorDialog = new ContentDialog()
                {
                    Title = "Insufficient Stats",
                    Content = errorMessage,
                    CloseButtonText = "Ok"
                };

                await errorDialog.ShowAsync();
            }
            else
            {
                
                Item newItem = (Item)(sender as FrameworkElement).DataContext;
                App.Database.CurrentCharacter.EquipItem(newItem);
                App.Database.SaveCharacterAsync(App.Database.CurrentCharacter);

                string sqlQuery = "";

                if (ViewModel.SelectedItem.Type == Models.ItemType.WEAPON)
                {
                    sqlQuery = "SELECT Id, Title FROM Item WHERE Equipped = true AND Type = 0";
                }

                if (ViewModel.SelectedItem.Type == Models.ItemType.ARMOR)
                {
                    sqlQuery = "SELECT Id, Title FROM Item WHERE Equipped = true AND Type = 2";
                }

                if (ViewModel.SelectedItem.Type == Models.ItemType.POTION)
                {
                    sqlQuery = "SELECT Id, Title FROM Item WHERE Equipped = true AND Type = 1";
                }

                string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "QuestArc.db3");
                using (var dbConnection = new System.Data.SQLite.SQLiteConnection("Data Source = " + path))
                {
                    using (var dbcmd = new System.Data.SQLite.SQLiteCommand())
                    {
                        dbConnection.Open();
                        dbcmd.Connection = dbConnection;

                        dbcmd.CommandText = sqlQuery;
                        IDataReader reader = dbcmd.ExecuteReader();

                        string equippedId = null;
                        string title = "";

                        while (reader.Read())
                        {
                            equippedId = reader["Id"].ToString();
                            title = reader["Title"].ToString();
                        }

                        reader.Close();

                        if (!newItem.Title.Equals(title))
                        {
                            if (equippedId != null)
                            {
                                dbcmd.Parameters.AddWithValue("@id", equippedId);
                                int end = title.IndexOf("-");
                                dbcmd.Parameters.AddWithValue("@title", title.Substring(0, end));
                                dbcmd.CommandText = @"UPDATE Item SET Equipped = false WHERE Id = @id";
                                dbcmd.ExecuteNonQuery();
                                dbcmd.CommandText = @"UPDATE Item SET Title = @title WHERE Id = @Id";
                                dbcmd.ExecuteNonQuery();
                            }

                            title = newItem.Title + "- Equipped";
                            dbcmd.Parameters.AddWithValue("@description", newItem.Description);
                            dbcmd.Parameters.AddWithValue("@title", title);
                            dbcmd.CommandText = @"UPDATE Item SET Equipped = true WHERE Description = @description";
                            dbcmd.ExecuteNonQuery();
                            dbcmd.CommandText = @"UPDATE Item SET Title = @title WHERE Description = @description";
                            dbcmd.ExecuteNonQuery();
                        }
                        dbConnection.Close();
                    }
                    ViewModel.UpdateView();
                    this.Bindings.Update();
                }
            }
        }