public TimeDefesaModels ObterTimeDefesaGVG(int idPlayer, DateTime data, long idGuilda) { try { SqlConnection conexao = new SqlConnection(); SqlCommand command = new SqlCommand(); conexao.ConnectionString = ConfigurationManager.ConnectionStrings["DB_SW"].ToString(); StringBuilder select = new StringBuilder(); //MultiGuild select.AppendLine("SET DATEFORMAT dmy;"); select.AppendLine("select"); select.AppendLine("a.Id,"); select.AppendLine("(select count(1) from dbo.PlayerDefesas b "); select.AppendLine("inner join dbo.Guilda_Player b1 on b1.idPlayer = b.IdPlayer and b1.ativo = 1 and b1.idGuilda = @idGuilda "); select.AppendLine("where a.ID = b.IdPlayer and Vitoria = 2 and DataHora>= @datainicio and DataHora<= @datafim)Vitoria,"); select.AppendLine("(select count(1) from dbo.PlayerDefesas c "); select.AppendLine("inner join dbo.Guilda_Player c1 on c1.idPlayer = c.IdPlayer and c1.ativo = 1 and c1.idGuilda = @idGuilda "); select.AppendLine("where a.ID = c.IdPlayer and Vitoria = 1 and DataHora>= @datainicio and DataHora<= @datafim)Empate,"); select.AppendLine("(select count(1) from dbo.PlayerDefesas d "); select.AppendLine("inner join dbo.Guilda_Player d1 on d1.idPlayer = d.IdPlayer and d1.ativo = 1 and d1.idGuilda = @idGuilda"); select.AppendLine("where a.ID = d.IdPlayer and Vitoria = 0 and DataHora>= @datainicio and DataHora<= @datafim)Derrota,"); select.AppendLine("e.Monstro1 Monstro1Id, f.Nome Monstro1Nome, f.Imagem Monstro1Imagem,"); select.AppendLine("e.Monstro2 Monstro2Id, g.Nome Monstro2Nome, g.Imagem Monstro2Imagem,"); select.AppendLine("e.Monstro3 Monstro3Id, h.Nome Monstro3Nome, h.Imagem Monstro3Imagem,"); select.AppendLine("e.Monstro4 Monstro4Id, i.Nome Monstro4Nome, i.Imagem Monstro4Imagem,"); select.AppendLine("e.Monstro5 Monstro5Id, j.Nome Monstro5Nome, j.Imagem Monstro5Imagem,"); select.AppendLine("e.Monstro6 Monstro6Id, k.Nome Monstro6Nome, k.Imagem Monstro6Imagem"); select.AppendLine("from dbo.Player a "); select.AppendLine("inner join dbo.Guilda_Player a1 on a1.idPlayer = a.Id and a1.ativo = 1 and a1.idGuilda = @idGuilda "); select.AppendLine("inner join dbo.TimeDefesa e on e.IdPlayer = a.ID"); select.AppendLine("left join dbo.Monstro f on f.Id = e.Monstro1"); select.AppendLine("left join dbo.Monstro g on g.Id = e.Monstro2"); select.AppendLine("left join dbo.Monstro h on h.Id = e.Monstro3"); select.AppendLine("left join dbo.Monstro i on i.Id = e.Monstro4"); select.AppendLine("left join dbo.Monstro j on j.Id = e.Monstro5"); select.AppendLine("left join dbo.Monstro k on k.Id = e.Monstro6"); select.AppendLine("where a.Id = @idplayer"); select.AppendLine("and e.data = (select MAX(data) from dbo.TimeDefesa tim where tim.IdPlayer = a.ID)"); command.CommandText = select.ToString(); command.CommandType = System.Data.CommandType.Text; //Parametros command.Parameters.Add(new SqlParameter("@idplayer", System.Data.SqlDbType.Int)); command.Parameters["@idplayer"].Value = idPlayer; command.Parameters.Add(new SqlParameter("@datainicio", System.Data.SqlDbType.Date)); command.Parameters["@datainicio"].Value = data.AddDays(-7); command.Parameters.Add(new SqlParameter("@datafim", System.Data.SqlDbType.Date)); command.Parameters["@datafim"].Value = data; command.Parameters.Add(new SqlParameter("@idGuilda", System.Data.SqlDbType.BigInt)); command.Parameters["@idGuilda"].Value = idGuilda; TimeDefesaModels objTimeDefesa = new TimeDefesaModels(); conexao.Open(); command.Connection = conexao; SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { objTimeDefesa = new TimeDefesaModels(); objTimeDefesa.Data = data; objTimeDefesa.Monstro1 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro1Id"].ToString()), Nome = reader["Monstro1Nome"].ToString(), Imagem = reader["Monstro1Imagem"].ToString() }; objTimeDefesa.Monstro2 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro2Id"].ToString()), Nome = reader["Monstro2Nome"].ToString(), Imagem = reader["Monstro2Imagem"].ToString() }; objTimeDefesa.Monstro3 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro3Id"].ToString()), Nome = reader["Monstro3Nome"].ToString(), Imagem = reader["Monstro3Imagem"].ToString() }; objTimeDefesa.Monstro4 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro4Id"].ToString()), Nome = reader["Monstro4Nome"].ToString(), Imagem = reader["Monstro4Imagem"].ToString() }; objTimeDefesa.Monstro5 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro5Id"].ToString()), Nome = reader["Monstro5Nome"].ToString(), Imagem = reader["Monstro5Imagem"].ToString() }; objTimeDefesa.Monstro6 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro6Id"].ToString()), Nome = reader["Monstro6Nome"].ToString(), Imagem = reader["Monstro6Imagem"].ToString() }; objTimeDefesa.Vitoria = Convert.ToInt32(reader["Vitoria"].ToString()); objTimeDefesa.Empate = Convert.ToInt32(reader["Empate"].ToString()); objTimeDefesa.Derrota = Convert.ToInt32(reader["Derrota"].ToString()); } conexao.Close(); conexao.Dispose(); return(objTimeDefesa); } catch (Exception ex) { throw ex; } }
public List <PlayerOponenteModels> ListarDefesasGVGOponente(long idBatalha) { try { SqlConnection conexao = new SqlConnection(); SqlCommand command = new SqlCommand(); conexao.ConnectionString = ConfigurationManager.ConnectionStrings["DB_SW"].ToString(); StringBuilder select = new StringBuilder(); select.AppendLine("SET DATEFORMAT dmy;"); select.AppendLine("select "); select.AppendLine("a.idbatalha,a.idplayeroponente, "); select.AppendLine("p.Nome NomeOponente, p.Bonus, "); select.AppendLine("isnull(b.Id,0) Monstro1Id, isnull(b.Nome,'') Monstro1Nome, isnull(b.Imagem,'') Monstro1Imagem, "); select.AppendLine("isnull(c.Id,0) Monstro2Id, isnull(c.Nome,'') Monstro2Nome, isnull(c.Imagem,'') Monstro2Imagem, "); select.AppendLine("isnull(d.Id,0) Monstro3Id, isnull(d.Nome,'') Monstro3Nome, isnull(d.Imagem,'') Monstro3Imagem, "); select.AppendLine("isnull(e.Id,0) Monstro4Id, isnull(e.Nome,'') Monstro4Nome, isnull(e.Imagem,'') Monstro4Imagem, "); select.AppendLine("isnull(f.Id,0) Monstro5Id, isnull(f.Nome,'') Monstro5Nome, isnull(f.Imagem,'') Monstro5Imagem, "); select.AppendLine("isnull(g.Id,0) Monstro6Id, isnull(g.Nome,'') Monstro6Nome, isnull(g.Imagem,'') Monstro6Imagem "); select.AppendLine("from dbo.TimeDefesaGVG a "); select.AppendLine("inner join dbo.PlayerOponente p on p.ID = a.idplayeroponente and p.IdBatalha = a.idBatalha "); select.AppendLine("left join dbo.Monstro b on b.Id = a.Monstro1 "); select.AppendLine("left join dbo.Monstro c on c.Id = a.Monstro2 "); select.AppendLine("left join dbo.Monstro d on d.Id = a.Monstro3 "); select.AppendLine("left join dbo.Monstro e on e.Id = a.Monstro4 "); select.AppendLine("left join dbo.Monstro f on f.Id = a.Monstro5 "); select.AppendLine("left join dbo.Monstro g on g.Id = a.Monstro6 "); select.AppendLine("where a.idBatalha = @idBatalha "); select.AppendLine("order by p.Bonus desc, p.Nome "); command.CommandText = select.ToString(); command.CommandType = System.Data.CommandType.Text; //Parametros command.Parameters.Add(new SqlParameter("@idBatalha", System.Data.SqlDbType.BigInt)); command.Parameters["@idBatalha"].Value = idBatalha; TimeDefesaModels objTimeDefesa = new TimeDefesaModels(); PlayerOponenteModels objPlayerOponente = new PlayerOponenteModels(); List <PlayerOponenteModels> objRetorno = new List <PlayerOponenteModels>(); conexao.Open(); command.Connection = conexao; SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { objTimeDefesa = new TimeDefesaModels(); objTimeDefesa.Monstro1 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro1Id"].ToString()), Nome = reader["Monstro1Nome"].ToString(), Imagem = reader["Monstro1Imagem"].ToString() }; objTimeDefesa.Monstro2 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro2Id"].ToString()), Nome = reader["Monstro2Nome"].ToString(), Imagem = reader["Monstro2Imagem"].ToString() }; objTimeDefesa.Monstro3 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro3Id"].ToString()), Nome = reader["Monstro3Nome"].ToString(), Imagem = reader["Monstro3Imagem"].ToString() }; objTimeDefesa.Monstro4 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro4Id"].ToString()), Nome = reader["Monstro4Nome"].ToString(), Imagem = reader["Monstro4Imagem"].ToString() }; objTimeDefesa.Monstro5 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro5Id"].ToString()), Nome = reader["Monstro5Nome"].ToString(), Imagem = reader["Monstro5Imagem"].ToString() }; objTimeDefesa.Monstro6 = new MonstroModels() { Id = Convert.ToInt32(reader["Monstro6Id"].ToString()), Nome = reader["Monstro6Nome"].ToString(), Imagem = reader["Monstro6Imagem"].ToString() }; objPlayerOponente = new PlayerOponenteModels(); objPlayerOponente.Id = long.Parse(reader["idplayeroponente"].ToString()); objPlayerOponente.Bonus = int.Parse(reader["Bonus"].ToString()); objPlayerOponente.Nome = reader["NomeOponente"].ToString(); objPlayerOponente.TimeDefesa = objTimeDefesa; objRetorno.Add(objPlayerOponente); } conexao.Close(); conexao.Dispose(); return(objRetorno); } catch (Exception ex) { throw ex; } }