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