예제 #1
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="pc">pc</param>
        /// <returns>影响的记录行数</returns>
        public int DeleteMultiple(ParameterCollection pc)
        {
            int ret = 0;

            VoteProjectInfoModel voteprojectinfo = new VoteProjectInfoModel();

            ret = DbUtil.Current.DeleteMultiple(voteprojectinfo, pc);

            return(ret);
        }
예제 #2
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="voteprojectinfo">实体</param>
        /// <param name="pc">pc</param>
        /// <returns>影响的记录行数</returns>
        public int UpdateMultiple(VoteProjectInfoModel voteprojectinfo, ParameterCollection pc)
        {
            int ret = 0;

            voteprojectinfo.ModifiedBy = SessionUtil.Current.UserId;
            voteprojectinfo.ModifiedOn = DateTime.Now;

            ret = DbUtil.Current.UpdateMultiple(voteprojectinfo, pc);

            return(ret);
        }
예제 #3
0
        /// <summary>
        /// 更新
        /// </summary>
        /// <param name="voteprojectinfo">实体</param>
        /// <returns>影响的记录行数</returns>
        public int Update(VoteProjectInfoModel voteprojectinfo)
        {
            int ret = 0;

            voteprojectinfo.ModifiedBy = SessionUtil.Current.UserId;
            voteprojectinfo.ModifiedOn = DateTime.Now;

            ret = DbUtil.Current.Update(voteprojectinfo);

            return(ret);
        }
예제 #4
0
        /// <summary>
        /// 删除
        /// </summary>
        /// <param name="voteprojectid"></param>
        /// <returns>影响的记录行数</returns>
        public int Delete(string voteprojectid)
        {
            int ret = 0;

            VoteProjectInfoModel voteprojectinfo = new VoteProjectInfoModel();

            voteprojectinfo.VoteProjectId = voteprojectid;

            ret = DbUtil.Current.Delete(voteprojectinfo);

            return(ret);
        }
예제 #5
0
        /// <summary>
        /// 根据条件获取实体集合
        /// </summary>
        /// <param name="pc">pc</param>
        /// <param name="obc">obc</param>
        /// <returns>实体</returns>
        public List <VoteProjectInfoModel> RetrieveMultiple(ParameterCollection pc, OrderByCollection obc)
        {
            List <VoteProjectInfoModel> voteprojectinfos = new List <VoteProjectInfoModel>();

            VoteProjectInfoModel voteprojectinfo = new VoteProjectInfoModel();
            DataTable            dt = DbUtil.Current.RetrieveMultiple(voteprojectinfo, pc, obc);

            for (int i = 0; i < dt.Rows.Count; i++)
            {
                voteprojectinfo = new VoteProjectInfoModel();
                voteprojectinfo.ConvertFrom(dt, i);
                voteprojectinfos.Add(voteprojectinfo);
            }

            return(voteprojectinfos);
        }
