protected override void SetStateByEvent(IEvent @event) { switch (@event) { case AdvertismentCreated e: Id = e.Id; OwnerId = new UserId(e.OwnerId); State = AdvertismentState.Inactive; break; case AdvertismentPriceUpdated e: Price = new Price(Rial.FromLong(e.Price)); break; case AdvertismentSentForReview e: State = AdvertismentState.ReviewPending; break; case AdvertismentTextUpdated e: Text = new AdvertismentText(e.AdvertismentText); break; case AdvertismentTitleChanged e: Title = new AdvertismentTitle(e.Title); break; default: throw new InvalidOperationException("امکان اجرای عملیات درخواستی وجود ندارد"); } }
protected override void SetStateByEvent(IEvent @event) { switch (@event) { case AdvertisementCreated e: Id = e.Id; OwnerId = UserId.FromGuid(e.OwnerId); State = AdvertisementState.Inactive; break; case AdvertisementPriceUpdated e: Price = new Price(Rial.FromLong(e.Price)); break; case AdvertisementSentForReview e: State = AdvertisementState.ReviewPending; break; case AdvertisementDescriptionUpdated e: Description = AdvertisementDescription.FromString(e.Description); break; case AdvertisementTitleUpdated e: Title = AdvertisementTitle.FromString(e.Title); break; default: throw new InvalidOperationException("امکان اجرای عملیات درخواستی وجود ندارد"); } }