public static void SavePollResponse(PollUserResponse UserResp) { using (var ctx = new BMIKidsEntities(ConnectionString)) { try { UserResp.Serial = Guid.NewGuid(); ctx.PollUserResponses.ApplyChanges(UserResp); ctx.SaveChanges(); } catch (Exception ex) { LogUtility.WriteEntryEventLog("Poll_DataProvider_SavePollResponse", ex, EventLogEntryType.Information); if (ex.InnerException != null) throw ex.InnerException; throw; } } }
protected void sendResBtn_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(rdoPollList.SelectedValue)) { PollQuestion question = Poll_DataProvider.GetPoll().FirstOrDefault(); if (question == null) { Visible = false; return; } if (question.HasScore && KidsOnlineUser == null || KidsOnlineUser.Kids_UserInfo == null) { Response.Redirect("~/ورود.aspx"); return; } string UserIp = Request.UserHostAddress; long selectedItemId = Convert.ToInt64(rdoPollList.SelectedValue); PollResponseItem selectedItem = question.PollResponseItems.FirstOrDefault(o => o.ItemId == selectedItemId); if (selectedItem != null) { //selectedItem.ItemValue = selectedItem.ItemText; string cookName = coockiPrefix + question.QuestionId; if (Request.Cookies.Get(cookName) != null) errorMsgLbl.Text = "شما و يا کاربري ديگري از پشت فايروال شما قبلا به اين سوال پاسخ داده است "; else { long? KidsUserId=null; if(KidsOnlineUser!=null && KidsOnlineUser.Kids_UserInfo!=null) KidsUserId=KidsOnlineUser.Kids_UserInfo.KidsUserId; PollUserResponse UserResp = new PollUserResponse { QuestionId = question.QuestionId, UserIp = UserIp, ResponseItemId = selectedItemId, KidsUserId = KidsUserId, CreateDateTime = DateTime.Now }; Poll_DataProvider.SavePollResponse(UserResp); HttpCookie cook = new HttpCookie(coockiPrefix + question.QuestionId) { Expires = DateTime.MaxValue, Value = selectedItemId.ToString() }; Response.Cookies.Add(cook); rdoPollList.Visible = false; sendResBtn.Visible = false; errorMsgLbl.Visible = false; showPostResult(question); } } else { errorMsgLbl.Visible = true; } } }