/// <summary> /// Devuelve el listado de encuestas "generales" / "on the fly". /// </summary> /// <returns></returns> public List<Poll> GetPollsForReport(bool instant) { PollMapper pollMapper = new PollMapper(); List<Poll> polls = pollMapper.GetPollsForReport(instant); foreach (Poll poll in polls) PopulatePoll(poll); return polls; }
/// <summary> /// Guarda los cambios del recurso existente. /// </summary> /// <param name="map"></param> /// <returns></returns> public bool Edit(Poll poll) { PollAnswerManager pollAnswerManager = new PollAnswerManager(); PollQuestionManager pollQuestionManager = new PollQuestionManager(); PollMapper pollMapper = new PollMapper(); if (!IsValideForEdit(poll)) return false; //Si fue respondida, no es posible la edición. //Notar que a menos que se editen las preguntas, Questions estará vacío bool hasQuestions = poll.Questions != null && poll.Questions.Count > 0; if (hasQuestions && pollAnswerManager.HasAnswers(poll)) { string errorDescription = "La encuesta no puede ser editada porque al menos una persona contestó."; log.AddLogInfo("Edit", errorDescription, this); AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription)); return false; } if (!pollMapper.Edit(poll)) { string errorDescription = "No se ha podido modificar la encuesta."; log.AddLogCritical("Edit", errorDescription, this); AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription)); return false; } if (hasQuestions && !pollQuestionManager.Edit(poll)) { AddError(pollQuestionManager.Errors); return false; } return true; }
/// <summary> /// Recupera la encuesta de satisfacción (activa) /// </summary> /// <returns></returns> public Poll GetSatisfactionPoll() { PollQuestionManager pollQuestionManager = new PollQuestionManager(); PollMapper pollMapper = new PollMapper(); Poll poll = pollMapper.GetSatisfactionPoll(); PopulatePoll(poll); return poll; }
/// <summary> /// Recupera una encuesta en base a su id. /// </summary> /// <param name="id"></param> /// <returns></returns> public Poll Get(int id) { PollQuestionManager pollQuestionManager = new PollQuestionManager(); PollMapper pollMapper = new PollMapper(); Poll poll = pollMapper.Get(id); PopulatePoll(poll); return poll; }
/// <summary> /// Devuelve una encuesta aleatoria válida apara ser mostrada en el sitio. /// </summary> /// <returns></returns> public Poll GetInstantPoll() { PollMapper pollMapper = new PollMapper(); List<Poll> polls = pollMapper.GetInstantPolls(); Poll poll = null; if (polls != null && polls.Count > 0) { poll = polls[new Random().Next(0, polls.Count)]; PopulatePoll(poll); } return poll; }
/// <summary> /// Elimina el elemento cuyo id es pasado por parámetro. /// </summary> /// <param name="id"></param> /// <returns></returns> public bool Delete(int id) { PollMapper pollMapper = new PollMapper(); if (!pollMapper.Delete(id)) { string errorDescription = "No se ha podido eliminar la encuesta con id " + id + "."; log.AddLogCritical("Delete", errorDescription, this); AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription)); return false; } return true; }
/// <summary> /// Persiste el elemento. /// </summary> /// <param name="Poll"></param> /// <returns></returns> public bool Save(Poll poll) { if (!IsValid(poll)) return false; PollMapper pollMapper = new PollMapper(); PollQuestionManager pollQuestionManager = new PollQuestionManager(); if (!pollMapper.Save(poll)) { string errorDescription = "No se ha podido guardar la encuesta."; log.AddLogCritical("Save", errorDescription, this); AddError(new ResultBE(ResultBE.Type.FAIL, errorDescription)); return false; } if (!pollQuestionManager.Save(poll)) { AddError(pollQuestionManager.Errors); return false; } return true; }
public PollServiceImpl(PollMapper pollMapper) { this._pollMapper = pollMapper; }
/// <summary> /// Recupera el listado de todos los items. /// </summary> /// <returns></returns> public List<Poll> Get() { PollMapper pollMapper = new PollMapper(); return pollMapper.Get(); }
public AutoMapperProfile() { PollMapper.Map(this); }
public VoteServiceImpl(VoteMapper voteMapper, OptionMapper optionMapper, PollMapper pollMapper) { this._voteMapper = voteMapper; this._optionMapper = optionMapper; this._pollMapper = pollMapper; }