Пример #1
0
        /// <summary>
        /// Persiste el elemento.
        /// </summary>
        /// <param name="Poll"></param>
        /// <returns></returns>
        public bool Save(Poll poll)
        {
            if (!IsValid(poll))
            {
                return(false);
            }

            PollQuestionMapper       pollQuestionMapper       = new PollQuestionMapper();
            PollQuestionOptionMapper pollQuestionOptionMapper = new PollQuestionOptionMapper();

            if (!pollQuestionMapper.Save(poll))
            {
                string errorDescription = "No se han podido guardar las preguntas para la encuesta con id " + poll.Id + ".";
                log.AddLogCritical("Save", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            if (!pollQuestionOptionMapper.Save(poll.Questions))
            {
                string errorDescription = "No se ha podido guardar las opcione spara la spreguntas de la encuesta con id " + poll.Id + ".";
                log.AddLogCritical("Save", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            return(true);
        }
Пример #2
0
        /// <summary>
        /// Recupera el listado de preguntas asociadas a una encuesta.
        /// </summary>
        /// <param name="pollId"></param>
        /// <returns></returns>
        public List <PollQuestion> Get(int pollId)
        {
            PollQuestionOptionMapper pollQuestionOptionMapper = new PollQuestionOptionMapper();
            PollQuestionMapper       pollQuestionMapper       = new PollQuestionMapper();
            List <PollQuestion>      pollQuestions            = pollQuestionMapper.GetByPoll(pollId);

            if (pollQuestions != null)
            {
                foreach (PollQuestion pollQuestion in pollQuestions)
                {
                    //TODO - controlar errores
                    pollQuestion.Options = pollQuestionOptionMapper.Get(pollQuestion.Id);
                }
            }
            else
            {
                string errorDescription = "No se han podido encontrar las preguntas para la encuesta con Id " + pollId + ".";
                log.AddLogCritical("Get", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
            }

            return(pollQuestions);
        }
Пример #3
0
        /// <summary>
        /// Elimina todas las preguntas asociadas a la encuestrapasada por parámetro.
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        public bool Delete(Poll poll)
        {
            PollQuestionMapper       pollQuestionMapper       = new PollQuestionMapper();
            PollQuestionOptionMapper pollQuestionOptionMapper = new PollQuestionOptionMapper();

            if (!pollQuestionOptionMapper.Delete(poll.Id))
            {
                string errorDescription = "No se han podido eliminar las opciones de las preguntas de la encuesta con id " + poll.Id + ".";
                log.AddLogCritical("Delete", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            if (!pollQuestionMapper.Delete(poll.Id))
            {
                string errorDescription = "No se han podido eliminar las preguntas de la encuesta con id " + poll.Id + ".";
                log.AddLogCritical("Delete", errorDescription, this);
                AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription));
                return(false);
            }

            return(true);
        }