コード例 #1
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="dataObject"></param>
 /// <returns></returns>
 public bool MappingDO(QuestionnaireDO dataObject)
 {
     try
     {
         QuestId           = dataObject.QuestId;
         Version           = dataObject.Version;
         Kind              = dataObject.Kind;
         Name              = dataObject.Name;
         Memo              = dataObject.Memo;
         Ondate            = dataObject.Ondate;
         Offdate           = dataObject.Offdate;
         NeedScore         = dataObject.NeedScore;
         QuestScore        = dataObject.QuestScore;
         ScoreKind         = dataObject.ScoreKind;
         HeadBackgroundImg = dataObject.HeadBackgroundImg;
         HeadDescription   = dataObject.HeadDescription;
         FooterDescription = dataObject.FooterDescription;
         Uid          = dataObject.Uid;
         CreateUserId = dataObject.CreateUserId;
         CreateTime   = dataObject.CreateTime;
         ModifyUserId = dataObject.ModifyUserId;
         ModifyTime   = dataObject.ModifyTime;
         return(true);
     }
     catch (Exception ex)
     {
         return(false);
     }
 }
コード例 #2
0
        /// <summary>
        /// 取得有效的問卷資料
        /// </summary>
        /// <param name="id">問卷編號</param>
        /// <returns>有效的問卷資料</returns>
        public QuestionnaireDO GetActiveQuestionniare(string id)
        {
            QuestionnaireDO questionnaireDO = null;

            if (String.IsNullOrEmpty(id))
            {
                throw new ArgumentNullException("id");
            }

            string query = @"
SELECT TOP 1 
    [Uid], [QuestId], [Version], [Kind], [Name], [Memo], [Ondate],
    [Offdate], [NeedScore], [QuestScore], [ScoreKind], [HeadBackgroundImg], [HeadDescription],
    [FooterDescription], [CreateUserId], [CreateTime], [ModifyUserId], [ModifyTime] 
FROM Questionnaire 
WHERE QuestId = @QuestId 
    AND Ondate < @DateTimeNow 
    AND ((Offdate > @DateTimeNow) OR (Offdate is NULL)) 
ORDER BY Version DESC;";

            using (SqlConnection connection = DbConnection)
            {
                SqlCommand command = new SqlCommand(query, connection);

                command.Parameters.Add(new SqlParameter("@QuestId", SqlDbType.VarChar)
                {
                    Value = id
                });
                command.Parameters.Add(new SqlParameter("@DateTimeNow", SqlDbType.DateTime)
                {
                    Value = DateTime.Now.Date,
                });

                connection.Open();

                DataTable      dt      = new DataTable();
                SqlDataAdapter adapter = new SqlDataAdapter(command);
                adapter.Fill(dt);

                if (dt.Rows.Count == 1)
                {
                    questionnaireDO = ConvertQuestionnaireDO(dt.Rows[0]);
                }

                adapter = null;
                dt      = null;
                command = null;

                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }

            return(questionnaireDO);
        }
コード例 #3
0
        /// <summary>
        /// 取得有效的問卷資料
        /// </summary>
        /// <param name="id">問卷編號</param>
        /// <returns></returns>
        public Questionnaire GetActiveQuestionnaire(string id)
        {
            QuestionnaireDAO questionnaireDAO = new QuestionnaireDAO();
            QuestionnaireDO  questionnaireDO  = questionnaireDAO.Read(id);
            //DO傳給Entity
            QuestionnaireEntity questionnaireEntity = new QuestionnaireEntity();

            questionnaireEntity.MappingDO(questionnaireDO);
            //Entity傳給DTO
            Questionnaire questionnaire = new Questionnaire(questionnaireEntity);

            return(questionnaire);
        }
