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 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); }