Esempio n. 1
0
        public void SalvaSurvey(int surveyId, string username, List <Answer> risposte)
        {
            //TODO verifico che non esista già una sessione a nome di quell'utente?

            //Creo la sessione
            SurveySession session = new SurveySession
            {
                User     = username,
                SurveyId = surveyId,
                Risposte = new List <Answer>()
            };

            //Salvo le risposte
            foreach (var r in risposte)
            {
                r.Session = session;
                session.Risposte.Add(r);
            }

            //La segno come non revisionata
            session.Revisionato = false;

            reposSurveySession.Add(session);

            unityOfWork.Commit();
        }
Esempio n. 2
0
        public SurveyWithAnswers GetSurveyWithAnswers(int idSurveySession)
        {
            SurveySession surveySession = GetSurveySession(idSurveySession);

            if (surveySession != null)
            {
                Survey        survey   = surveySession.Survey;
                List <Answer> risposte = surveySession.Risposte.ToList();

                //Prendo tutte le domande e risposte
                var qWr = from q in survey.Questions
                          let risposta = risposte.Single(r => r.DomandaId == q.Id)
                                         select new QuestionWithAnswer
                {
                    RispostaDataId = risposta.RispostaDataId,
                    Question       = q
                };

                //Carico le informazioni sul profilo
                string      username = surveySession.User;
                UserProfile profilo  = userService.GetUtente(username);

                //Creo l'oggetto per la view
                SurveyWithAnswers surveyWithAnswers = new SurveyWithAnswers
                {
                    SurveySession      = surveySession,
                    DomandeConRisposte = qWr.ToList(),
                    NomeRisorsa        = profilo.ToString()
                };

                return(surveyWithAnswers);
            }
            else
            {
                return(null);
            }
        }