예제 #1
0
        public List <SiegeDefenseDeck> ListarDefenseDecks(long idSiege)
        {
            List <SiegeDefenseDeck> objRetorno = new List <SiegeDefenseDeck>();

            SqlConnection conexao = new SqlConnection();
            SqlCommand    command = new SqlCommand();

            conexao.ConnectionString = BLO.Conexao.ObterStringConexao2();

            StringBuilder select = new StringBuilder();

            select.AppendLine("SET DATEFORMAT dmy; ");
            select.AppendLine("SELECT a.ID, a.IDDECK, a.IDSIEGE, a.IDPLAYER, a.IDGUILD, b.idsiege codsiege,b.idmatch ");
            select.AppendLine("FROM DBO.SIEGEDEFENSEDECK a ");
            select.AppendLine("inner join dbo.Siege b on b.id = a.IdSiege ");
            select.AppendLine("where a.IDSIEGE = @idSiege ");

            command.Parameters.Add(new SqlParameter("@idSiege", System.Data.SqlDbType.BigInt));
            command.Parameters["@idSiege"].Value = idSiege;

            command.CommandText = select.ToString();
            command.CommandType = System.Data.CommandType.Text;

            conexao.Open();
            command.Connection = conexao;
            SqlDataReader reader = command.ExecuteReader();

            SiegeDefenseDeck objDefense;

            while (reader.Read())
            {
                objDefense          = new SiegeDefenseDeck();
                objDefense.Id       = long.Parse(reader["ID"].ToString());
                objDefense.IdDeck   = long.Parse(reader["IDDECK"].ToString());
                objDefense.IdGuild  = long.Parse(reader["IDGUILD"].ToString());
                objDefense.IdPlayer = long.Parse(reader["IDPLAYER"].ToString());
                objDefense.IdSiege  = long.Parse(reader["IDSIEGE"].ToString());

                objDefense.Siege = new Siege()
                {
                    Id      = long.Parse(reader["IDSIEGE"].ToString()),
                    IdSiege = long.Parse(reader["codsiege"].ToString()),
                    IdMatch = long.Parse(reader["idmatch"].ToString())
                };

                objRetorno.Add(objDefense);
            }

            conexao.Close();
            conexao.Dispose();

            return(objRetorno);
        }
예제 #2
0
        public void InsertDefenseDeck(SiegeDefenseDeck obj)
        {
            SqlConnection conexao = new SqlConnection();
            SqlCommand    command = new SqlCommand();

            conexao.ConnectionString = BLO.Conexao.ObterStringConexao2();

            StringBuilder select = new StringBuilder();

            select.AppendLine("SET DATEFORMAT dmy;");
            select.AppendLine("MERGE DBO.SiegeDefenseDeck AS TARGET ");
            select.AppendLine("USING(SELECT @IdDeck AS IdDeck, @IdSiege as IdSiege, @IdPlayer as IdPlayer, @IdGuild as IdGuild) AS SOURCE ");
            select.AppendLine("ON TARGET.IdDeck = SOURCE.IdDeck and ");
            select.AppendLine("Target.IdSiege = SOURCE.IdSiege and ");
            select.AppendLine("Target.IdPlayer = SOURCE.IdPlayer and ");
            select.AppendLine("Target.IdGuild = SOURCE.IdGuild ");
            select.AppendLine("WHEN NOT MATCHED BY TARGET THEN ");
            select.AppendLine("INSERT(IdDeck, IdSiege, IdPlayer, IdGuild) ");
            select.AppendLine("VALUES(@IdDeck, @IdSiege, @IdPlayer, @IdGuild); ");



            command.Parameters.Add(new SqlParameter("@IdDeck", System.Data.SqlDbType.BigInt));
            command.Parameters["@IdDeck"].Value = obj.IdDeck;

            command.Parameters.Add(new SqlParameter("@IdSiege", System.Data.SqlDbType.BigInt));
            command.Parameters["@IdSiege"].Value = obj.IdSiege;

            command.Parameters.Add(new SqlParameter("@IdPlayer", System.Data.SqlDbType.BigInt));
            command.Parameters["@IdPlayer"].Value = obj.IdPlayer;

            command.Parameters.Add(new SqlParameter("@IdGuild", System.Data.SqlDbType.BigInt));
            command.Parameters["@IdGuild"].Value = obj.IdGuild;

            command.CommandText = select.ToString();
            command.CommandType = System.Data.CommandType.Text;

            conexao.Open();
            command.Connection = conexao;
            command.ExecuteNonQuery();

            conexao.Close();
            conexao.Dispose();
        }