public void UnsubscribeDataSource(string userId, string datasourceId) { var evt = new FeedDataSourceUnsubscribedEvent(Guid.NewGuid().ToString(), Id, Version + 1, userId, datasourceId, DateTime.UtcNow); Handle(evt); DomainEvts.Add(evt); }
private void Handle(FeedDataSourceUnsubscribedEvent evt) { if (UserId != evt.UserId) { throw new DomainException(Global.UserNotAuthorizedToUnSubscribe); } var datasource = DataSources.FirstOrDefault(d => d.DatasourceId == evt.DataSourceId); if (datasource == null) { throw new DomainException(string.Format(Global.DataSourceDoesntExist, evt.DataSourceId)); } DataSources.Remove(datasource); UpdateDateTime = evt.DeletionDateTime; Version = evt.Version; }