コード例 #1
0
        // Se agrega un nuevo articulo
        public bool AddArticle(ArticleModel smodel, string type, string author)
        {
            connection();
            string AddNewArticle = "INSERT INTO Article " +
                                   "VALUES (@name, @type,@Abstract,@publishDate,@content,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT)";
            SqlCommand cmd = new SqlCommand(AddNewArticle, con); // Nombre procedimiento,

            cmd.Parameters.AddWithValue("@name", smodel.name);
            cmd.Parameters.AddWithValue("@type", type);
            cmd.Parameters.AddWithValue("@Abstract", smodel.Abstract);
            cmd.Parameters.AddWithValue("@publishDate", Convert.ToDateTime(smodel.publishDate));
            cmd.Parameters.AddWithValue("@content", smodel.content);

            con.Open();
            int i = cmd.ExecuteNonQuery();

            con.Close();



            //Buscar ID
            connection();
            string findId = "SELECT articleId " +
                            "FROM Article " +
                            "WHERE name = @name";
            SqlDataAdapter adapter = new SqlDataAdapter();
            DataSet        ds      = new DataSet();

            con.Open();
            SqlCommand cmd1 = new SqlCommand(findId, con); // Nombre procedimiento,

            cmd1.Parameters.AddWithValue("@name", smodel.name);
            adapter.SelectCommand = cmd1;
            adapter.Fill(ds);
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                smodel.articleId = (Convert.ToInt32(dr["articleId"]));
            }

            con.Close();

            String[] topics = smodel.topicName.Split(',');
            String[] subjects;

            for (int m = 0; m < topics.Count(); m++)
            {
                subjects = topics[m].Split(':');
                InsertTopics(smodel.articleId, subjects[0], subjects[1]);
            }


            //Insert a relation with member
            connection();
            AddNewArticle = "INSERT INTO WRITES " +
                            "VALUES ( @email , @articleId)";
            SqlCommand cmd2 = new SqlCommand(AddNewArticle, con); // Nombre procedimiento,

            cmd2.Parameters.AddWithValue("@articleId", smodel.articleId);
            cmd2.Parameters.AddWithValue("@email", author);

            //SESSION
            con.Open();
            i = cmd2.ExecuteNonQuery();
            con.Close();

            if (i >= 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
        public bool UpdateDetails(ArticleModel smodel, string type)
        {
            //Update of table articles
            connection();
            String updateArticle = "UPDATE Article " +
                                   "SET name = @name, " +
                                   "type = @type, " +
                                   "abstract = @abstract, " +
                                   "publishDate = @publishDate," +
                                   "content = @content " +
                                   "WHERE articleId = @articleId";

            SqlCommand cmd = new SqlCommand(updateArticle, con);

            cmd.Parameters.AddWithValue("@articleId", smodel.articleId);
            cmd.Parameters.AddWithValue("@name", smodel.name);
            cmd.Parameters.AddWithValue("@type", type);
            cmd.Parameters.AddWithValue("@abstract", smodel.Abstract);
            cmd.Parameters.AddWithValue("@publishDate", Convert.ToDateTime(smodel.publishDate));
            cmd.Parameters.AddWithValue("@content", smodel.content);
            con.Open();
            int i = cmd.ExecuteNonQuery();

            con.Close();

            if (i < 1)
            {
                return(false);
            }

            //Topics Elimination
            connection();
            String getTopics = "DELETE FROM INVOLVES " +
                               "WHERE articleId = @articleId";
            SqlCommand cmd1 = new SqlCommand(getTopics, con);

            cmd1.Parameters.AddWithValue("@articleId", smodel.articleId);
            con.Open();
            i = cmd1.ExecuteNonQuery();
            con.Close();

            //if (i < 1)
            //    return false;

            //Topics Update
            String[] topics = smodel.topicName.Split(',');
            String[] subjects;

            for (int m = 0; m < topics.Count(); m++)
            {
                subjects = topics[m].Split(':');
                InsertTopics(smodel.articleId, subjects[0], subjects[1]);
            }

            if (i >= 1)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }