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