private DWFResponse SaveResponse(HttpContext context) { DWFResponse rspReturn = new DWFResponse(); string strList = context.Request["List"] == null ? mcstrResponseList : context.Request["List"]; rspReturn.IsError = true; if (context.Request["ResponseData"] != null) { JavaScriptSerializer ser = new JavaScriptSerializer(new SimpleTypeResolver()); SurveyResponse srThis = new SurveyResponse(); srThis.ResponseData = ser.Deserialize <List <SurveyAnswer> >(context.Request["ResponseData"]); srThis.ResponseName = context.Request["ResponseName"]; srThis.TemplateID = new Guid(context.Request["TemplateID"]); using (SPWeb web = SPContext.Current.Web) { try { SPList lst = web.Lists.TryGetList(strList); if (lst != null) { SPListItem lsi; if (context.Request["ID"] == "-1") { lsi = lst.Items.Add(); } else { lsi = lst.GetItemByUniqueId(new Guid(context.Request["ID"])); } lsi["Title"] = srThis.ResponseName; lsi["ResponseName"] = srThis.ResponseName; int intScore = srThis.Score(SurveyHandler.GetTemplate(context.Request["TemplateList"], srThis.TemplateID), SurveyHandler.GetScoreCard()); lsi["Score"] = intScore; lsi["TemplateID"] = srThis.TemplateID; lsi["ResponseData"] = context.Request["ResponseData"]; web.AllowUnsafeUpdates = true; SPSecurity.RunWithElevatedPrivileges(delegate() { lsi.Update(); }); web.AllowUnsafeUpdates = false; rspReturn.IsError = false; rspReturn.Message = "<h2>" + intScore + " out of 10</h2>"; rspReturn.Message += "<p>" + srThis.ScoreDescription + "</p>"; } } catch (Exception ex) { context.Response.StatusCode = 500; context.Response.StatusDescription = "DWF Survey: " + ex.Message; } } } else { context.Response.StatusCode = 500; context.Response.StatusDescription = "DWF Survey: Specified Responses List Not Found"; } return(rspReturn); }
private DWFResponse SaveResponse(HttpContext context) { DWFResponse rspReturn = new DWFResponse(); string strList = context.Request["List"] == null ? mcstrResponseList : context.Request["List"]; rspReturn.IsError = true; if (context.Request["ResponseData"] != null) { JavaScriptSerializer ser = new JavaScriptSerializer(new SimpleTypeResolver()); SurveyResponse srThis = new SurveyResponse(); srThis.ResponseData = ser.Deserialize<List<SurveyAnswer>>(context.Request["ResponseData"]); srThis.ResponseName = context.Request["ResponseName"]; srThis.TemplateID = new Guid(context.Request["TemplateID"]); using (SPWeb web = SPContext.Current.Web) { try { SPList lst = web.Lists.TryGetList(strList); if (lst != null) { SPListItem lsi; if (context.Request["ID"] == "-1") { lsi = lst.Items.Add(); } else { lsi = lst.GetItemByUniqueId(new Guid(context.Request["ID"])); } lsi["Title"] = srThis.ResponseName; lsi["ResponseName"] = srThis.ResponseName; int intScore = srThis.Score(SurveyHandler.GetTemplate(context.Request["TemplateList"], srThis.TemplateID), SurveyHandler.GetScoreCard()); lsi["Score"] = intScore; lsi["TemplateID"] = srThis.TemplateID; lsi["ResponseData"] = context.Request["ResponseData"]; web.AllowUnsafeUpdates = true; SPSecurity.RunWithElevatedPrivileges(delegate() { lsi.Update(); }); web.AllowUnsafeUpdates = false; rspReturn.IsError = false; rspReturn.Message = "<h2>" + intScore + " out of 10</h2>"; rspReturn.Message += "<p>" + srThis.ScoreDescription + "</p>"; } } catch (Exception ex) { context.Response.StatusCode = 500; context.Response.StatusDescription = "DWF Survey: " + ex.Message; } } } else { context.Response.StatusCode = 500; context.Response.StatusDescription = "DWF Survey: Specified Responses List Not Found"; } return rspReturn; }