예제 #1
0
    public string Insert(QuestionnaireAnswerData data)
    {
        string       sqlStr, answerPK;
        SqlCommand   cmd;
        SqlParameter paramAnswer;

        sqlStr = "Insert Into QuestionnaireAnswer(detailId,QAMId,answerValue,answerText,createDa" +
                 "te) Values(@detailId,@QAMId,@answerValue,@answerText,@createDate) SET @AnswerPK = SCOPE_IDENTITY()";
        cmd = new SqlCommand(sqlStr, this.mCon);
        cmd.Parameters.AddWithValue("@detailId", data.DetailId);
        cmd.Parameters.AddWithValue("@QAMId", data.QAMId);
        cmd.Parameters.AddWithValue("@answerValue", data.AnswerValue);
        cmd.Parameters.AddWithValue("@answerText", data.AnswerText);
        cmd.Parameters.AddWithValue("@createDate", data.CreateDate);

        paramAnswer = new SqlParameter("@AnswerPK", System.Data.SqlDbType.Int)
        {
            Direction = System.Data.ParameterDirection.Output
        };
        cmd.Parameters.Add(paramAnswer);

        this.mCon.Open();
        cmd.ExecuteNonQuery();
        this.mCon.Close();
        cmd.Dispose();

        answerPK = paramAnswer.Value.ToString();
        return(answerPK);
    }
예제 #2
0
    public string SaveAnswerGroup(string value)
    {
        List <QuestionnaireAnswerData> qads = new List <QuestionnaireAnswerData>();
        QuestionnaireAnswerManager     qam  = new QuestionnaireAnswerManager();
        QuestionnaireAnswerData        qad;

        string[] values = value.Split(new string[] { ";" }, StringSplitOptions.RemoveEmptyEntries);

        foreach (var val in values)
        {
            qad = new QuestionnaireAnswerData();
            qad = Element.ToElement(qad, val);
            //設定其餘屬性
            qad.CreateDate = DateTime.Now;
            if (qad.AnswerValue.IndexOf("$&") != -1)
            {
                qad.AnswerValue = qad.AnswerValue.Replace("$&", ",");
            }

            if (qad.AnswerText.IndexOf("$&") != -1)
            {
                qad.AnswerText = qad.AnswerText.Replace("$&", ",");
            }
            if (qad.AnswerText.IndexOf("$#") != -1)
            {
                qad.AnswerText = qad.AnswerText.Replace("$#", ":");
            }

            qads.Add(qad);
        }
        qam.InsertGroups(qads);

        return("Y");
    }
        /// <summary>
        /// Method for deserialization of a XML-String to the coressponding QuestionnaireAnswerData.
        /// </summary>
        ///
        /// <param name="str"> String containing the XML-QuestionnaireAnswerData for deserialization. </param>
        ///
        /// <returns>
        /// QuestionnaireAnswerData-type coressponding to the parameter "str" after deserialization.
        /// </returns>
        internal QuestionnaireAnswerData getQuestionnaireAnswerDataFromXmlString(String str)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(QuestionnaireAnswerData));

            using (TextReader reader = new StringReader(str))
            {
                QuestionnaireAnswerData result = (QuestionnaireAnswerData)serializer.Deserialize(reader);
                return(result);
            }
        }
예제 #4
0
    private QuestionnaireAnswerData GetQuestionnaireAnswer(SqlDataReader dr)
    {
        QuestionnaireAnswerData data = new QuestionnaireAnswerData();

        data.Id          = ((int)(dr["id"]));
        data.DetailId    = ((int)(dr["detailId"]));
        data.QAMId       = (int)dr["QAMId"];
        data.AnswerValue = dr["answerValue"].ToString();
        data.AnswerText  = dr["answerText"].ToString();
        data.CreateDate  = ((System.DateTime)(dr["createDate"]));
        return(data);
    }
예제 #5
0
    public virtual void Update(QuestionnaireAnswerData data)
    {
        string     sqlStr;
        SqlCommand cmd;

        sqlStr = "Update QuestionnaireAnswer Set detailId= @detailId,QAMId= @QAMId,answerValue= @an" +
                 "swerValue,answerText= @answerText,createDate= @createDate Where id =@id";
        cmd = new SqlCommand(sqlStr, this.mCon);
        cmd.Parameters.AddWithValue("@detailId", data.DetailId);
        cmd.Parameters.AddWithValue("@QAMId", data.QAMId);
        cmd.Parameters.AddWithValue("@answerValue", data.AnswerValue);
        cmd.Parameters.AddWithValue("@answerText", data.AnswerText);
        cmd.Parameters.AddWithValue("@createDate", data.CreateDate);
        cmd.Parameters.AddWithValue("@id", data.Id);
        this.mCon.Open();
        cmd.ExecuteNonQuery();
        this.mCon.Close();
        cmd.Dispose();
    }
예제 #6
0
        /// <summary>
        /// Method for testing answer-xml deserilization.
        /// </summary>
        internal void performTest3()
        {
            log("Start Test 3");
            String xmlAnswer = @"<?xml version=""1.0"" encoding=""utf-16""?><questionnaireanswers xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" xmlns:xsd=""http://www.w3.org/2001/XMLSchema"">";

            xmlAnswer += "<groups><group><name>A</name><rating>7</rating></group><group><name>B</name><rating>8</rating></group></groups>";
            xmlAnswer += "<questionnaireid>testid</questionnaireid></questionnaireanswers>";

            QuestionnaireAnswerData qad = this.getQuestionnaireAnswerDataFromXmlString(xmlAnswer);

            if (qad.toXmlString().Equals(xmlAnswer))
            {
                log("Serilization and deserilization successful!");
            }
            else
            {
                log("Serilization and deserilization failed!");
                log(qad.toXmlString());
                log(xmlAnswer);
            }

            log("End test 3");
        }