示例#1
0
        /// <summary>
        /// 分页查找全部投票
        /// </summary>
        /// <param name="page"></param>
        /// <returns>返回当前页的数据</returns>
        public List <VotingTheme> FindAll(PageObject <VotingTheme> page)
        {
            List <VotingTheme> votes = new List <VotingTheme>();

            try
            {
                using (SqlConnection connection = new SqlConnection(DbConfig.ConnectionString))
                {
                    string         sql = @"SELECT id,title,type,startTime,endTime,createTime FROM votingTheme ORDER BY id DESC  OFFSET @start ROWS FETCH NEXT @size ROWS ONLY;";
                    SqlParameter[] pms =
                    {
                        new SqlParameter("@start", (page.CurrentPage - 1) * page.PageSize),
                        new SqlParameter("@size",  page.PageSize)
                    };
                    connection.Open();
                    SqlCommand cmd = new SqlCommand(sql, connection);
                    cmd.Parameters.AddRange(pms);
                    SqlDataReader reader = cmd.ExecuteReader();

                    while (reader.Read())
                    {
                        VotingTheme vote = new VotingTheme();
                        vote = GetVote(vote, reader);
                        votes.Add(vote);
                    }
                }
            }
            catch (Exception e)
            {
                _logger.LogInformation("VoteMapperImpl类FindAll()方法异常:\n" + e.Message);
            }
            return(votes);
        }
示例#2
0
        /// <summary>
        /// 添加投票信息,并将选项写入对应表中
        /// </summary>
        /// <param name="vote"></param>
        /// <returns></returns>
        public int AddVote(VotingTheme vote)
        {
            int id = _voteMapper.SaveVoteTheme(vote);

            _optionMapper.SaveOptions(id, vote.Options);
            return(id);
        }
示例#3
0
        /// <summary>
        /// 修改投票信息
        /// </summary>
        /// <param name="vote"></param>
        /// <returns>返回影响行数</returns>
        public int UpdateVote(VotingTheme vote)
        {
            int row = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(DbConfig.ConnectionString))
                {
                    string         sql = @"UPDATE votingTheme SET title=@title,type=@type,startTime=@startTime,endTime=@endTime WHERE id=@id";
                    SqlParameter[] pms =
                    {
                        new SqlParameter("@title",     vote.Title),
                        new SqlParameter("@type",      vote.Type?1:0),
                        new SqlParameter("@startTime", vote.StartTime),
                        new SqlParameter("@endTime",   vote.EndTime),
                        new SqlParameter("@id",        vote.Id)
                    };
                    connection.Open();
                    SqlCommand cmd = new SqlCommand(sql, connection);
                    cmd.Parameters.AddRange(pms);
                    row = cmd.ExecuteNonQuery();
                    connection.Close();
                }
            }
            catch (Exception e)
            {
                _logger.LogInformation("VoteMapperImpl类UpdateVote()方法异常:\n" + e.Message);
            }
            return(row);
        }
示例#4
0
        /// <summary>
        /// 添加投票信息
        /// </summary>
        /// <param name="vote"></param>
        /// <returns>投票编号</returns>
        public int SaveVoteTheme(VotingTheme vote)
        {
            int id = 0;

            try
            {
                using (SqlConnection connection = new SqlConnection(DbConfig.ConnectionString))
                {
                    string         sql = @"INSERT INTO votingTheme(title,type,startTime,endTime) values(@title,@type,@startTime,@endTime) SELECT @@IDENTITY as Id";
                    SqlParameter[] pms =
                    {
                        new SqlParameter("@title",     vote.Title),
                        new SqlParameter("@type",      vote.Type?1:0),
                        new SqlParameter("@startTime", vote.StartTime),
                        new SqlParameter("@endTime",   vote.EndTime)
                    };
                    connection.Open();
                    SqlCommand cmd = new SqlCommand(sql, connection);
                    cmd.Parameters.AddRange(pms);
                    SqlDataReader reader = cmd.ExecuteReader();
                    if (reader.Read())
                    {
                        id = Convert.ToInt32(reader["id"]);
                    }
                    connection.Close();
                }
            }
            catch (Exception e)
            {
                _logger.LogInformation("VoteMapperImpl类SaveVoteTheme()方法异常:\n" + e.Message);
            }
            return(id);
        }
示例#5
0
 /// <summary>
 /// 通过reader封装对象
 /// </summary>
 /// <param name="vote"></param>
 /// <param name="reader"></param>
 /// <returns></returns>
 private VotingTheme GetVote(VotingTheme vote, SqlDataReader reader)
 {
     vote.Id         = Convert.ToInt32(reader["id"]);
     vote.Title      = reader["title"].ToString();
     vote.Type       = Convert.ToInt32(reader["type"]) == 1 ? true : false;
     vote.StartTime  = Convert.ToDateTime(reader["startTime"]).ToString();
     vote.EndTime    = Convert.ToDateTime(reader["endTime"]).ToString();
     vote.CreateTime = Convert.ToDateTime(reader["createTime"]);
     return(vote);
 }
示例#6
0
        public VotingTheme VoteDetail(VotingTheme vote)
        {
            int len = vote.Options.Count();

            vote.Count = 0;
            for (int i = 0; i < len; i++)
            {
                vote.Options[i].Num = _pollMapper.FindNumByVidAndOid(vote.Id, vote.Options[i].Id);
                vote.Count         += vote.Options[i].Num;
            }
            return(vote);
        }
示例#7
0
        /// <summary>
        /// 修改投票信息,1.修改投票信息,删除所有选项,重新添加选项
        /// </summary>
        /// <param name="vote"></param>
        /// <returns></returns>
        public int UpdateVote(VotingTheme vote)
        {
            int row = _voteMapper.UpdateVote(vote);

            if (row == 0)
            {
                return(0);
            }
            row = _optionMapper.DeleteOptionsByVid(vote.Id);
            if (row == 0)
            {
                return(0);
            }
            row = _optionMapper.SaveOptions(vote.Id, vote.Options);
            return(row);
        }