Ejemplo n.º 1
0
        public string BuildSelectQuery(MySqlCommand cmd)
        {
            StringBuilder SelectBuilder = new StringBuilder("select * from `gaminginv`.`owner` where ");
            List <int>    PlaceHolder   = new List <int>();

            if (!IDName.Equals(string.Empty))
            {
                PlaceHolder.Add(1);
            }
            if (!PhoneNumber.Equals(string.Empty))
            {
                PlaceHolder.Add(2);
            }
            if (!EmailAddress.Equals(string.Empty))
            {
                PlaceHolder.Add(3);
            }
            if (!BadgeName.Equals(string.Empty))
            {
                PlaceHolder.Add(4);
            }
            if (OwnerID > 0)
            {
                PlaceHolder.Add(5);
            }
            for (int i = 0; i < PlaceHolder.Count - 1; i++)
            {
                switch (PlaceHolder.ElementAt(i))
                {
                case 1:
                    SelectBuilder.Append("`Name` like %" + "@NameParam" + "% + and ");
                    cmd.Parameters.AddWithValue("@NameParam", IDName.ToLower());
                    break;

                case 2:
                    SelectBuilder.Append("`Phone` = @PhoneParam and ");
                    cmd.Parameters.AddWithValue("@PhoneParam", PhoneNumber);
                    break;

                case 3:
                    SelectBuilder.Append("`Email` like %" + "@EmailParam" + "% and ");
                    cmd.Parameters.AddWithValue("@EmailParam", EmailAddress.ToLower());
                    break;

                case 4:
                    SelectBuilder.Append("`BadgeName` like %" + "@BadgeParam" + "% and ");
                    cmd.Parameters.AddWithValue("@BadgeParam", BadgeName.ToLower());
                    break;

                case 5:
                    SelectBuilder.Append("`ID` = @IDParam and ");
                    cmd.Parameters.AddWithValue("@IDParam", OwnerID);
                    break;
                }
            }
            switch (PlaceHolder.Last())
            {
            case 1:
                SelectBuilder.Append("`Name` like %" + "@NameParam" + '%');
                cmd.Parameters.AddWithValue("@NameParam", IDName.ToLower());
                break;

            case 2:
                SelectBuilder.Append("`Phone` = @PhoneParam");
                cmd.Parameters.AddWithValue("@PhoneParam", PhoneNumber);
                break;

            case 3:
                SelectBuilder.Append("`Email` like %" + "@EmailParam" + '%');
                cmd.Parameters.AddWithValue("@EmailParam", EmailAddress.ToLower());
                break;

            case 4:
                SelectBuilder.Append("`BadgeName` = @BadgeParam");
                cmd.Parameters.AddWithValue("@BadgeParam", BadgeName.ToLower());
                break;

            case 5:
                SelectBuilder.Append("`ID` = @IDParam");
                cmd.Parameters.AddWithValue("@IDParam", OwnerID);
                break;
            }
            SelectBuilder.Append(';');
            return(SelectBuilder.ToString());
        }