public bool AddAnswerToSimplePollOption(SimplePollAnswerUpdateModel updateModel) { SimplePoll simplePoll = GetSimplePollById(updateModel.SimplePollId.Value); if (simplePoll == null) { return(false); } var simplePollOption = simplePoll.Options.FirstOrDefault(o => o.Id == updateModel.SimplePollOptionId); if (simplePollOption == null) { return(false); } List <SimplePollAnswer> answersDb = _database.GetSimplePollAnswers(updateModel.SimplePollId.Value); if (answersDb == null) { answersDb = new List <SimplePollAnswer>(); } var answers = answersDb .Where(a => a.EmployeeName == updateModel.EmployeeName) .ToList(); if (simplePoll.Type == SimplePoolType.SingleChoice) { if (answers.Any()) { return(false); } } else if (simplePoll.Type == SimplePoolType.MultipleChoice) { if (answers.Select(a => a.SimplePollOptionId).Contains(updateModel.SimplePollOptionId.Value)) { return(false); } } answersDb.Add(new SimplePollAnswer() { EmployeeName = updateModel.EmployeeName, SimplePollOptionId = updateModel.SimplePollOptionId.Value }); _database.AddSimplePollAnswers(updateModel.SimplePollId.Value, answersDb); return(true); }