예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }