コード例 #1
0
ファイル: ActivityProjector.cs プロジェクト: peternunn/Folium
 private void OnSelfAssessmentRemoved(IDbTransaction tx, ICommit commit, SkillSelfAssessmentRemoved @event)
 {
     RecordActivity(tx, new Models.Activity {
         UserId = @event.SelfAssessment.UserId,
         Type   = (int)ActivityType.SelfAssessmentRemoved,
         When   = commit.CommitStamp,
         Link   = @event.SelfAssessment.SkillId.ToString()
     });
 }
コード例 #2
0
 void Apply(SkillSelfAssessmentRemoved @event)
 {
     if (_selfAssessments.ContainsKey(@event.SelfAssessment.SkillId))
     {
         // Remove the self assessment.
         _selfAssessments[@event.SelfAssessment.SkillId].Remove(@event.SelfAssessment.CreatedAt.ToUnixTimeMilliseconds());
         // Remove the skill index, if it is empty.
         if (_selfAssessments[@event.SelfAssessment.SkillId].Count == 0)
         {
             _selfAssessments.Remove(@event.SelfAssessment.SkillId);
         }
     }
 }
コード例 #3
0
        private void RemoveSelfAssessment(IDbTransaction tx, ICommit commit, SkillSelfAssessmentRemoved @event)
        {
            // A self assessment has been removed.
            // If the removed self assessment has a previous assessment then update the table, otherwise remove it where the dates match.

            if (@event.PreviousSelfAssessment != null)
            {
                // Update the table.
                var sqlParameters =
                    new {
                    @event.SelfAssessment.UserId,
                    @event.SelfAssessment.SkillId,
                    @event.PreviousSelfAssessment.SelfAssessmentLevelId,
                    @event.PreviousSelfAssessment.Score,
                    @event.PreviousSelfAssessment.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);
            }
            else
            {
                // Remove from the table.
                var sqlParameters =
                    new {
                    @event.SelfAssessment.UserId,
                    @event.SelfAssessment.SkillId,
                    @event.SelfAssessment.CreatedAt
                };
                const string sql = @"
				DELETE FROM [dbo].[SelfAssessmentProjector.SelfAssessment]
				WHERE UserId = @UserId 
					AND SkillId = @SkillId
					AND CreatedAt = @CreatedAt;"                    ;
                tx.Connection.Execute(sql, (object)sqlParameters, tx);
            }
        }