public Boolean AddField(int pollID, String name)
 {
     var field = new ParticipantField(name);
     pollRepository.GetPollByID(pollID).participantFields.Add(field);
     participantRepository.UpdateFields(field);
     return true;
 }
 public PollReportViewModel(int pollID, String name, IList<Question> questions, IDictionary<Question, IDictionary<String, int>> responses, ParticipantField field, bool include, String[] tick)
 {
     var pollRepository = new PollRepository(NHibernateHelper.GetCurrentSession());
     this.pollID = pollID;
     this.name = name;
     this.poll = pollRepository.GetPollByID(pollID);
     this.field = field;
     this.include = include;
     this.tick = tick;
     this.questions = questions;
     this.responses = responses;
     this.poll = pollRepository.GetPollByID(pollID);
     this.selectedEntities = new List<Entity>();
 }
 public DemographicQuestion(int questionNumber, QuestionChart resultsChart, QuestionChart comparisonChart, CountdownTimer countdownTimer, ResponseCounter responseCounter, CorrectAnswerIndicator correctAnswerIndicator, ResponseGrid responseGrid, DemographicQuestion compareWith, ParticipantField linkedField)
 {
     this.questionID = -1;
     this.question = compareWith.question;
     this.creationTime = DateTime.Now;
     this.deletionTime = null;
     this.questionNumber = questionNumber;
     this.type = QuestionType.Demographic;
     this.fontType = compareWith.fontType;
     this.fontColour = compareWith.fontColour;
     this.fontSize = compareWith.fontSize;
     this.resultsChart = resultsChart;
     this.comparisonChart = comparisonChart;
     this.asynchronous = true;
     this.responded = new HashSet<Participant>();
     this.countdownTimer = countdownTimer;
     this.responseCounter = responseCounter;
     this.correctAnswerIndicator = correctAnswerIndicator;
     this.responseGrid = responseGrid;
     this.allowedAnswers = compareWith.allowedAnswers;
     this.options = compareWith.options;
     this.compareWith = compareWith;
     this.linkedField = linkedField;
 }
 public Boolean DeleteFields(ParticipantField field)
 {
     var questions = (from item in session.Query<DemographicQuestion>()
                      where item.linkedField!=null && item.linkedField.fieldID == field.fieldID
                      select item).ToList();
     QuestionController p = new QuestionController();
     Poll poll;
     if (questions != null && questions.Count != 0)
     {
         poll = (from item in session.Query<Poll>()
                 where item.questions.Contains(questions.First())
                 select item).FirstOrDefault();
         foreach (DemographicQuestion q in questions)
         {
             p.ConvertToCustom(q.questionID, poll.pollID);
             if ((from item in session.Query<ParticipantField>()
                 where item.fieldID==field.fieldID select item).Count()==0)
                 return true;
         }
     }
     foreach (ParticipantFieldValue pv in field.fieldValues) { pv.participant = null; pv.groupd = null; }
     session.Delete(field);
     return true;
 }
 public void UpdateFields(ParticipantField field)
 {
     session.SaveOrUpdate(field);
 }