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;
        }