コード例 #4
0
ファイル: QuestionnaireDAO.cs プロジェクト: xx9876xx/LabB3
        /// <summary>
        /// 查詢問卷
        /// </summary>
        /// <param name="id">問卷Uid</param>
        /// <returns> QuestionnaireDO物件 </returns>
        public QuestionnaireDO Read(string QuestId)
        {
            try
            {
                QuestionnaireDO questionnaireDO = new QuestionnaireDO();
                using (SqlConnection cn = GetConnection())
                {
                    SqlCommand cmd = new SqlCommand
                                         ("SELECT TOP 1 [Uid],[QuestId],[Version],[Kind],[Name],[Memo],[Ondate],[Offdate]," +
                                         "[NeedScore],[QuestScore],[ScoreKind],[HeadBackgroundImg],[HeadDescription]," +
                                         "[FooterDescription],[CreateUserId],[CreateTime],[ModifyUserId],[ModifyTime] " +
                                         "FROM[LabB3].[dbo].[Questionnaire] " +
                                         "WHERE [QuestId] = @quesrId " +
                                         "ORDER BY [Ondate] DESC", cn);
                    cmd.Parameters.AddWithValue("@quesrId", QuestId);
                    cn.Open();

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            questionnaireDO.Uid               = dr.GetGuid(dr.GetOrdinal("Uid"));
                            questionnaireDO.Version           = dr["Version"].ToString();
                            questionnaireDO.Kind              = dr["Kind"].ToString();
                            questionnaireDO.Name              = dr["Name"].ToString();
                            questionnaireDO.Memo              = dr["Memo"].ToString();
                            questionnaireDO.Ondate            = ObjectToNullableDateTime(dr["Ondate"]);
                            questionnaireDO.Offdate           = ObjectToNullableDateTime(dr["Offdate"]);
                            questionnaireDO.NeedScore         = dr["NeedScore"].ToString();
                            questionnaireDO.ScoreKind         = dr["ScoreKind"].ToString();
                            questionnaireDO.HeadBackgroundImg = dr["HeadBackgroundImg"].ToString();
                            questionnaireDO.HeadDescription   = dr["HeadDescription"].ToString();
                            questionnaireDO.FooterDescription = dr["FooterDescription"].ToString();
                            questionnaireDO.CreateUserId      = dr["CreateUserId"].ToString();
                            questionnaireDO.CreateTime        = ObjectToNullableDateTime(dr["CreateTime"]);
                            questionnaireDO.ModifyUserId      = dr["ModifyUserId"].ToString();
                            questionnaireDO.ModifyTime        = ObjectToNullableDateTime(dr["ModifyTime"]);
                        }
                        cmd.Cancel();
                        dr.Close();
                    }
                }
                return(questionnaireDO);
            }
            catch (Exception ex)
            {
                logger.Error(ex);
                ExceptionDispatchInfo.Capture(ex).Throw();
                return(null);
            }
        }
コード例 #5
0
        /// <summary>
        /// 取得問卷資料
        /// </summary>
        /// <param name="uid">問卷識別碼</param>
        /// <returns>問卷資料</returns>
        public QuestionnaireDO GetQuestionnaire(string uid)
        {
            QuestionnaireDO questionDO = null;

            if (String.IsNullOrEmpty(uid))
            {
                throw new ArgumentNullException("uid");
            }

            string query = @"
SELECT 
    [Uid], [QuestId], [Version], [Kind], [Name], [Memo], [Ondate],
    [Offdate], [NeedScore], [QuestScore], [ScoreKind], [HeadBackgroundImg], [HeadDescription],
    [FooterDescription], [CreateUserId], [CreateTime], [ModifyUserId], [ModifyTime] 
FROM Questionnaire 
WHERE Uid = @Uid";

            using (SqlConnection connection = DbConnection)
            {
                SqlCommand command = new SqlCommand(query, connection);

                command.Parameters.Add(new SqlParameter("@Uid", SqlDbType.VarChar)
                {
                    Value = uid
                });

                connection.Open();

                DataTable      dt      = new DataTable();
                SqlDataAdapter adapter = new SqlDataAdapter(command);
                adapter.Fill(dt);

                if (dt.Rows.Count == 1)
                {
                    questionDO = ConvertQuestionnaireDO(dt.Rows[0]);
                }

                adapter = null;
                dt      = null;
                command = null;

                if (connection.State == ConnectionState.Open)
                {
                    connection.Close();
                }
            }

            return(questionDO);
        }