예제 #6
0
        /// <summary>
        /// 根据主键获取实体
        /// </summary>
        /// <param name="voteprojectid"></param>
        /// <returns>实体</returns>
        public VoteProjectInfoModel Retrieve(string voteprojectid)
        {
            VoteProjectInfoModel voteprojectinfo = new VoteProjectInfoModel();

            voteprojectinfo.VoteProjectId = voteprojectid;

            DataTable dt = DbUtil.Current.Retrieve(voteprojectinfo);

            if (dt.Rows.Count < 1)
            {
                return(null);
            }

            voteprojectinfo.ConvertFrom(dt);

            return(voteprojectinfo);
        }
        public bool ProjectItemVote(RelUserVoteitemModel voteInfo, out string message)
        {
            bool result = false;

            message = "操作失败,请与管理员联系";

            if (voteInfo == null)
            {
                message = "参数错误,请与管理员联系";
                return(false);
            }

            if (voteInfo.VoteProjectId == null || voteInfo.VoteItemId == null || voteInfo.Score == null)
            {
                message = "参数错误,未能正确获取投票项目ID, 请与管理员联系";
                return(false);
            }

            VoteProjectInfoModel projectInfo = VoteProjectInfoService.Instance.Retrieve(voteInfo.VoteProjectId);

            if (projectInfo == null)
            {
                message = "未能正确获取投票项目信息,请与管理员联系";
                return(false);
            }

            if (projectInfo.CanAnonymous == 1)
            {
                if (SessionUtil.Current == null || SessionUtil.Current.IsLogin == false)
                {
                    message = "本投票项目设置为不能进行匿名投票,请登录系统";
                    return(false);
                }
            }

            VoteProjectItemInfoModel itemInfo = Retrieve(voteInfo.VoteItemId);

            if (itemInfo == null)
            {
                message = "未能正确获取投票栏目信息,请与管理员联系";
                return(false);
            }



            string sql             = "select * from rel_user_voteitem where [USER_ID]= $userId$ and vote_item_id = $voteId$";
            ParameterCollection pc = new ParameterCollection();

            pc.Add("userId", SessionUtil.Current.UserId);
            pc.Add("voteId", voteInfo.VoteItemId);

            List <RelUserVoteitemModel> userVoteList = ModelConvertFrom <RelUserVoteitemModel>(ExecuteDataTable(sql, pc));

            if (projectInfo.CanMuiltVote == 1 && projectInfo.CanModifyVote == 1 && userVoteList != null && userVoteList.Count > 0)
            {
                message = "操作中止,本项目设置不可重复投票评分";
                return(false);
            }

            try
            {
                BeginTransaction();

                voteInfo.UserVoteId = GetGuid();
                voteInfo.UserId     = SessionUtil.Current.UserId;

                // 如果可以重复投票
                if (projectInfo.CanMuiltVote == 0)
                {
                    if (RelUserVoteitemService.Instance.Create(voteInfo) != 1)
                    {
                        RollbackTransaction();
                        message = "保存用户投票信息失败,请与管理员联系";
                        return(false);
                    }

                    itemInfo.VoteTotal++;
                    itemInfo.VoteScore += Convert.ToInt32(voteInfo.Score);

                    if (Update(itemInfo) != 1)
                    {
                        RollbackTransaction();
                        message = "更新投票栏目信息失败,请与管理员联系";
                        return(false);
                    }
                }
                else
                {
                    if (userVoteList == null || userVoteList.Count == 0)
                    {
                        // 如果未还进行过投票
                        if (RelUserVoteitemService.Instance.Create(voteInfo) != 1)
                        {
                            RollbackTransaction();
                            message = "保存用户投票信息失败,请与管理员联系";
                            return(false);
                        }

                        itemInfo.VoteTotal++;
                        itemInfo.VoteScore += Convert.ToInt32(voteInfo.Score);

                        if (Update(itemInfo) != 1)
                        {
                            RollbackTransaction();
                            message = "更新投票栏目信息失败,请与管理员联系";
                            return(false);
                        }
                    }
                    else
                    {
                        if (projectInfo.CanModifyVote == 0)
                        {
                            // 如果已经投过票,并允许修改
                            voteInfo.UserVoteId = userVoteList[0].UserVoteId;

                            if (RelUserVoteitemService.Instance.Update(voteInfo) != 1)
                            {
                                RollbackTransaction();
                                message = "更新用户投票信息失败,请与管理员联系";
                                return(false);
                            }

                            itemInfo.VoteScore = itemInfo.VoteScore - Convert.ToInt32(userVoteList[0].Score);
                            itemInfo.VoteScore = itemInfo.VoteScore + Convert.ToInt32(voteInfo.Score);

                            if (Update(itemInfo) != 1)
                            {
                                RollbackTransaction();
                                message = "更新投票栏目信息失败,请与管理员联系";
                                return(false);
                            }
                        }
                        else
                        {
                            RollbackTransaction();
                            message = "操作中止,栏目设置不可修改投票评分";
                            return(false);
                        }
                    }
                }

                CommitTransaction();
                message = "操作成功";
                result  = true;
            }
            catch (Exception ex)
            {
                RollbackTransaction();
                message = string.Format("提交投票评分信息异常! {0}。请与管理员联系", ex.Message);
                result  = false;
            }

            return(result);
        }