Exemple #1
0
        /// <summary>
        /// 取得問卷資料
        /// </summary>
        /// <param name="uid">問卷識別碼</param>
        /// <returns>問卷資料</returns>
        public QuestionnaireEntity GetQuestionnaire(string uid)
        {
            QuestionnaireEntity questionEntity = null;

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


            QuestionnaireDO questionDO = new QuestionnaireDAO().GetQuestionnaire(uid);

            if (questionDO == null)
            {
                var ex = new InvalidOperationException($"questionnaireDO not found");
                ex.Data["uid"] = uid;
                throw ex;
            }

            IEnumerable <QuestDefineEntity> questDefineEntities = GetQuestDefineEntities(questionDO.Uid);

            if ((questDefineEntities == null) ||
                (questDefineEntities.Count() == 0))
            {
                var ex = new InvalidOperationException($"questDefineEntities not found");
                ex.Data["questionDO.Uid"] = questionDO.Uid;
                throw ex;
            }

            questionEntity = new QuestionnaireEntity()
            {
                Uid               = questionDO.Uid,
                QuestId           = questionDO.QuestId,
                Version           = questionDO.Version,
                Kind              = questionDO.Kind,
                Name              = questionDO.Name,
                Memo              = questionDO.Memo,
                Ondate            = questionDO.Ondate,
                Offdate           = questionDO.Offdate,
                NeedScore         = questionDO.NeedScore,
                QuestScore        = questionDO.QuestScore,
                ScoreKind         = questionDO.ScoreKind,
                HeadBackgroundImg = questionDO.HeadBackgroundImg,
                HeadDescription   = questionDO.HeadDescription,
                FooterDescription = questionDO.FooterDescription,
                CreateUserId      = questionDO.CreateUserId,
                CreateTime        = questionDO.CreateTime,
                ModifyUserId      = questionDO.ModifyUserId,
                ModifyTime        = questionDO.ModifyTime,

                QuestDefineEntities = questDefineEntities,
            };

            return(questionEntity);
        }
        public void ReadAllTest()
        {
            //arrange
            QuestionnaireDAO target   = new QuestionnaireDAO();
            Guid             expected = Guid.Parse("91800195-25B9-40A5-AA66-0C66F9363A79");
            //act
            List <QuestionnaireDO> actual;

            actual = target.ReadAll();
            //assert
            Assert.AreEqual(expected, actual[0].Uid);
        }
        public void CountTest()
        {
            //arrange
            QuestionnaireDAO target = new QuestionnaireDAO();
            int expected            = 3;
            //act
            int actual;

            actual = target.Count();
            //assert
            Assert.AreEqual(expected, actual);
        }
Exemple #4
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);
        }
Exemple #5
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public QuestionnaireBLL(LoggingSessionInfo pUserInfo)
 {
     this.CurrentUserInfo = pUserInfo;
     this._currentDAO     = new QuestionnaireDAO(pUserInfo);
 }