public void SendPersonalData(SentPersonalData data, int id) { SentAnswer existingAnswer = _answers.FindOne(ans => ans.SurveyId == id); if (existingAnswer == null) { //Survey not exists SentAnswer answer = new SentAnswer() { SurveyId = id, CompletedCounter = 0, LeftCounter = 0, Answers = new List <SentPersonalData_Answers>() }; SentPersonalData_Answers PData = new SentPersonalData_Answers() { PersonalData = new SentPersonalData() { Age = data.Age, Name = data.Name, Email = data.Email, Gender = data.Gender }, Pages = new List <Page>() }; answer.Answers.Add(PData); _answers.Insert(answer); } else { //Survey Exists var existingData = existingAnswer.Answers.Find(answer => answer.PersonalData.Email == data.Email); if (existingData == null) { //Person not exists existingAnswer.Answers.Add( new SentPersonalData_Answers() { PersonalData = new SentPersonalData() { Age = data.Age, Name = data.Name, Email = data.Email, Gender = data.Gender }, Pages = new List <Page>() }); _answers.Delete(answer => answer.SurveyId == id); _answers.Insert(existingAnswer); } else { return; } } }
//PRIVATE FUNCTIONS private SentAnswerView ToView(SentAnswer answer) { var view = new SentAnswerView() { SurveyId = answer.SurveyId, CompletedCounter = answer.CompletedCounter, LeftCounter = answer.LeftCounter, Answers = answer.Answers }; return(view); }