コード例 #1
0
ファイル: UserProfileController.cs プロジェクト: ZSimon/AS
            public JsonResult SaveProfile(QAProfile profile)
            {
                try
                {
                    var cs             = new DataSettingsManager().LoadSettings().DataConnectionString;
                    var profileAnswers = profile.ProfileAnswers;
                    using (SqlConnection conn = new SqlConnection(cs))
                    {
                        using (SqlCommand cmd = new SqlCommand("dbo.P_QAUpdateProfile", conn))
                        {
                            var dt = new DataTable();
                            dt.Columns.Add("QuestionId", typeof(Int32));
                            dt.Columns.Add("AnswerId", typeof(Int32));

                            foreach (ProfileAnswer t in profileAnswers)
                            {
                                dt.Rows.Add(t.QuestionId, t.AnswerId);
                            }

                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@ProfileId", SqlDbType.Int).Value = profile.ProfileId;
                            cmd.Parameters.Add(new SqlParameter("qa", SqlDbType.Structured));
                            cmd.Parameters["qa"].Value = dt;
                            conn.Open();
                            cmd.ExecuteNonQuery();
                        }
                    }
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, msg = ex.Message, profiles = "+" }, JsonRequestBehavior.AllowGet));
                }

                return(Json(new { success = true, msg = "" }, JsonRequestBehavior.DenyGet));
            }
コード例 #2
0
ファイル: UserProfileController.cs プロジェクト: ZSimon/AS
            /*det question and answers of some profile*/
            public JsonResult QaProfile()
            {
                List <QAProfile> profiles = new List <QAProfile>();

                try
                {
                    var customer = EngineContext.Current.Resolve <IWorkContext>().CurrentCustomer;

                    var cs = new DataSettingsManager().LoadSettings().DataConnectionString;
                    using (SqlConnection conn = new SqlConnection(cs))
                    {
                        using (SqlCommand cmd = new SqlCommand("dbo.P_QAGetProfile", conn))
                        {
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.Parameters.Add("@CustomerId", SqlDbType.Int).Value = customer.Id;;

                            conn.Open();
                            var rdr = cmd.ExecuteReader();

                            Int32     id      = 0;
                            QAProfile profile = null;
                            while (rdr.Read())
                            {
                                if (rdr.GetInt32(0) != id)
                                {
                                    if (profile != null)
                                    {
                                        profiles.Add(profile);
                                    }
                                    id      = rdr.GetInt32(0);
                                    profile = new QAProfile
                                    {
                                        ProfileId = id,
                                        Name      = rdr.GetString(1)
                                    };
                                }


                                if (rdr.IsDBNull(2))
                                {
                                    continue;                 /*jump to next iteration of while*/
                                }
                                ProfileAnswer profileAnswer = new ProfileAnswer
                                {
                                    QuestionId = rdr.GetInt32(2),
                                    AnswerId   = rdr.GetInt32(3)
                                };

                                profile?.ProfileAnswers.Add(profileAnswer);
                            }
                            rdr.Close();

                            if (profile != null)
                            {
                                profiles.Add(profile);
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    return(Json(new { success = false, msg = ex.Message, profiles = "" }, JsonRequestBehavior.AllowGet));
                }

                return(Json(new { success = true, msg = "", profiles = profiles }, JsonRequestBehavior.AllowGet));

                /*
                 * var requestedETag = Request.Headers["If-None-Match"];
                 * var responseETag = "1e"; // lookup or generate etag however you want
                 * if (requestedETag == responseETag)
                 *  return new HttpStatusCodeResult(HttpStatusCode.NotModified);
                 *
                 * Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate);
                 * Response.Cache.SetETag(responseETag);
                 *
                 * //if (Request.Headers["If-Modified-Since"] != null && Count % 2 == 0)
                 * //{
                 * //    return new HttpStatusCodeResult((int)HttpStatusCode.NotModified);
                 * //}
                 *
                 * //Response.Cache.SetExpires(DateTime.Now.AddSeconds(5));
                 * //Response.Cache.SetLastModified(DateTime.Now);
                 */
            }