public static AnnouncementSendingFrequency ConvertToEnum(this AnnouncementSendingFrequencyEnumeration announcementSendingFrequency) { switch (announcementSendingFrequency) { case { } announcementSendingFrequencyEnumeration when Equals(announcementSendingFrequencyEnumeration, AnnouncementSendingFrequencyEnumeration.EveryHour): return(AnnouncementSendingFrequency.EveryHour); case { } announcementSendingFrequencyEnumeration when Equals(announcementSendingFrequencyEnumeration, AnnouncementSendingFrequencyEnumeration.EveryTwoHours): return(AnnouncementSendingFrequency.EveryTwoHours); case { } announcementSendingFrequencyEnumeration when Equals(announcementSendingFrequencyEnumeration, AnnouncementSendingFrequencyEnumeration.EveryThreeHours): return(AnnouncementSendingFrequency.EveryThreeHours); case { } announcementSendingFrequencyEnumeration when Equals(announcementSendingFrequencyEnumeration, AnnouncementSendingFrequencyEnumeration.EveryFourHours): return(AnnouncementSendingFrequency.EveryFourHours); case { } announcementSendingFrequencyEnumeration when Equals(announcementSendingFrequencyEnumeration, AnnouncementSendingFrequencyEnumeration.EveryFiveHours): return(AnnouncementSendingFrequency.EveryFiveHours); case { } announcementSendingFrequencyEnumeration when Equals(announcementSendingFrequencyEnumeration, AnnouncementSendingFrequencyEnumeration.EverySixHours): return(AnnouncementSendingFrequency.EverySixHours); case { } announcementSendingFrequencyEnumeration when Equals(announcementSendingFrequencyEnumeration, AnnouncementSendingFrequencyEnumeration.EveryTwelveHours): return(AnnouncementSendingFrequency.EveryTwelveHours); default: throw new ArgumentException($"{nameof(announcementSendingFrequency.DisplayName)} is not supported by {nameof(AnnouncementSendingFrequency)}."); } }
public CreateUserCommand(Guid userId, string email, bool serviceActive, int announcementPreferenceLimit, AnnouncementSendingFrequencyEnumeration announcementSendingFrequency) { UserId = userId; Email = email; ServiceActive = serviceActive; AnnouncementPreferenceLimit = announcementPreferenceLimit; AnnouncementSendingFrequency = announcementSendingFrequency; }
public UserCreatedDomainEvent(Guid aggregateId, Guid correlationId, string email, string picture, bool serviceActive, int announcementPreferenceLimit, AnnouncementSendingFrequencyEnumeration announcementSendingFrequency) : base(aggregateId, correlationId) { Email = email; Picture = picture; ServiceActive = serviceActive; AnnouncementPreferenceLimit = announcementPreferenceLimit; AnnouncementSendingFrequency = announcementSendingFrequency; }
public UpdateUserCommand(Guid userId, bool serviceActive, int announcementPreferenceLimit, AnnouncementSendingFrequencyEnumeration announcementSendingFrequency, PictureDto picture) { UserId = userId; ServiceActive = serviceActive; AnnouncementPreferenceLimit = announcementPreferenceLimit; AnnouncementSendingFrequency = announcementSendingFrequency; Picture = picture; CorrelationId = Guid.NewGuid(); }
private User(UserBuilder builder) : base(builder.Id) { Email = builder.Email; Picture = builder.Picture; ServiceActive = builder.ServiceActive; AnnouncementPreferenceLimit = builder.AnnouncementPreferenceLimit; AnnouncementSendingFrequency = builder.AnnouncementSendingFrequency; _roomForRentAnnouncementPreferences = builder.RoomForRentAnnouncementPreferences; _flatForRentAnnouncementPreferences = builder.FlatForRentAnnouncementPreferences; }
private void UpdateAnnouncementSendingFrequency(User user, AnnouncementSendingFrequencyEnumeration announcementSendingFrequency, Guid correlationId) { if (!Equals(user.AnnouncementSendingFrequency, announcementSendingFrequency)) { var announcementSendingFrequencyCanBeChangedVerificationResult = _userVerificationService.VerifyAnnouncementSendingFrequencyCanBeChanged(); if (!announcementSendingFrequencyCanBeChangedVerificationResult.Success) { throw new ValidationException(announcementSendingFrequencyCanBeChangedVerificationResult.Errors); } user.ChangeAnnouncementSendingFrequency(announcementSendingFrequency, correlationId); } }
public UserOutputQuery(Guid id, string email, string picture, bool serviceActive, int announcementPreferenceLimit, AnnouncementSendingFrequencyEnumeration announcementSendingFrequency, IEnumerable <RoomForRentAnnouncementPreferenceOutputQuery> roomForRentAnnouncementPreferences, IEnumerable <FlatForRentAnnouncementPreferenceOutputQuery> flatForRentAnnouncementPreferences) : base(id) { Email = email; Picture = picture; ServiceActive = serviceActive; AnnouncementPreferenceLimit = announcementPreferenceLimit; AnnouncementSendingFrequency = announcementSendingFrequency; RoomForRentAnnouncementPreferences = roomForRentAnnouncementPreferences.ToList().AsReadOnly(); FlatForRentAnnouncementPreferences = flatForRentAnnouncementPreferences.ToList().AsReadOnly(); }
public UserAnnouncementSendingFrequency(AnnouncementSendingFrequencyEnumeration announcementSendingFrequency) { _announcementSendingFrequency = announcementSendingFrequency ?? throw new UserAnnouncementSendingFrequencyNullException(); }
public UserAnnouncementSendingFrequencyChangedDomainEvent(Guid aggregateId, Guid correlationId, AnnouncementSendingFrequencyEnumeration announcementSendingFrequency) : base(aggregateId, correlationId) { AnnouncementSendingFrequency = announcementSendingFrequency; }
public void ChangeAnnouncementSendingFrequency(AnnouncementSendingFrequencyEnumeration announcementSendingFrequency, Guid correlationId) { AnnouncementSendingFrequency = new UserAnnouncementSendingFrequency(announcementSendingFrequency); AddEvent(new UserAnnouncementSendingFrequencyChangedDomainEvent(Id, correlationId, AnnouncementSendingFrequency)); }
public IUserBuilder SetAnnouncementSendingFrequency(AnnouncementSendingFrequencyEnumeration announcementSendingFrequency) { AnnouncementSendingFrequency = new UserAnnouncementSendingFrequency(announcementSendingFrequency); return(this); }
public override void ApplyEvents() { base.ApplyEvents(); foreach (var domainEvent in Events) { switch (domainEvent) { case UserCreatedDomainEvent userCreatedDomainEvent: { Email = userCreatedDomainEvent.Email; Picture = userCreatedDomainEvent.Picture; ServiceActive = userCreatedDomainEvent.ServiceActive; AnnouncementPreferenceLimit = userCreatedDomainEvent.AnnouncementPreferenceLimit; AnnouncementSendingFrequency = userCreatedDomainEvent.AnnouncementSendingFrequency; break; } case UserAnnouncementPreferenceLimitChangedDomainEvent userAnnouncementPreferenceLimitChangedDomainEvent: { AnnouncementPreferenceLimit = userAnnouncementPreferenceLimitChangedDomainEvent.AnnouncementPreferenceLimit; break; } case UserAnnouncementSendingFrequencyChangedDomainEvent userAnnouncementSendingFrequencyChangedDomainEvent: { AnnouncementSendingFrequency = userAnnouncementSendingFrequencyChangedDomainEvent.AnnouncementSendingFrequency; break; } case UserServiceActiveChangedDomainEvent userServiceActiveChangedDomainEvent: { ServiceActive = userServiceActiveChangedDomainEvent.ServiceActive; break; } case UserPictureChangedDomainEvent userPictureChangedDomainEvent: { Picture = userPictureChangedDomainEvent.Picture; break; } case UserFlatForRentAnnouncementPreferenceAddedDomainEvent userFlatForRentAnnouncementPreferenceAddedDomainEvent: { _flatForRentAnnouncementPreferences.Add(userFlatForRentAnnouncementPreferenceAddedDomainEvent.FlatForRentAnnouncementPreference); break; } case UserFlatForRentAnnouncementPreferenceChangedDomainEvent userFlatForRentAnnouncementPreferenceChangedDomainEvent: { var flatForRentAnnouncementPreference = _flatForRentAnnouncementPreferences.Single(x => x.Id == userFlatForRentAnnouncementPreferenceChangedDomainEvent.FlatForRentAnnouncementPreference.Id); flatForRentAnnouncementPreference.ChangeCityId(userFlatForRentAnnouncementPreferenceChangedDomainEvent.FlatForRentAnnouncementPreference.CityId); flatForRentAnnouncementPreference.ChangePriceMin(userFlatForRentAnnouncementPreferenceChangedDomainEvent.FlatForRentAnnouncementPreference.PriceMin); flatForRentAnnouncementPreference.ChangePriceMax(userFlatForRentAnnouncementPreferenceChangedDomainEvent.FlatForRentAnnouncementPreference.PriceMax); flatForRentAnnouncementPreference.ChangeRoomNumbersMin(userFlatForRentAnnouncementPreferenceChangedDomainEvent.FlatForRentAnnouncementPreference.RoomNumbersMin); flatForRentAnnouncementPreference.ChangeRoomNumbersMax(userFlatForRentAnnouncementPreferenceChangedDomainEvent.FlatForRentAnnouncementPreference.RoomNumbersMax); flatForRentAnnouncementPreference.ChangeCityDistricts(userFlatForRentAnnouncementPreferenceChangedDomainEvent.FlatForRentAnnouncementPreference.CityDistricts); break; } case UserFlatForRentAnnouncementPreferenceDeletedDomainEvent userFlatForRentAnnouncementPreferenceDeletedDomainEvent: { _flatForRentAnnouncementPreferences.Remove(userFlatForRentAnnouncementPreferenceDeletedDomainEvent.FlatForRentAnnouncementPreference); break; } case UserRoomForRentAnnouncementPreferenceAddedDomainEvent userRoomForRentAnnouncementPreferenceAddedDomainEvent: { _roomForRentAnnouncementPreferences.Add(userRoomForRentAnnouncementPreferenceAddedDomainEvent.RoomForRentAnnouncementPreference); break; } case UserRoomForRentAnnouncementPreferenceChangedDomainEvent userRoomForRentAnnouncementPreferenceChangedDomainEvent: { var roomForRentAnnouncementPreference = _roomForRentAnnouncementPreferences.Single(x => x.Id == userRoomForRentAnnouncementPreferenceChangedDomainEvent.RoomForRentAnnouncementPreference.Id); roomForRentAnnouncementPreference.ChangeCityId(userRoomForRentAnnouncementPreferenceChangedDomainEvent.RoomForRentAnnouncementPreference.CityId); roomForRentAnnouncementPreference.ChangePriceMin(userRoomForRentAnnouncementPreferenceChangedDomainEvent.RoomForRentAnnouncementPreference.PriceMin); roomForRentAnnouncementPreference.ChangePriceMax(userRoomForRentAnnouncementPreferenceChangedDomainEvent.RoomForRentAnnouncementPreference.PriceMax); roomForRentAnnouncementPreference.ChangeRoomType(userRoomForRentAnnouncementPreferenceChangedDomainEvent.RoomForRentAnnouncementPreference.RoomType); roomForRentAnnouncementPreference.ChangeCityDistricts(userRoomForRentAnnouncementPreferenceChangedDomainEvent.RoomForRentAnnouncementPreference.CityDistricts); break; } case UserRoomForRentAnnouncementPreferenceDeletedDomainEvent userRoomForRentAnnouncementPreferenceDeletedDomainEvent: { _roomForRentAnnouncementPreferences.Remove(userRoomForRentAnnouncementPreferenceDeletedDomainEvent.RoomForRentAnnouncementPreference); break; } } } }