public Task Handle(FactoryDestroyedEvent evnt) { var factory = _state.GetFactory(evnt.EntityId); factory.State = FactoryState.Destroying; return(Task.CompletedTask); }
public Task Handle(FactoryDestroyedEvent evnt) { var factory = _dbContext.Factories.FirstOrDefault(f => f.FactoryId == evnt.EntityId); if (factory != null) { factory.State = FactoryState.Destroying; } return(Task.CompletedTask); }
public async Task <EventResult> DeleteFactory(Guid factoryId) { var player = await _playerRepo.GetPlayer(Context.User); var factory = await _repo.GetFactory(factoryId); if (factory.OwnerId != player.PlayerId) { throw new UnauthorizedAccessException("User does not own the factory"); } if (factory.State == FactoryState.Destroying || factory.State == FactoryState.Destroyed) { // TODO: Do we need to check for this? } var evnt = new FactoryDestroyedEvent(factoryId, player); var results = await _eventStore.ProduceAsync(evnt); return(new EventResult { Events = new[] { evnt }, Results = results, }); }