Example #1
0
        /// <summary>
        /// Carrega o artigo pelo id
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public static List <TargetVote> LoadAllFrom(Target na)
        {
            List <TargetVote> lst = new List <TargetVote>();

            SqlCommand sel = new SqlCommand();

            sel.CommandText = "SELECT userid, vote, date FROM " + Base.conf.prefix + "[newstargetvote] WHERE id=@id ORDER BY date";
            sel.Parameters.Add(new SqlParameter("@id", na.id));

            sel.Connection = Base.conf.Open();
            SqlDataReader rdr = sel.ExecuteReader();

            while (rdr.Read())
            {
                // Pega as informações

                TargetVote nl = new TargetVote(na);

                nl.useridInt = rdr.GetString(0);
                nl.voteInt   = rdr.GetInt32(1);
                nl.dateInt   = rdr.GetDateTime(2);

                lst.Add(nl);
            }

            rdr.Close();
            sel.Connection.Close();

            return(lst);
        }
Example #2
0
        /// <summary>
        /// Pega o voto para o usuário
        /// </summary>
        /// <param name="userid"></param>
        /// <returns></returns>
        public bool SetUserVote(string userid, TargetVote.Vote v)
        {
            TargetVote.Vote vo = GetUserVote(userid);
            if (vo == v)
            {
                v = TargetVote.Vote.Undefined;
            }

            if (v == TargetVote.Vote.Undefined)
            {
                for (int i = 0; i < votes.Count; i++)
                {
                    if (votes[i].userId == userid)
                    {
                        votes.RemoveAt(i);
                        return(false);
                    }
                }
            }
            else
            {
                for (int i = 0; i < votes.Count; i++)
                {
                    if (votes[i].userId == userid)
                    {
                        votes[i].vote = v;
                        votes[i].date = DateTime.Now;
                        return(false);
                    }
                }

                TargetVote vote = new TargetVote(this);
                vote.userId = userid;
                vote.vote   = v;
                vote.date   = DateTime.Now;

                votes.Add(vote);

                return(true);
            }

            return(false);
        }
Example #3
0
        /// <summary>
        /// Salva a ticket
        /// </summary>
        /// <returns></returns>
        public bool Save()
        {
            bool res = false;

            lock (RacLib.Base.conf)
            {
                SqlCommand sel = new SqlCommand();
                sel.CommandText = "SELECT id FROM " + Base.conf.prefix + "[newstarget] WHERE id=@id OR title=@title OR link=@link";
                sel.Parameters.Add(new SqlParameter("@id", id));
                sel.Parameters.Add(new SqlParameter("@title", title));
                sel.Parameters.Add(new SqlParameter("@link", link));

                sel.Connection = Base.conf.Open();
                SqlDataReader rdr = sel.ExecuteReader();

                if (!rdr.Read())
                {
                    rdr.Close();
                    sel.Connection.Close();

                    SqlCommand ins = new SqlCommand();
                    ins.CommandText = "INSERT INTO " + Base.conf.prefix + "[newstarget] (id, link, lang, title, text, status, registered, importance) VALUES (@id, @link, @lang, @title, @text, @status, @registered, @importance)";
                    ins.Parameters.Add(new SqlParameter("@id", id));

                    ins.Parameters.Add(new SqlParameter("@link", linkInt));
                    ins.Parameters.Add(new SqlParameter("@title", titleInt));
                    ins.Parameters.Add(new SqlParameter("@lang", languageInt));
                    ins.Parameters.Add(new SqlParameter("@text", textInt));
                    ins.Parameters.Add(new SqlParameter("@status", statusInt));
                    ins.Parameters.Add(new SqlParameter("@registered", registeredInt));
                    ins.Parameters.Add(new SqlParameter("@importance", importanceInt));

                    ins.Connection = Base.conf.Open();
                    ins.ExecuteNonQuery();
                    ins.Connection.Close();

                    res             = true;
                    dbassignedidInt = true;
                }
                else
                {
                    idInt = rdr.GetString(0);

                    rdr.Close();
                    sel.Connection.Close();

                    SqlCommand upd = new SqlCommand();
                    upd.CommandText = "UPDATE " + Base.conf.prefix + "[newstarget] SET link=@link, lang=@lang, title=@title, text=@text, status=@status, registered=@registered, importance=@importance WHERE id=@id";

                    upd.Parameters.Add(new SqlParameter("@link", linkInt));
                    upd.Parameters.Add(new SqlParameter("@lang", languageInt));
                    upd.Parameters.Add(new SqlParameter("@title", titleInt));
                    upd.Parameters.Add(new SqlParameter("@text", textInt));
                    upd.Parameters.Add(new SqlParameter("@status", statusInt));
                    upd.Parameters.Add(new SqlParameter("@registered", registeredInt));
                    upd.Parameters.Add(new SqlParameter("@importance", importanceInt));

                    upd.Parameters.Add(new SqlParameter("@id", id));

                    upd.Connection = Base.conf.Open();
                    upd.ExecuteNonQuery();
                    upd.Connection.Close();

                    res             = true;
                    dbassignedidInt = true;
                }

                if (res)
                {
                    if (actionsInt != null)
                    {
                        foreach (TargetAction ta in actions)
                        {
                            ta.Save();
                        }
                    }

                    if (votesInt != null)
                    {
                        TargetVote.SaveAll(this, votes);
                    }

                    if (categoriesInt != null)
                    {
                        Base.conf.UpdateStringList(id, categories, "newstargetcategory", "id", "label");
                    }
                }
            }

            return(res);
        }