public UsersList()
        {
            var list = _context.SubmittedeStatusForUsers.ToList();

            foreach (var user in _context.UserPurchases)
            {
                SubmittedStatusForUser completeStatus = (from x in list.OfType <SubmittedStatusForUser>() where x.UserId == user.Id select x).FirstOrDefault();
                var userEntry = new UserEntry
                {
                    User = user,
                    WasCompleteQuestionnaire = (completeStatus != null)
                };
                _users.Add(userEntry);
            }
            _users = _users.OrderBy(x => x.User.Name).ToList();
        }
        public QuestionnaireWithSelectedAnswersForUser(QuestionnaireWithSelectedAnswers questionniare, UserPurchase user)
        {
            this.Questionnaire = questionniare;

            UserData              = new UserData();
            UserData.Email        = user.Email;
            UserData.Name         = user.Name;
            UserData.FacilityName = user.FacilityName;

            DemographicData = new DemographicDataContainer();
            DemographicData.SizeOfFacility                  = user.SizeOfFacility;
            DemographicData.IndustrialClassification        = user.IndustrialClassification;
            DemographicData.AdditionalProductClassification = user.AdditionalProductClassification;
            DemographicData.AnotherProductClassification    = user.AnotherProductClassification;

            SubmittedStatusForUser status = _context.SubmittedeStatusForUsers.SingleOrDefault(x => x.UserId == user.Id);

            WasEverSubmitted = (status != null);
            if (status != null)
            {
                lastSubmitted = status.SubmitedDate;
            }
        }
        public void rememberThatUserHasCompleteQuestionnaire(int userId)
        {
            try
            {
                SubmittedStatusForUser status = _context.SubmittedeStatusForUsers.SingleOrDefault(x => x.UserId == userId);
                if (status != null)
                {
                    status.SubmitedDate = DateTime.Now;
                }
                else
                {
                    _context.SubmittedeStatusForUsers.Add(new SubmittedStatusForUser()
                    {
                        UserId = userId, SubmitedDate = DateTime.Now
                    });
                }

                _context.SaveChanges();
            }
            catch
            {
                throw new Exception("rememberThatUserHasCompleteQuestionnaire failed");
            }
        }