public JsonResult Update(UpdateParticipant command) { Domain.Dispatcher.SendCommand(command); return Json(command); }
public JsonResult Update(UpdateParticipant command) { Domain.Dispatcher.SendCommand(command); return(Json(command)); }
public IEnumerable Handle(Func <Guid, ParticipantAggregate> al, UpdateParticipant command) { var agg = al(command.Id); if (agg.Name != command.Name) { yield return new ParticipantRenamed { Id = command.Id, Name = command.Name, } } ; if (agg.Gender != command.Gender) { yield return new ParticipantGenderReassigned { Id = command.Id, Gender = command.Gender, } } ; if (agg.IsDelegate != command.IsDelegate && command.IsDelegate) { yield return new ParticipantDelegateStatusGranted { Id = command.Id } } ; if (agg.IsDelegate != command.IsDelegate && !command.IsDelegate) { yield return new ParticipantDelegateStatusRevoked { Id = command.Id } } ; if (agg.IsManager != command.IsManager && command.IsManager) { yield return new ParticipantManagerStatusGranted { Id = command.Id } } ; if (agg.IsManager != command.IsManager && !command.IsManager) { yield return new ParticipantManagerStatusRevoked { Id = command.Id } } ; if (agg.YearsQualifying != command.YearsQualifying) { yield return new ParticipantYearsQualifyingChanged { Id = command.Id, YearsQualifying = command.YearsQualifying, } } ; if (agg.ShirtSize != command.ShirtSize) { yield return new ParticipantShirtSizeChanged { Id = command.Id, ShirtSize = command.ShirtSize, } } ; if (agg.LeaguePinfall != command.LeaguePinfall || agg.LeagueGames != command.LeagueGames || agg.TournamentPinfall != command.TournamentPinfall || agg.TournamentGames != command.TournamentGames) { yield return new ParticipantAverageChanged { Id = command.Id, LeaguePinfall = command.LeaguePinfall, LeagueGames = command.LeagueGames, TournamentPinfall = command.TournamentPinfall, TournamentGames = command.TournamentGames, Average = (command.LeagueGames + command.TournamentGames) > 0 ? (command.LeaguePinfall + command.TournamentPinfall) / (command.LeagueGames + command.TournamentGames) : 0 } } ; if (agg.Package.ManitobaDinner != command.Package.ManitobaDinner || agg.Package.ManitobaDance != command.Package.ManitobaDance || agg.Package.FinalBanquet != command.Package.FinalBanquet || agg.Package.Transportation != command.Package.Transportation || agg.Package.Option1 != command.Package.Option1 || agg.Package.Option2 != command.Package.Option2 || agg.Package.Option3 != command.Package.Option3 || agg.Package.Option4 != command.Package.Option4) { yield return new ParticipantGuestPackageChanged { Id = command.Id, ManitobaDinner = command.Package.ManitobaDinner, ManitobaDance = command.Package.ManitobaDance, FinalBanquet = command.Package.FinalBanquet, Transportation = command.Package.Transportation, Option1 = command.Package.Option1, Option2 = command.Package.Option2, Option3 = command.Package.Option3, Option4 = command.Package.Option4, } } ; if (command.Birthday.HasValue && agg.Birthday != command.Birthday) { yield return new ParticipantBirthdayChanged { Id = command.Id, Birthday = command.Birthday.Value, } } ; }