private void OnSelfAssessmentUpdated(IDbTransaction tx, ICommit commit, SkillSelfAssessmentUpdated @event) { RecordActivity(tx, new Models.Activity { UserId = @event.SelfAssessment.UserId, Type = (int)ActivityType.SelfAssessmentUpdated, When = @event.SelfAssessment.CreatedAt, Link = @event.SelfAssessment.SkillId.ToString() }); }
void Apply(SkillSelfAssessmentUpdated @event) { if (@event.SelfAssessment.EntryId.HasValue) { return; // Don't make any changes for assessments linked to entries, they have their own events. } if (_selfAssessments[@event.SelfAssessment.SkillId].ContainsKey(@event.SelfAssessment.CreatedAt.ToUnixTimeMilliseconds())) { // Self assessment already exists, update. _selfAssessments[@event.SelfAssessment.SkillId][@event.SelfAssessment.CreatedAt.ToUnixTimeMilliseconds()] = @event.SelfAssessment; } else { // Add the new Self assessment. _selfAssessments[@event.SelfAssessment.SkillId].Add(@event.SelfAssessment.CreatedAt.ToUnixTimeMilliseconds(), @event.SelfAssessment); } }
private void UpdateSelfAssessment(IDbTransaction tx, ICommit commit, SkillSelfAssessmentUpdated @event) { // A self assessment has been updated. We need to update it. var sqlParameters = new { @event.SelfAssessment.UserId, @event.SelfAssessment.SkillId, @event.SelfAssessment.SelfAssessmentLevelId, @event.SelfAssessment.Score, @event.SelfAssessment.CreatedAt }; const string sql = @" UPDATE [dbo].[SelfAssessmentProjector.SelfAssessment] SET SelfAssessmentLevelId = @SelfAssessmentLevelId, Score = @Score, CreatedAt = @CreatedAt WHERE UserId = @UserId AND SkillId = @SkillId;" ; tx.Connection.Execute(sql, (object)sqlParameters, tx); }