public static int?InsertPersonaje(Personaje P, string pathArchivo, int[] Box) { byte[] picture = null; if (pathArchivo != null) { picture = ConversionIMG.ConvertirAByteArray(pathArchivo); } SqlConnection Conexion = Conectar(); SqlCommand Consulta = Conexion.CreateCommand(); Consulta.CommandText = "sp_PersonajeAlta"; Consulta.CommandType = System.Data.CommandType.StoredProcedure; Consulta.Parameters.AddWithValue("@pNombre", P.Nombre); Consulta.Parameters.AddWithValue("@pFoto", picture); Consulta.Parameters.Add("@id", SqlDbType.Int).Direction = ParameterDirection.Output; int i = Consulta.ExecuteNonQuery(); int?idp = Convert.ToInt32(Consulta.Parameters["@id"].Value); Desconectar(Conexion); if (Box != null && idp != null) { foreach (int b in Box) { BD.InsertarCategoríaP(b, idp); } } File.Delete(pathArchivo); return(idp); }
public static List <Personaje> ListarPersonajesXRespuesta(int IdPreg) { string Foto = null; List <Personaje> Lista = new List <Personaje>(); SqlConnection Conexion = Conectar(); SqlCommand Consulta = Conexion.CreateCommand(); Consulta.CommandText = "sp_ListarPersonajesXRespuesta"; Consulta.CommandType = System.Data.CommandType.StoredProcedure; Consulta.Parameters.AddWithValue("@pIdPreg", IdPreg); SqlDataReader Lector = Consulta.ExecuteReader(); while (Lector.Read()) { int Id = Convert.ToInt32(Lector["IdPersonaje"]); string Nombre = Lector["Nombre"].ToString(); byte[] AuxFoto = (byte[])Lector["Foto"]; Foto = ConversionIMG.ConvertirAURLData(AuxFoto); List <CategoríaP> cat = BD.TraerCategoriaP(Id); Personaje P = new Personaje(Id, Nombre, Foto, cat); Lista.Add(P); } Desconectar(Conexion); return(Lista); }
public static bool UpdatePersonaje(Personaje P, string pathArchivo, int[] Box) { bool val = false; byte[] picture = null; if (pathArchivo != null) { picture = ConversionIMG.ConvertirAByteArray(pathArchivo); } SqlConnection Conexion = Conectar(); SqlCommand Consulta = Conexion.CreateCommand(); Consulta.CommandText = "sp_PersonajeModif"; Consulta.CommandType = System.Data.CommandType.StoredProcedure; Consulta.Parameters.AddWithValue("@pId", P.Id); Consulta.Parameters.AddWithValue("@pNombre", P.Nombre); if (pathArchivo != null) { Consulta.Parameters.AddWithValue("@pFoto", picture); } else { Consulta.CommandText = "sp_PersonajeModifSinImg"; } int i = Consulta.ExecuteNonQuery(); if (i > 0) { val = true; } Desconectar(Conexion); List <CategoríaP> Anterior = BD.TraerCategoriaP(P.Id); bool v; if (Box != null) { foreach (CategoríaP C in Anterior) { v = true; foreach (int id in Box) { if (C.Id == id) { v = false; } } if (v == true) { BD.BorrarCategoríaP(C.Id, P.Id); } } foreach (int id in Box) { v = true; foreach (CategoríaP C in Anterior) { if (C.Id == id) { v = false; } } if (v == true) { BD.InsertarCategoríaP(id, P.Id); } } } if (Box == null && Anterior != null) { foreach (CategoríaP C in Anterior) { BD.BorrarCategoríaP(C.Id, P.Id); } } if (pathArchivo != null) { File.Delete(pathArchivo); } return(val); }