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;
 }