void RequestProductDiscussionFor(Product product) { ApplicationServiceLifeCycle.Begin(); try { product.RequestDiscussion(RequestDiscussionIfAvailable()); this.productRepository.Save(product); ApplicationServiceLifeCycle.Success(); } catch (Exception ex) { ApplicationServiceLifeCycle.Fail(ex); } }