public void Insert(LabMS.Model.VoteJson voteJson) { LabMS.Model.Vote voteInfo = new LabMS.Model.Vote(); voteInfo.VoteTitle = voteJson.Title; voteInfo.VoteStartTime = DateTime.Now; voteInfo.VoteLimit = voteJson.Limit; voteInfo.key = base.Add(voteInfo); // Insert vote foreach (LabMS.Model.VoteItemJson item in voteJson.Items) { LabMS.Model.VoteItem voteItemInfo = new LabMS.Model.VoteItem(); LabMS.BLL.VoteItem voteItem = new LabMS.BLL.VoteItem(); voteItemInfo.VoteID = voteInfo.key; voteItemInfo.VoteItemContent = item.Title; voteItemInfo.key = voteItem.Add(voteItemInfo); // Insert Item foreach (LabMS.Model.VoteAnswerJson answer in item.Answers) { LabMS.Model.VoteAnswer voteAnswerInfo = new LabMS.Model.VoteAnswer(); LabMS.BLL.VoteAnswer voteAnswer = new LabMS.BLL.VoteAnswer(); voteAnswerInfo.VoteItemID = voteItemInfo.key; voteAnswerInfo.VoteAnswerContent = answer.Name; voteAnswer.Add(voteAnswerInfo); // Insert answer } } }
/// <summary> /// �õ�һ������ʵ�� /// </summary> public LabMS.Model.Vote GetModel(int key) { StringBuilder strSql=new StringBuilder(); strSql.Append("select top 1 [key],VoteTitle,VoteStartTime,VoteLimit from Vote "); strSql.Append(" where [key]=@key "); SqlParameter[] parameters = { new SqlParameter("@key", SqlDbType.Int,4)}; parameters[0].Value = key; LabMS.Model.Vote model=new LabMS.Model.Vote(); DataSet ds=DbHelperSQL.Query(strSql.ToString(),parameters); if(ds.Tables[0].Rows.Count>0) { if(ds.Tables[0].Rows[0]["key"].ToString()!="") { model.key=int.Parse(ds.Tables[0].Rows[0]["key"].ToString()); } model.VoteTitle=ds.Tables[0].Rows[0]["VoteTitle"].ToString(); if(ds.Tables[0].Rows[0]["VoteStartTime"].ToString()!="") { model.VoteStartTime=DateTime.Parse(ds.Tables[0].Rows[0]["VoteStartTime"].ToString()); } if(ds.Tables[0].Rows[0]["VoteLimit"].ToString()!="") { model.VoteLimit=int.Parse(ds.Tables[0].Rows[0]["VoteLimit"].ToString()); } return model; } else { return null; } }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { int id; #region Get id if (string.IsNullOrEmpty(Request.QueryString["id"])) { Common.JShelper.JSAlert(Page, "err", "参数错误!"); return; } try { id = int.Parse(Request.QueryString["id"]); } catch { Common.JShelper.JSAlert(Page, "err", "参数错误!"); return; } #endregion LabMS.Model.Vote mVote = new LabMS.Model.Vote(); #region Get Vote LabMS.BLL.Vote bvote = new LabMS.BLL.Vote(); mVote = bvote.GetModel(id); if (mVote == null) { Common.JShelper.JSAlert(Page, "err", "参数错误!"); return; } #endregion #region Original and obsolete /* lbVName.Text = mVote.VoteTitle; lbContent.InnerHtml = "<div>"; List<LabMS.Model.VoteItem> listVItem = new List<LabMS.Model.VoteItem>(); List<LabMS.Model.VoteAnswer> listVAnswer = new List<LabMS.Model.VoteAnswer>(); List<LabMS.Model.VoteRecordDetail> listVRDetail = new List<LabMS.Model.VoteRecordDetail>(); #region VoteItemList LabMS.BLL.VoteItem bVItem = new LabMS.BLL.VoteItem(); listVItem = bVItem.GetModelList(" VoteID = " + mVote.key.ToString()); if (listVItem == null) { Common.JShelper.JSAlert(Page, "err", "参数错误!"); return; } #endregion int iTotal = 0; int iTotalD = 0; int iDetail = 0; float percent = 0.0f; foreach (LabMS.Model.VoteItem vi in listVItem) { lbContent.InnerHtml += "<div>"; lbContent.InnerHtml += " " + vi.VoteItemContent; #region Get VoteItemDetail for total LabMS.BLL.VoteRecordDetail bVRDetail = new LabMS.BLL.VoteRecordDetail(); listVRDetail = bVRDetail.GetModelList(" VoteItemID = " + vi.key.ToString()); #endregion iTotal = listVRDetail.Count; iTotalD = iTotal; if (iTotalD == 0) { iTotalD = 1; } lbTotal.Text = "投票总数:" + iTotal.ToString(); #region VoteAnswerList LabMS.BLL.VoteAnswer bVAnswer = new LabMS.BLL.VoteAnswer(); listVAnswer = bVAnswer.GetModelList(" VoteItemID = " + vi.key.ToString()); #endregion foreach (LabMS.Model.VoteAnswer va in listVAnswer) { lbContent.InnerHtml += "<div>"; lbContent.InnerHtml += " " + va.VoteAnswerContent; #region Get VoteItemDetail for answer bVRDetail = new LabMS.BLL.VoteRecordDetail(); listVRDetail = bVRDetail.GetModelList(" VoteItemID = " + vi.key.ToString() + " and VoteAnswerID = " + va.key.ToString()); #endregion iDetail = listVRDetail.Count; percent = (float)iDetail / (float)iTotalD; percent = percent * 100; string strPercent = String.Format("{0:N2}", percent) + "%"; lbContent.InnerHtml += " " + iDetail + "(" + strPercent.ToString() + ")"; lbContent.InnerHtml += "</div>"; } lbContent.InnerHtml += "</div>"; } lbContent.InnerHtml += "</div>"; */ #endregion LiteralVote.Text = mVote.VoteTitle; LiteralStat.Text = CreateCharts(mVote); } }