コード例 #1
0
ファイル: ServiceBusiness.cs プロジェクト: dsamueza/Engine
        public Service GenerateQuestion(Service service, string position, Guid currentSection, Guid currentQuestion)
        {
            var type = _typePollDao.GetByCode(CTypePoll.Open);
            //var section = service.ServiceDetails.FirstOrDefault(s => s.Id == idSection);
            var section  = GetCurrentSection(service, currentSection);
            var question = section.Questions.FirstOrDefault(q => q.Id == currentQuestion);
            var order    = 1;

            switch (position)
            {
            case CService.BeforeQuestion:
                order = question.Order;
                break;

            case CService.AfterQuestion:
                order = question.Order + 1;
                break;

            case CService.LastQuestion:
                if (section.Questions.Any())
                {
                    order = section.Questions.Max(q => q.Order) + 1;
                }
                break;
            }

            service = UpdateServiceQuestionSchema(service, currentSection, section, order, type);

            return(service);
        }
コード例 #2
0
        /// <summary>
        /// Adicionar Pregunta
        /// </summary>
        /// <param name="idServiceDetail"></param>
        /// <param name="position"></param>
        /// <returns></returns>
        private Question AddQuestion(Guid idServiceDetail, int position = -1)
        {
            var oneQuestion = new Question
            {
                IdServiceDetail = idServiceDetail,
                TypePoll        = _typePollDao.GetByCode(CTypePoll.Many)
            };

            oneQuestion.IdTypePoll = oneQuestion.TypePoll.Id;
            oneQuestion.HasPhoto   = CQuestion.NoHasPhotos;
            oneQuestion.CountPhoto = 0;

            if (-1 == position)
            {
                oneQuestion.Order = GetMax(idServiceDetail) + 1;
            }
            else
            {
                oneQuestion.Order = position;
            }

            oneQuestion.StatusRegister = CStatusRegister.Active;
            oneQuestion.Title          = CService.InsertQuestion;
            oneQuestion.Weight         = 0;

            return(oneQuestion);
        }
コード例 #3
0
 /// <summary>
 /// Dame la encuesta por código
 /// </summary>
 /// <param name="code"></param>
 /// <returns></returns>
 public TypePoll GetByCode(string code)
 {
     return(_typePollDao.GetByCode(code));
 }