protected override void OnWizardClosed(DialogResult result) { if(result == DialogResult.OK) { var command = new UpdateProjectHardwareSupplyCommand( this.hardwareSupply.ProjectId, this.hardwareSupply.HardwareId, this.hardwareSupply.Id, this.editHardwareSupplyPage1.TypedPage.Price); this.EventBroker.Publish(command, Topics.COMMANDS); } }
public void ProcessAction(UpdateProjectHardwareSupplyCommand eventObject) { var project = this.projectRepository.FindById(eventObject.ProjectId); var projectHardware = project.Hardwares.Where(x => x.Id == eventObject.HardwareId).First(); var projectHardwareSupply = projectHardware.Components.Where(x => x.Id == eventObject.HardwareSupplyId).First(); // because it doesn't unflatten, do it manually projectHardwareSupply.Supply.Price = eventObject.SupplyPrice; this.projectRepository.Save(project); this.eventBroker.Publish(new ProjectHardwareSupplyUpdatedEvent(project.Id, projectHardware.Id, projectHardwareSupply.Id), Topics.EVENTS); }