public async Task SurveyConfigurations_Create_DoesCreate() { //Arrange Random rnd = new Random(); question_sets questionSet = new question_sets() { ParentId = 0 }; await questionSet.Create(dbContext).ConfigureAwait(false); survey_configurations surveyConfiguration = new survey_configurations { Name = Guid.NewGuid().ToString(), Start = DateTime.Now, Stop = DateTime.Now, TimeOut = rnd.Next(1, 255), TimeToLive = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; //Act await surveyConfiguration.Create(dbContext).ConfigureAwait(false); List <survey_configurations> surveyConfigurations = dbContext.survey_configurations.AsNoTracking().ToList(); List <survey_configuration_versions> surveyConfigurationVersions = dbContext.survey_configuration_versions.AsNoTracking().ToList(); Assert.NotNull(surveyConfigurations); Assert.NotNull(surveyConfigurationVersions); Assert.AreEqual(1, surveyConfigurations.Count()); Assert.AreEqual(1, surveyConfigurationVersions.Count()); Assert.AreEqual(surveyConfiguration.CreatedAt.ToString(), surveyConfigurations[0].CreatedAt.ToString()); Assert.AreEqual(surveyConfiguration.Version, surveyConfigurations[0].Version); // Assert.AreEqual(surveyConfiguration.UpdatedAt.ToString(), surveyConfigurations[0].UpdatedAt.ToString()); Assert.AreEqual(surveyConfigurations[0].WorkflowState, Constants.WorkflowStates.Created); Assert.AreEqual(surveyConfiguration.Id, surveyConfigurations[0].Id); Assert.AreEqual(surveyConfiguration.Name, surveyConfigurations[0].Name); Assert.AreEqual(surveyConfiguration.Start.ToString(), surveyConfigurations[0].Start.ToString()); Assert.AreEqual(surveyConfiguration.Stop.ToString(), surveyConfigurations[0].Stop.ToString()); Assert.AreEqual(surveyConfiguration.TimeOut, surveyConfigurations[0].TimeOut); Assert.AreEqual(surveyConfiguration.TimeToLive, surveyConfigurations[0].TimeToLive); //Versions Assert.AreEqual(surveyConfiguration.CreatedAt.ToString(), surveyConfigurationVersions[0].CreatedAt.ToString()); Assert.AreEqual(1, surveyConfigurationVersions[0].Version); // Assert.AreEqual(surveyConfiguration.UpdatedAt.ToString(), surveyConfigurationVersions[0].UpdatedAt.ToString()); Assert.AreEqual(surveyConfigurationVersions[0].WorkflowState, Constants.WorkflowStates.Created); Assert.AreEqual(surveyConfiguration.Id, surveyConfigurationVersions[0].SurveyConfigurationId); Assert.AreEqual(surveyConfiguration.Name, surveyConfigurationVersions[0].Name); Assert.AreEqual(surveyConfiguration.Start.ToString(), surveyConfigurationVersions[0].Start.ToString()); Assert.AreEqual(surveyConfiguration.Stop.ToString(), surveyConfigurationVersions[0].Stop.ToString()); Assert.AreEqual(surveyConfiguration.TimeOut, surveyConfigurationVersions[0].TimeOut); Assert.AreEqual(surveyConfiguration.TimeToLive, surveyConfigurationVersions[0].TimeToLive); }
public async Task siteSurveyConfiguration_Delete_DoesDelete() { // Arrange Random rnd = new Random(); question_sets questionSet = new question_sets() { ParentId = 0 }; await questionSet.Create(dbContext).ConfigureAwait(false); survey_configurations surveyConfiguration = new survey_configurations { Name = Guid.NewGuid().ToString(), Stop = DateTime.Now, Start = DateTime.Now, TimeOut = rnd.Next(1, 255), TimeToLive = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await surveyConfiguration.Create(dbContext).ConfigureAwait(false); sites site1 = await testHelpers.CreateSite("SiteName1", 88); site_survey_configurations siteSurveyConfiguration = new site_survey_configurations { SiteId = site1.Id, SurveyConfigurationId = surveyConfiguration.Id }; await siteSurveyConfiguration.Create(dbContext).ConfigureAwait(false); // Act await siteSurveyConfiguration.Delete(dbContext); site_survey_configurations dbSiteSurveyConfiguration = dbContext.site_survey_configurations.AsNoTracking().First(); site_survey_configuration_versions dbSiteSurveyConfigurationVersion = dbContext.site_survey_configuration_versions.AsNoTracking().First(); // Assert Assert.NotNull(dbSiteSurveyConfiguration); Assert.NotNull(dbSiteSurveyConfigurationVersion); Assert.AreEqual(site1.Id, dbSiteSurveyConfiguration.SiteId); Assert.AreEqual(surveyConfiguration.Id, siteSurveyConfiguration.SurveyConfigurationId); Assert.AreEqual(Constants.WorkflowStates.Removed, siteSurveyConfiguration.WorkflowState); }
public async Task surveyConfiguration_Update_DoesUpdate() { // Arrange Random rnd = new Random(); question_sets questionSet = new question_sets() { ParentId = 0 }; await questionSet.Create(dbContext).ConfigureAwait(false); string oldName = Guid.NewGuid().ToString(); survey_configurations surveyConfiguration = new survey_configurations { Name = oldName, Stop = DateTime.Now, Start = DateTime.Now, TimeOut = rnd.Next(1, 255), TimeToLive = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await surveyConfiguration.Create(dbContext).ConfigureAwait(false); // Act string newName = Guid.NewGuid().ToString(); surveyConfiguration.Name = newName; await surveyConfiguration.Update(dbContext).ConfigureAwait(false); survey_configurations dbSurveyConfigurations = dbContext.survey_configurations.AsNoTracking().First(); survey_configuration_versions dbSurveyConfigurationVersions = dbContext.survey_configuration_versions.AsNoTracking().First(); // Assert Assert.NotNull(dbSurveyConfigurations); Assert.NotNull(dbSurveyConfigurationVersions); Assert.AreNotEqual(oldName, dbSurveyConfigurations.Name); Assert.AreEqual(newName, dbSurveyConfigurations.Name); Assert.AreEqual(surveyConfiguration.Stop.ToString(), dbSurveyConfigurations.Stop.ToString()); Assert.AreEqual(surveyConfiguration.Start.ToString(), dbSurveyConfigurations.Start.ToString()); Assert.AreEqual(surveyConfiguration.TimeOut, dbSurveyConfigurations.TimeOut); Assert.AreEqual(surveyConfiguration.TimeToLive, dbSurveyConfigurations.TimeToLive); }
public async Task SQL_answerValues_Create_DoesCreate() { // Arrange Random rnd = new Random(); sites site1 = await testHelpers.CreateSite(Guid.NewGuid().ToString(), rnd.Next(1, 255)); units unit1 = await testHelpers.CreateUnit(rnd.Next(1, 255), rnd.Next(1, 255), site1, rnd.Next(1, 255)); languages language = new languages { Name = Guid.NewGuid().ToString(), Description = Guid.NewGuid().ToString() }; await language.Create(dbContext).ConfigureAwait(false); #region QuestionSet string name = Guid.NewGuid().ToString(); question_sets questionSet = new question_sets { Name = name, Share = false, HasChild = false, PosiblyDeployed = false }; await questionSet.Create(dbContext).ConfigureAwait(false); #endregion #region surveyConfiguration survey_configurations surveyConfiguration = new survey_configurations { Name = Guid.NewGuid().ToString(), Stop = DateTime.Now, Start = DateTime.Now, TimeOut = rnd.Next(1, 255), TimeToLive = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await surveyConfiguration.Create(dbContext).ConfigureAwait(false); #endregion #region Answer answers answer = new answers { SiteId = site1.Id, QuestionSetId = questionSet.Id, SurveyConfigurationId = surveyConfiguration.Id, UnitId = unit1.Id, TimeZone = Guid.NewGuid().ToString(), FinishedAt = DateTime.Now, LanguageId = language.Id, AnswerDuration = rnd.Next(1, 255), UtcAdjusted = true }; await answer.Create(dbContext).ConfigureAwait(false); #endregion #region question string type = Guid.NewGuid().ToString(); string questionType = Guid.NewGuid().ToString(); string imagePosition = Guid.NewGuid().ToString(); string fontSize = Guid.NewGuid().ToString(); questions question = new questions { Type = type, QuestionType = questionType, ImagePosition = imagePosition, FontSize = fontSize, QuestionSetId = questionSet.Id, Maximum = rnd.Next(1, 255), Minimum = rnd.Next(1, 255), RefId = rnd.Next(1, 255), MaxDuration = rnd.Next(1, 255), MinDuration = rnd.Next(1, 255), QuestionIndex = rnd.Next(1, 255), ContinuousQuestionId = rnd.Next(1, 255), Prioritised = false, ValidDisplay = false, BackButtonEnabled = false, Image = false }; await question.Create(dbContext).ConfigureAwait(false); #endregion #region Option options option = new options { WeightValue = rnd.Next(1, 255), QuestionId = question.Id, Weight = rnd.Next(1, 255), OptionsIndex = rnd.Next(1, 255), NextQuestionId = rnd.Next(1, 255), ContinuousOptionId = rnd.Next(1, 255) }; await option.Create(dbContext).ConfigureAwait(false); #endregion answer_values answerValue = new answer_values { QuestionId = question.Id, Value = rnd.Next(1, 255).ToString(), Answer = answer, Option = option, AnswerId = answer.Id, Question = question, OptionId = option.Id }; // Act await answerValue.Create(dbContext).ConfigureAwait(false); answer_values dbAnswerValue = dbContext.answer_values.AsNoTracking().First(); answer_value_versions dbVersion = dbContext.answer_value_versions.AsNoTracking().First(); // Assert Assert.NotNull(dbAnswerValue); Assert.NotNull(dbVersion); Assert.AreEqual(dbAnswerValue.QuestionId, answerValue.QuestionId); Assert.AreEqual(dbAnswerValue.AnswerId, answerValue.AnswerId); Assert.AreEqual(dbAnswerValue.OptionId, answerValue.OptionId); Assert.AreEqual(dbAnswerValue.Value, answerValue.Value); }
public async Task Answers_Create_DoesCreate() { //Arrange Random rnd = new Random(); bool randomBool = rnd.Next(0, 2) > 0; sites site = new sites { Name = Guid.NewGuid().ToString(), MicrotingUid = rnd.Next(1, 255) }; await site.Create(dbContext).ConfigureAwait(false); sites siteForUnit = new sites { Name = Guid.NewGuid().ToString(), MicrotingUid = rnd.Next(1, 255) }; await siteForUnit.Create(dbContext).ConfigureAwait(false); units unit = new units { SiteId = siteForUnit.Id, CustomerNo = rnd.Next(1, 255), MicrotingUid = rnd.Next(1, 255), OtpCode = rnd.Next(1, 255) }; await unit.Create(dbContext).ConfigureAwait(false); languages language = new languages { Description = Guid.NewGuid().ToString(), Name = Guid.NewGuid().ToString() }; await language.Create(dbContext).ConfigureAwait(false); question_sets questionSet = new question_sets { Name = Guid.NewGuid().ToString(), Share = randomBool, HasChild = randomBool, PosiblyDeployed = randomBool }; await questionSet.Create(dbContext).ConfigureAwait(false); survey_configurations surveyConfiguration = new survey_configurations { Name = Guid.NewGuid().ToString(), Start = DateTime.Now, Stop = DateTime.Now, TimeOut = rnd.Next(1, 255), TimeToLive = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await surveyConfiguration.Create(dbContext).ConfigureAwait(false); answers answer = new answers { AnswerDuration = rnd.Next(1, 255), FinishedAt = DateTime.Now, LanguageId = language.Id, Language = language, SiteId = site.Id, UnitId = unit.Id, QuestionSetId = questionSet.Id, SurveyConfigurationId = surveyConfiguration.Id, TimeZone = Guid.NewGuid().ToString(), UtcAdjusted = randomBool }; //Act await answer.Create(dbContext).ConfigureAwait(false); List <answers> answers = dbContext.answers.AsNoTracking().ToList(); List <answer_versions> answerVersions = dbContext.answer_versions.AsNoTracking().ToList(); //Assert Assert.NotNull(answers); Assert.NotNull(answerVersions); Assert.AreEqual(1, answers.Count()); Assert.AreEqual(1, answerVersions.Count()); Assert.AreEqual(answer.CreatedAt.ToString(), answers[0].CreatedAt.ToString()); Assert.AreEqual(answer.Version, answers[0].Version); // Assert.AreEqual(answer.UpdatedAt.ToString(), answers[0].UpdatedAt.ToString()); Assert.AreEqual(answers[0].WorkflowState, Constants.WorkflowStates.Created); Assert.AreEqual(answer.Id, answers[0].Id); Assert.AreEqual(answer.AnswerDuration, answers[0].AnswerDuration); Assert.AreEqual(answer.FinishedAt.ToString(), answers[0].FinishedAt.ToString()); Assert.AreEqual(answer.LanguageId, language.Id); Assert.AreEqual(answer.SiteId, site.Id); Assert.AreEqual(answer.TimeZone, answers[0].TimeZone); Assert.AreEqual(answer.UnitId, unit.Id); Assert.AreEqual(answer.UtcAdjusted, answers[0].UtcAdjusted); Assert.AreEqual(answer.QuestionSetId, questionSet.Id); Assert.AreEqual(answer.SurveyConfigurationId, surveyConfiguration.Id); //Version 1 Assert.AreEqual(answer.CreatedAt.ToString(), answerVersions[0].CreatedAt.ToString()); Assert.AreEqual(1, answerVersions[0].Version); // Assert.AreEqual(answer.UpdatedAt.ToString(), answerVersions[0].UpdatedAt.ToString()); Assert.AreEqual(answerVersions[0].WorkflowState, Constants.WorkflowStates.Created); Assert.AreEqual(answer.Id, answerVersions[0].AnswerId); Assert.AreEqual(answer.AnswerDuration, answerVersions[0].AnswerDuration); Assert.AreEqual(answer.FinishedAt.ToString(), answerVersions[0].FinishedAt.ToString()); Assert.AreEqual(language.Id, answerVersions[0].LanguageId); Assert.AreEqual(site.Id, answerVersions[0].SiteId); Assert.AreEqual(answer.TimeZone, answerVersions[0].TimeZone); Assert.AreEqual(unit.Id, answerVersions[0].UnitId); Assert.AreEqual(answer.UtcAdjusted, answerVersions[0].UtcAdjusted); Assert.AreEqual(questionSet.Id, answerVersions[0].QuestionSetId); Assert.AreEqual(surveyConfiguration.Id, answerVersions[0].SurveyConfigurationId); }
public async Task AnswerValues_Delete_DoesSetWorkflowStateToRemoved() { //Arrange Random rnd = new Random(); bool randomBool = rnd.Next(0, 2) > 0; sites site = new sites { Name = Guid.NewGuid().ToString(), MicrotingUid = rnd.Next(1, 255) }; await site.Create(dbContext).ConfigureAwait(false); sites siteForUnit = new sites { Name = Guid.NewGuid().ToString(), MicrotingUid = rnd.Next(1, 255) }; await siteForUnit.Create(dbContext).ConfigureAwait(false); units unit = new units { CustomerNo = rnd.Next(1, 255), MicrotingUid = rnd.Next(1, 255), OtpCode = rnd.Next(1, 255), SiteId = siteForUnit.Id }; await unit.Create(dbContext).ConfigureAwait(false); languages language = new languages { Description = Guid.NewGuid().ToString(), Name = Guid.NewGuid().ToString() }; await language.Create(dbContext).ConfigureAwait(false); question_sets questionSet = new question_sets { Name = Guid.NewGuid().ToString(), Share = randomBool, HasChild = randomBool, PosiblyDeployed = randomBool }; await questionSet.Create(dbContext).ConfigureAwait(false); survey_configurations surveyConfiguration = new survey_configurations { Name = Guid.NewGuid().ToString(), Start = DateTime.Now, Stop = DateTime.Now, TimeOut = rnd.Next(1, 255), TimeToLive = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await surveyConfiguration.Create(dbContext).ConfigureAwait(false); answers answer = new answers { AnswerDuration = rnd.Next(1, 255), FinishedAt = DateTime.Now, LanguageId = language.Id, SiteId = site.Id, SurveyConfiguration = surveyConfiguration, TimeZone = Guid.NewGuid().ToString(), UnitId = unit.Id, UtcAdjusted = randomBool, QuestionSetId = questionSet.Id, SurveyConfigurationId = surveyConfiguration.Id }; await answer.Create(dbContext).ConfigureAwait(false); questions question = new questions { Image = randomBool, Maximum = rnd.Next(1, 255), Minimum = rnd.Next(1, 255), Prioritised = randomBool, Type = Guid.NewGuid().ToString(), FontSize = Guid.NewGuid().ToString(), ImagePosition = Guid.NewGuid().ToString(), MaxDuration = rnd.Next(1, 255), MinDuration = rnd.Next(1, 255), QuestionIndex = rnd.Next(1, 255), QuestionType = Guid.NewGuid().ToString(), RefId = rnd.Next(1, 255), ValidDisplay = randomBool, BackButtonEnabled = randomBool, ContinuousQuestionId = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await question.Create(dbContext).ConfigureAwait(false); options option = new options { Weight = rnd.Next(1, 255), OptionsIndex = rnd.Next(1, 255), QuestionId = question.Id, WeightValue = rnd.Next(1, 255), ContinuousOptionId = rnd.Next(1, 255) }; await option.Create(dbContext).ConfigureAwait(false); questions questionForAnswerValue = new questions { Image = randomBool, Maximum = rnd.Next(1, 255), Minimum = rnd.Next(1, 255), Prioritised = randomBool, Type = Guid.NewGuid().ToString(), FontSize = Guid.NewGuid().ToString(), ImagePosition = Guid.NewGuid().ToString(), MaxDuration = rnd.Next(1, 255), MinDuration = rnd.Next(1, 255), QuestionIndex = rnd.Next(1, 255), QuestionType = Guid.NewGuid().ToString(), RefId = rnd.Next(1, 255), ValidDisplay = randomBool, BackButtonEnabled = randomBool, ContinuousQuestionId = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await questionForAnswerValue.Create(dbContext).ConfigureAwait(false); answer_values answerValue = new answer_values { Value = rnd.Next(1, 255).ToString(), AnswerId = answer.Id, OptionId = option.Id, QuestionId = question.Id }; await answerValue.Create(dbContext).ConfigureAwait(false); //Act DateTime?oldUpdatedAt = answerValue.UpdatedAt; await answerValue.Delete(dbContext); List <answer_values> answerValues = dbContext.answer_values.AsNoTracking().ToList(); List <answer_value_versions> answerValueVersions = dbContext.answer_value_versions.AsNoTracking().ToList(); //Assert Assert.NotNull(answerValues); Assert.NotNull(answerValueVersions); Assert.AreEqual(1, answerValues.Count()); Assert.AreEqual(2, answerValueVersions.Count()); Assert.AreEqual(answerValue.CreatedAt.ToString(), answerValues[0].CreatedAt.ToString()); Assert.AreEqual(answerValue.Version, answerValues[0].Version); // Assert.AreEqual(answerValue.UpdatedAt.ToString(), answerValues[0].UpdatedAt.ToString()); Assert.AreEqual(answerValues[0].WorkflowState, Constants.WorkflowStates.Removed); Assert.AreEqual(answerValue.Value, answerValues[0].Value); Assert.AreEqual(answerValue.Id, answerValues[0].Id); Assert.AreEqual(answerValue.AnswerId, answer.Id); Assert.AreEqual(answerValue.OptionId, option.Id); Assert.AreEqual(answerValue.QuestionId, question.Id); //Old Version Assert.AreEqual(answerValue.CreatedAt.ToString(), answerValueVersions[0].CreatedAt.ToString()); Assert.AreEqual(1, answerValueVersions[0].Version); // Assert.AreEqual(oldUpdatedAt.ToString(), answerValueVersions[0].UpdatedAt.ToString()); Assert.AreEqual(answerValueVersions[0].WorkflowState, Constants.WorkflowStates.Created); Assert.AreEqual(answerValue.Id, answerValueVersions[0].AnswerValueId); Assert.AreEqual(answerValue.Value, answerValueVersions[0].Value); Assert.AreEqual(answer.Id, answerValueVersions[0].AnswerId); Assert.AreEqual(option.Id, answerValueVersions[0].OptionId); Assert.AreEqual(question.Id, answerValueVersions[0].QuestionId); //New Version Assert.AreEqual(answerValue.CreatedAt.ToString(), answerValueVersions[1].CreatedAt.ToString()); Assert.AreEqual(2, answerValueVersions[1].Version); // Assert.AreEqual(answerValue.UpdatedAt.ToString(), answerValueVersions[1].UpdatedAt.ToString()); Assert.AreEqual(answerValueVersions[1].WorkflowState, Constants.WorkflowStates.Removed); Assert.AreEqual(answerValue.Id, answerValueVersions[1].AnswerValueId); Assert.AreEqual(answerValue.Value, answerValueVersions[1].Value); Assert.AreEqual(answer.Id, answerValueVersions[1].AnswerId); Assert.AreEqual(option.Id, answerValueVersions[1].OptionId); Assert.AreEqual(question.Id, answerValueVersions[1].QuestionId); }
public async Task SQL_answers_Create_DoesCreate_UTCAdjustedTrue() { // Arrange Random rnd = new Random(); sites site1 = await testHelpers.CreateSite(Guid.NewGuid().ToString(), rnd.Next(1, 255)); units unit1 = await testHelpers.CreateUnit(rnd.Next(1, 255), rnd.Next(1, 255), site1, rnd.Next(1, 255)); languages language = new languages { Name = Guid.NewGuid().ToString(), Description = Guid.NewGuid().ToString() }; await language.Create(dbContext).ConfigureAwait(false); string name = Guid.NewGuid().ToString(); question_sets questionSet = new question_sets { Name = name, Share = false, HasChild = false, PosiblyDeployed = false }; await questionSet.Create(dbContext).ConfigureAwait(false); survey_configurations surveyConfiguration = new survey_configurations { Name = Guid.NewGuid().ToString(), Stop = DateTime.Now, Start = DateTime.Now, TimeOut = rnd.Next(1, 255), TimeToLive = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await surveyConfiguration.Create(dbContext).ConfigureAwait(false); answers answer = new answers { SiteId = site1.Id, QuestionSetId = questionSet.Id, SurveyConfigurationId = surveyConfiguration.Id, UnitId = unit1.Id, TimeZone = Guid.NewGuid().ToString(), FinishedAt = DateTime.Now, LanguageId = language.Id, AnswerDuration = rnd.Next(1, 255), UtcAdjusted = true }; // Act await answer.Create(dbContext).ConfigureAwait(false); answers dbAnswer = dbContext.answers.AsNoTracking().First(); answer_versions dbVersion = dbContext.answer_versions.AsNoTracking().First(); // Assert Assert.NotNull(dbAnswer); Assert.NotNull(dbVersion); Assert.AreEqual(dbAnswer.SiteId, answer.SiteId); Assert.AreEqual(dbAnswer.QuestionSetId, answer.QuestionSetId); Assert.AreEqual(dbAnswer.SurveyConfigurationId, answer.SurveyConfigurationId); Assert.AreEqual(dbAnswer.UnitId, answer.UnitId); Assert.AreEqual(dbAnswer.TimeZone, answer.TimeZone); Assert.AreEqual(dbAnswer.FinishedAt.ToString(), answer.FinishedAt.ToString()); Assert.AreEqual(dbAnswer.LanguageId, answer.LanguageId); Assert.AreEqual(dbAnswer.AnswerDuration, answer.AnswerDuration); Assert.AreEqual(dbAnswer.UtcAdjusted, answer.UtcAdjusted); }
public async Task SiteSurveyConfiguration_Delete_DoesDelete() { //Arrange Random rnd = new Random(); sites site = new sites { Name = Guid.NewGuid().ToString(), MicrotingUid = rnd.Next(1, 255) }; await site.Create(dbContext).ConfigureAwait(false); question_sets questionSet = new question_sets() { ParentId = 0 }; await questionSet.Create(dbContext).ConfigureAwait(false); survey_configurations surveyConfiguration = new survey_configurations { Name = Guid.NewGuid().ToString(), Start = DateTime.Now, Stop = DateTime.Now, TimeOut = rnd.Next(1, 255), TimeToLive = rnd.Next(1, 255), QuestionSetId = questionSet.Id }; await surveyConfiguration.Create(dbContext).ConfigureAwait(false); site_survey_configurations siteSurveyConfiguration = new site_survey_configurations { SiteId = site.Id, SurveyConfigurationId = surveyConfiguration.Id }; await siteSurveyConfiguration.Create(dbContext).ConfigureAwait(false); //Act DateTime?oldUpdatedAt = siteSurveyConfiguration.UpdatedAt; await siteSurveyConfiguration.Delete(dbContext); List <site_survey_configurations> siteSurveyConfigurations = dbContext.site_survey_configurations.AsNoTracking().ToList(); List <site_survey_configuration_versions> siteSurveyConfigurationVersions = dbContext.site_survey_configuration_versions.AsNoTracking().ToList(); Assert.NotNull(siteSurveyConfigurations); Assert.NotNull(siteSurveyConfigurationVersions); Assert.AreEqual(1, siteSurveyConfigurations.Count()); Assert.AreEqual(2, siteSurveyConfigurationVersions.Count()); Assert.AreEqual(siteSurveyConfiguration.CreatedAt.ToString(), siteSurveyConfigurations[0].CreatedAt.ToString()); Assert.AreEqual(siteSurveyConfiguration.Version, siteSurveyConfigurations[0].Version); // Assert.AreEqual(siteSurveyConfiguration.UpdatedAt.ToString(), siteSurveyConfigurations[0].UpdatedAt.ToString()); Assert.AreEqual(siteSurveyConfigurations[0].WorkflowState, Constants.WorkflowStates.Removed); Assert.AreEqual(siteSurveyConfiguration.Id, siteSurveyConfigurations[0].Id); Assert.AreEqual(siteSurveyConfiguration.SiteId, site.Id); Assert.AreEqual(siteSurveyConfiguration.SurveyConfigurationId, surveyConfiguration.Id); //Old Version Assert.AreEqual(siteSurveyConfiguration.CreatedAt.ToString(), siteSurveyConfigurationVersions[0].CreatedAt.ToString()); Assert.AreEqual(1, siteSurveyConfigurationVersions[0].Version); // Assert.AreEqual(oldUpdatedAt.ToString(), siteSurveyConfigurationVersions[0].UpdatedAt.ToString()); Assert.AreEqual(siteSurveyConfigurationVersions[0].WorkflowState, Constants.WorkflowStates.Created); Assert.AreEqual(siteSurveyConfiguration.Id, siteSurveyConfigurationVersions[0].SiteSurveyConfigurationId); Assert.AreEqual(site.Id, siteSurveyConfigurationVersions[0].SiteId); Assert.AreEqual(surveyConfiguration.Id, siteSurveyConfigurationVersions[0].SurveyConfigurationId); //New Version Assert.AreEqual(siteSurveyConfiguration.CreatedAt.ToString(), siteSurveyConfigurationVersions[1].CreatedAt.ToString()); Assert.AreEqual(2, siteSurveyConfigurationVersions[1].Version); // Assert.AreEqual(siteSurveyConfiguration.UpdatedAt.ToString(), siteSurveyConfigurationVersions[1].UpdatedAt.ToString()); Assert.AreEqual(siteSurveyConfigurationVersions[1].WorkflowState, Constants.WorkflowStates.Removed); Assert.AreEqual(siteSurveyConfiguration.Id, siteSurveyConfigurationVersions[1].SiteSurveyConfigurationId); Assert.AreEqual(site.Id, siteSurveyConfigurationVersions[1].SiteId); Assert.AreEqual(surveyConfiguration.Id, siteSurveyConfigurationVersions[1].SurveyConfigurationId); }
public static async Task Main() { _core = new Core(); var connection = _core .StartSqlOnly( "host= localhost;Database=420_SDK;user = root;port=3306;Convert Zero Datetime = true;SslMode=none;") .Result; MicrotingDbContext dbContext = _core.dbContextHelper.GetDbContext(); question_sets questionSets = new question_sets { Name = "Test-Set" }; if (dbContext.question_sets.Count(x => x.Name == questionSets.Name) != 1) { await questionSets.Create(dbContext); } languages language = new languages { Description = "Description", Name = "Danish" }; if (dbContext.languages.Count(x => x.Name == "da-DK") != 1) { await language.Create(dbContext); } languages dbLanguage = await dbContext.languages.FirstOrDefaultAsync(x => x.Name == language.Name); question_sets dbQuestionSets = await dbContext.question_sets.FirstOrDefaultAsync(x => x.Name == questionSets.Name); string[] questionNames = new[] { "Q1", "Q2", "Q3", "Q4", "Q5", "Q6", "Q7", "Q8", "Q9", "Q10", "Q11", "Q12", "Q13" }; // 13 14 15 16 17 18 19 20 21 22 23 24 List <KeyValuePair <int, questions> > questionIds = new List <KeyValuePair <int, questions> >(); int qi = 13; foreach (var questionName in questionNames) { if (questionName != "Q13" && questionName != "Q1") { var questionTranslation = dbContext.QuestionTranslations.SingleOrDefault(x => x.Name == questionName); if (questionTranslation == null) { questions question = new questions() { QuestionSetId = dbQuestionSets.Id, QuestionType = Constants.QuestionTypes.Smiley2 }; await question.Create(dbContext); KeyValuePair <int, questions> kvp = new KeyValuePair <int, questions>(qi, question); questionIds.Add(kvp); questionTranslation = new question_translations() { Name = questionName, QuestionId = question.Id, LanguageId = dbLanguage.Id }; await questionTranslation.Create(dbContext); } else { KeyValuePair <int, questions> kvp = new KeyValuePair <int, questions>(qi, questionTranslation.Question); questionIds.Add(kvp); } } else { var questionTranslation = dbContext.QuestionTranslations.SingleOrDefault(x => x.Name == questionName); if (questionTranslation == null) { questions question = new questions() { QuestionSetId = dbQuestionSets.Id, QuestionType = questionName == "Q1" ? Constants.QuestionTypes.List : Constants.QuestionTypes.Multi }; await question.Create(dbContext); questionTranslation = new question_translations() { Name = questionName, QuestionId = question.Id, LanguageId = dbLanguage.Id }; await questionTranslation.Create(dbContext); string[] questionOptions; if (questionName == "Q1") { questionOptions = new[] { "Ja", "Nej" }; } else { questionOptions = new[] { "1", "2", "3", "4", "5" }; } foreach (string questionOption in questionOptions) { options option = new options() { QuestionId = question.Id, Weight = 1, WeightValue = 1 }; await option.Create(dbContext); option_translations optionTranslation = new option_translations() { OptionId = option.Id, Name = questionOption, LanguageId = dbLanguage.Id }; await optionTranslation.Create(dbContext); } KeyValuePair <int, questions> kvp = new KeyValuePair <int, questions>(qi, question); questionIds.Add(kvp); } else { KeyValuePair <int, questions> kvp = new KeyValuePair <int, questions>(qi, questionTranslation.Question); questionIds.Add(kvp); } } qi++; } // Q13 with options // KeyValuePair<int, questions> kvp = new KeyValuePair<int, questions>(qi, questionTranslation.Question); // questionIds.Add(kvp); survey_configurations surveyConfiguration = new survey_configurations { QuestionSetId = dbQuestionSets.Id, Name = "Configuartion 1" }; if (dbContext.survey_configurations.Count(x => x.Name == surveyConfiguration.Name) != 1) { await surveyConfiguration.Create(dbContext); } survey_configurations dbSurveyConfiguration = await dbContext.survey_configurations.FirstOrDefaultAsync(x => x.Name == surveyConfiguration.Name); // dbContext.question_sets questionSets = new question_sets(); Random rnd = new Random(); var document = @"/home/microting/Documents/workspace/microting/ExcelReadManipPOC/Test-data.xlsx"; using (FileStream fs = new FileStream(document, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { using (SpreadsheetDocument doc = SpreadsheetDocument.Open(fs, false)) { S sheets = doc.WorkbookPart.Workbook.Sheets; foreach (E sheet in sheets) { foreach (A attr in sheet.GetAttributes()) { Console.WriteLine("{0}: {1}", attr.LocalName, attr.Value); } } WorkbookPart workbookPart = doc.WorkbookPart; WorksheetPart worksheetPart = GetWorksheetFromSheetName(workbookPart, "Senge_voksen"); var sheet1 = worksheetPart.Worksheet; // Console.WriteLine(sheet1); var cells = sheet1.Descendants <Cell>(); var rows = sheet1.Descendants <Row>(); var cols = sheet1.Descendants <Column>(); List <Column> columns = cols.ToList(); string text; var rows1 = sheet1.GetFirstChild <SheetData>().Elements <Row>(); int i = 0; var stringTable = workbookPart.GetPartsOfType <SharedStringTablePart>() .FirstOrDefault(); List <KeyValuePair <string, sites> > localSites = new List <KeyValuePair <string, sites> >(); List <KeyValuePair <string, units> > localUnits = new List <KeyValuePair <string, units> >(); var languageId = dbContext.languages.SingleOrDefault(x => x.Name == "da-DK"); // List<sites> localSites = new List<sites>(); // List<units> localUnits = new List<units>(); foreach (var row in rows1) { if (i > 0 && i < 553) { var cells1 = row.Elements <Cell>(); int cellNumber = 0; answers answer = null; List <Cell> theCells = cells1.ToList(); var microtingUid = int.Parse(theCells[0].CellValue.Text); var duration = int.Parse(theCells[1].CellValue.Text); var date = stringTable.SharedStringTable.ElementAt( int.Parse(theCells[2].CellValue.Text)).InnerText; var time = stringTable.SharedStringTable.ElementAt( int.Parse(theCells[7].CellValue.Text)).InnerText; DateTime dateOfDoing = DateTime.ParseExact($"{date} {time}", "dd-MM-yyyy HH:mm:ss", null); var location = stringTable.SharedStringTable.ElementAt( int.Parse(theCells[9].CellValue.Text)).InnerText; int?sdkSiteId = null; int?sdkUnitId = null; if (localSites.Any(x => x.Key == location)) { sdkSiteId = localSites.First(x => x.Key == location).Value.Id; } else { var lookupSite = dbContext.sites.SingleOrDefault(x => x.Name == location); if (lookupSite != null) { KeyValuePair <string, sites> pair = new KeyValuePair <string, sites>(location, lookupSite); localSites.Add(pair); sdkSiteId = lookupSite.Id; } else { sites site = new sites() { Name = location, MicrotingUid = rnd.Next(1, 999999) }; await site.Create(dbContext); KeyValuePair <string, sites> pair = new KeyValuePair <string, sites>(location, site); localSites.Add(pair); sdkSiteId = site.Id; } } var unitString = theCells[11].CellValue.Text; if (localUnits.Any(x => x.Key == unitString)) { sdkUnitId = localUnits.First(x => x.Key == unitString).Value.Id; } else { var lookupUnit = dbContext.units.SingleOrDefault(x => x.MicrotingUid.ToString() == unitString); if (lookupUnit != null) { KeyValuePair <string, units> pair = new KeyValuePair <string, units>(unitString, lookupUnit); localUnits.Add(pair); sdkUnitId = lookupUnit.Id; } else { units unit = new units() { MicrotingUid = int.Parse(unitString), SiteId = sdkSiteId }; await unit.Create(dbContext); KeyValuePair <string, units> pair = new KeyValuePair <string, units>(unitString, unit); localUnits.Add(pair); sdkUnitId = unit.Id; } } answer = dbContext.answers.SingleOrDefault(x => x.MicrotingUid == microtingUid); if (answer == null) { answer = new answers() { AnswerDuration = duration, UnitId = (int)sdkUnitId, SiteId = (int)sdkSiteId, MicrotingUid = microtingUid, FinishedAt = dateOfDoing, LanguageId = dbLanguage.Id, QuestionSetId = dbQuestionSets.Id, SurveyConfigurationId = dbSurveyConfiguration.Id }; await answer.Create(dbContext); } foreach (var cell in cells1) { if (cell == null) { Console.WriteLine("We got a null here"); } else { if (cellNumber > 12) { int questionLookupId = cellNumber; if (cellNumber > 25) { questionLookupId = 25; } int?lookupOptionId = null; if (cell.DataType != null) { // if (cell.DataType.Value == CellValues.Number) // { // lookupOptionId = questionIds // .First(x => x.Key == questionLookupId).Value.Options // .SingleOrDefault(x => x.WeightValue == int.Parse(cell.CellValue.Text)).Id; if (cell.DataType.Value == CellValues.SharedString) { // if (questionLookupId != 25) // { foreach (options option in questionIds .First(x => x.Key == questionLookupId).Value.Options) { text = stringTable.SharedStringTable.ElementAt( int.Parse(cell.CellValue.Text)).InnerText; var r = option.OptionTranslationses.SingleOrDefault(x => x.Name == text); if (r != null) { lookupOptionId = r.OptionId; } } } } else { if (cellNumber > 13 && cellNumber < 25) { if (cell.CellValue != null) { lookupOptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options .SingleOrDefault(x => x.WeightValue == int.Parse(cell.CellValue.Text)).Id; } } else { switch (cellNumber) { case 25: lookupOptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options .ToList()[0].Id; break; case 26: lookupOptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options .ToList()[1].Id; break; case 27: lookupOptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options .ToList()[2].Id; break; case 28: lookupOptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options .ToList()[3].Id; break; case 29: lookupOptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options .ToList()[4].Id; break; } } } // } // else // { // if (questionLookupId == 25) // { // lookupOptionId = questionIds.First(x => x.Key == questionLookupId) // .Value.Options.ToList()[cellNumber - 25].Id; // } // } // } // } // else // { // lookupOptionId = questionIds // .First(x => x.Key == questionLookupId).Value.Options // .SingleOrDefault(x => x.WeightValue == int.Parse(cell.CellValue.Text)).Id; // } // answer_values answerValue = null; if (lookupOptionId != null) { answerValue = dbContext.answer_values .SingleOrDefault(x => x.AnswerId == answer.Id && x.QuestionId == questionIds.First(y => y.Key == questionLookupId).Value.Id && x.OptionId == lookupOptionId); } else { answerValue = dbContext.answer_values .SingleOrDefault(x => x.AnswerId == answer.Id && x.QuestionId == questionIds.First(y => y.Key == questionLookupId).Value.Id); } if (answerValue == null) { answerValue = new answer_values() { AnswerId = answer.Id, QuestionId = questionIds.First(x => x.Key == questionLookupId).Value.Id }; if (cell.DataType != null) { if (cell.DataType.Value == CellValues.SharedString) { if (stringTable != null) { text = stringTable.SharedStringTable.ElementAt( int.Parse(cell.CellValue.Text)).InnerText; // Console.WriteLine(text + " "); int optionId = 0; foreach (options option in questionIds .First(x => x.Key == questionLookupId).Value.Options) { var r = option.OptionTranslationses.SingleOrDefault(x => x.Name == text); if (r != null) { optionId = r.OptionId; } } answerValue.Value = text; answerValue.OptionId = optionId; answerValue.QuestionId = questionIds .First(x => x.Key == questionLookupId).Value.Id; await answerValue.Create(dbContext); } } } else { if (cellNumber > 13 && cellNumber < 25) { if (cell.CellValue != null) { text = cell.CellValue.Text; answerValue.Value = text; answerValue.QuestionId = questionIds .First(x => x.Key == questionLookupId).Value.Id; answerValue.OptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options .SingleOrDefault(x => x.WeightValue == int.Parse(text)).Id; await answerValue.Create(dbContext); // Console.WriteLine(cell.CellValue.Text); } } else { if (cell.CellValue != null) { if (int.Parse(cell.CellValue.Text) == 1) { answerValue.Value = "1"; answerValue.QuestionId = questionIds .First(x => x.Key == questionLookupId).Value.Id; switch (cellNumber) { case 25: answerValue.OptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options.ToList()[0].Id; break; case 26: answerValue.OptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options.ToList()[1].Id; break; case 27: answerValue.OptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options.ToList()[2].Id; break; case 28: answerValue.OptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options.ToList()[3].Id; break; case 29: answerValue.OptionId = questionIds .First(x => x.Key == questionLookupId).Value.Options.ToList()[4].Id; break; } await answerValue.Create(dbContext); } } } } } } } cellNumber++; } } Console.WriteLine($"ROW {i}"); i++; } } } // Q1 int q1Id = 1; int q2Id = 2; int q3Id = 3; int q4Id = 4; int q5Id = 5; int q6Id = 6; int q7Id = 7; int q8Id = 8; int q9Id = 9; int q10Id = 10; int q11Id = 11; int q12Id = 12; int q13Id = 13; int optionJaId = 1; int optionNejId = 2; int option100q2Id = 3; int option75q2Id = 4; int option50q2Id = 5; int option25q2Id = 6; int option0q2Id = 7; int option999q2Id = 8; int option100q3Id = 9; int option75q3Id = 10; int option50q3Id = 11; int option25q3Id = 12; int option0q3Id = 13; int option999q3Id = 14; int option100q4Id = 15; int option75q4Id = 16; int option50q4Id = 17; int option25q4Id = 18; int option0q4Id = 19; int option999q4Id = 20; int option100q5Id = 21; int option75q5Id = 22; int option50q5Id = 23; int option25q5Id = 24; int option0q5Id = 25; int option999q5Id = 26; int option100q6Id = 27; int option75q6Id = 28; int option50q6Id = 29; int option25q6Id = 30; int option0q6Id = 31; int option999q6Id = 32; int option100q7Id = 33; int option75q7Id = 34; int option50q7Id = 35; int option25q7Id = 36; int option0q7Id = 37; int option999q7Id = 38; int option100q8Id = 39; int option75q8Id = 40; int option50q8Id = 41; int option25q8Id = 42; int option0q8Id = 43; int option999q8Id = 44; int option100q9Id = 45; int option75q9Id = 46; int option50q9Id = 47; int option25q9Id = 48; int option0q9Id = 49; int option999q9Id = 50; int option100q10Id = 51; int option75q10Id = 52; int option50q10Id = 53; int option25q10Id = 54; int option0q10Id = 55; int option999q10Id = 56; int option100q11Id = 57; int option75q11Id = 58; int option50q11Id = 59; int option25q11Id = 60; int option0q11Id = 61; int option999q11Id = 62; int option100q12Id = 63; int option75q12Id = 64; int option50q12Id = 65; int option25q12Id = 66; int option0q12Id = 67; int option999q12Id = 68; int optionq13_1Id = 69; int optionq13_2Id = 70; int optionq13_3Id = 71; int optionq13_4Id = 72; int optionq13_5Id = 73; Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == optionJaId) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == optionNejId) == 133); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q1Id) == 552); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q2Id) == 5); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q2Id) == 7); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q2Id) == 14); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q2Id) == 112); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q2Id) == 275); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q2Id) == 6); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q2Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q3Id) == 15); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q3Id) == 8); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q3Id) == 44); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q3Id) == 144); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q3Id) == 201); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q3Id) == 7); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q3Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q4Id) == 13); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q4Id) == 17); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q4Id) == 78); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q4Id) == 123); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q4Id) == 176); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q4Id) == 12); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q4Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q5Id) == 16); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q5Id) == 18); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q5Id) == 49); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q5Id) == 135); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q5Id) == 188); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q5Id) == 13); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q5Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q6Id) == 21); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q6Id) == 23); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q6Id) == 61); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q6Id) == 131); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q6Id) == 160); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q6Id) == 23); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q6Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q7Id) == 13); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q7Id) == 8); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q7Id) == 57); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q7Id) == 116); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q7Id) == 216); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q7Id) == 9); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q7Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q8Id) == 35); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q8Id) == 27); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q8Id) == 98); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q8Id) == 108); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q8Id) == 124); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q8Id) == 27); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q8Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q9Id) == 19); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q9Id) == 23); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q9Id) == 51); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q9Id) == 107); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q9Id) == 213); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q9Id) == 6); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q9Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q10Id) == 16); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q10Id) == 10); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q10Id) == 66); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q10Id) == 116); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q10Id) == 186); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q10Id) == 25); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q10Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q11Id) == 11); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q11Id) == 8); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q11Id) == 41); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q11Id) == 111); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q11Id) == 211); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q11Id) == 37); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q11Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option0q12Id) == 12); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option25q12Id) == 9); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option50q12Id) == 58); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option75q12Id) == 126); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option100q12Id) == 187); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == option999q12Id) == 27); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q12Id) == 419); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == optionq13_1Id) == 289); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q13Id) == 1383); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == optionq13_2Id) == 273); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q13Id) == 1383); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == optionq13_3Id) == 281); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q13Id) == 1383); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == optionq13_4Id) == 271); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q13Id) == 1383); Debug.Assert(dbContext.answer_values.Count(x => x.OptionId == optionq13_5Id) == 269); Debug.Assert(dbContext.answer_values.Count(x => x.QuestionId == q13Id) == 1383); Console.WriteLine("we are done"); }