/// <summary> /// ������ۼ�¼ /// </summary> /// <param name="json">json</param> /// <param name="ip">IP</param> public void Insert(LabMS.Model.VoteRecordJson json) { if (json == null) { throw new Exception("�����ύ�յļ�¼"); } ValidateVote(json); LabMS.Model.VoteRecord voteRecordInfo = new LabMS.Model.VoteRecord(); voteRecordInfo.IP = json.IP; voteRecordInfo.UserID = json.UserID; voteRecordInfo.VoteID = json.VoteID; voteRecordInfo.UserType = json.UserType; voteRecordInfo.VoteTime = DateTime.Now; voteRecordInfo.ID = base.Add(voteRecordInfo); // insert vote record foreach (LabMS.Model.VoteRecordDetailJson detail in json.Details) { LabMS.Model.VoteRecordDetail vrdInfo = new LabMS.Model.VoteRecordDetail(); LabMS.BLL.VoteRecordDetail vrd = new LabMS.BLL.VoteRecordDetail(); vrdInfo.VoteAnswerID = detail.VoteAnswerID; vrdInfo.VoteItemID = detail.VoteItemID; vrdInfo.VoteRecordID = voteRecordInfo.ID; vrd.Add(vrdInfo); // Insert detail } }
protected string CreateCharts(LabMS.Model.Vote vi) { System.Text.StringBuilder result = new System.Text.StringBuilder(); System.Text.StringBuilder sbXml = new System.Text.StringBuilder(); LabMS.BLL.Vote vote = new LabMS.BLL.Vote(); LabMS.BLL.VoteAnswer voteAnswer = new LabMS.BLL.VoteAnswer(); LabMS.BLL.VoteItem voteItem = new LabMS.BLL.VoteItem(); LabMS.BLL.VoteRecordDetail voteRecordDetail = new LabMS.BLL.VoteRecordDetail(); List<LabMS.Model.VoteItem> voteItems; List<LabMS.Model.VoteAnswer> voteAnswers; List<LabMS.Model.VoteRecordDetail> voteRecordDetails; string[] colors = new string[] { "F6BD0F", "8BBA00", "A66EDD", "F984A1", "CCCC00", "999999", "0099CC", "FF0000", "006F00", "0099FF", "FF66CC", "669966", "7C7CB4", "FF9933", "9900FF", "99FFCC", "CCCCFF", "669900", "1941A5", "AFD8F8" }; voteItems = voteItem.GetModelList(" VoteID = " + vi.key.ToString()); Random random = new Random(); foreach (LabMS.Model.VoteItem vii in voteItems) { sbXml = new System.Text.StringBuilder(); sbXml.Append("<graph caption='"); sbXml.Append(HandleString(vii.VoteItemContent)); sbXml.Append("' xAxisName='评价项' yAxisName='票数' decimalPrecision='0' formatNumberScale='0'>"); voteAnswers = voteAnswer.GetModelList(" VoteItemID = " + vii.key.ToString()); int i = Math.Abs(random.Next()); i = random.Next(i) / colors.Length; foreach (LabMS.Model.VoteAnswer vai in voteAnswers) { voteRecordDetails = voteRecordDetail.GetModelList( " VoteItemID = " + vii.key.ToString() + " and VoteAnswerID = " + vai.key.ToString() ); sbXml.Append(string.Format("<set name='{0}' value='{1}' color='{2}' />", HandleString(vai.VoteAnswerContent), voteRecordDetails.Count, colors[i++ % colors.Length])); } sbXml.Append("</graph>"); result.Append( InfoSoftGlobal.FusionCharts.RenderChartHTML("../FusionCharts/FCF_Bar2D.swf", "", sbXml.ToString(), "item" + vii.key, "600", "200", false) ); } return result.ToString(); }