Ejemplo n.º 1
0
        public async Task Update(MicrotingDbContext dbContext)
        {
            answers answer = await dbContext.answers.FirstOrDefaultAsync(x => x.Id == Id);

            if (answer == null)
            {
                throw new NullReferenceException($"Could not find answer with Id: {Id}");
            }

            answer.SiteId                = SiteId;
            answer.UnitId                = UnitId;
            answer.TimeZone              = TimeZone;
            answer.FinishedAt            = FinishedAt;
            answer.LanguageId            = LanguageId;
            answer.AnswerDuration        = AnswerDuration;
            answer.QuestionSetId         = QuestionSetId;
            answer.SurveyConfigurationId = SurveyConfigurationId;
            answer.UtcAdjusted           = UtcAdjusted;

            if (dbContext.ChangeTracker.HasChanges())
            {
                answer.UpdatedAt = DateTime.UtcNow;
                answer.Version  += 1;

                dbContext.answer_versions.Add(MapVersions(answer));
                await dbContext.SaveChangesAsync().ConfigureAwait(false);
            }
        }
Ejemplo n.º 2
0
        public async Task Delete(MicrotingDbContext dbContext)
        {
            answers answer = await dbContext.answers.FirstOrDefaultAsync(x => x.Id == Id);

            if (answer == null)
            {
                throw new NullReferenceException($"Could not find answer with Id: {Id}");
            }

            answer.WorkflowState = Constants.Constants.WorkflowStates.Removed;

            if (dbContext.ChangeTracker.HasChanges())
            {
                answer.UpdatedAt = DateTime.UtcNow;
                answer.Version  += 1;

                dbContext.answer_versions.Add(MapVersions(answer));
                await dbContext.SaveChangesAsync().ConfigureAwait(false);
            }
        }
Ejemplo n.º 3
0
 private answer_versions MapVersions(answers answer)
 {
     return(new answer_versions
     {
         SiteId = answer.SiteId,
         UnitId = answer.UnitId,
         AnswerId = answer.Id,
         TimeZone = answer.TimeZone,
         FinishedAt = answer.FinishedAt,
         LanguageId = answer.LanguageId,
         AnswerDuration = answer.AnswerDuration,
         QuestionSetId = answer.QuestionSetId,
         SurveyConfigurationId = answer.SurveyConfigurationId,
         UtcAdjusted = answer.UtcAdjusted,
         MicrotingUid = answer.MicrotingUid,
         UpdatedAt = answer.UpdatedAt,
         CreatedAt = answer.CreatedAt,
         Version = answer.Version,
         WorkflowState = answer.WorkflowState
     });
 }