protected override void OnWizardClosed(DialogResult result) { if (result == DialogResult.OK) { foreach(var item in newProjectSupplyPage.TypedPage.CatalogSupplyViewModel) { var command = new CreateNewProjectSupplyCommand( projectId, item.CatalogId, item.Id, item.Quantity); this.EventBroker.Publish(command, Topics.COMMANDS); } } }
public void ProcessAction(CreateNewProjectSupplyCommand eventObject) { var catalog = this.catalogRepository.FindById(eventObject.CatalogId); var supply = catalog.Supplies.Where(x => x.Id == eventObject.SupplyId).First(); var project = this.projectRepository.FindById(eventObject.ProjectId); var projectSupply = MapProjectSupply(supply, new ProjectSupply(), eventObject.Quantity, catalog); project.Supplies.Add(projectSupply); var index = project.Supplies.IndexOf(projectSupply); this.projectRepository.Save(project); projectSupply = project.Supplies[index]; this.eventBroker.Publish(new ProjectSupplyCreatedEvent(project.Id, projectSupply.Id), Topics.EVENTS); }