コード例 #1
0
ファイル: ActivityProjector.cs プロジェクト: peternunn/Folium
 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()
     });
 }
コード例 #2
0
 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);
     }
 }
コード例 #3
0
        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);
        }