How to check Business logic in Onion Architecture Domain Layer?
<p>I've been working on Website Development and recently started creating an eCommerce project with MVC.</p>

<p>I decided to develop it with onion architecture. As I understand my logic divided in 2 different areas: Application logic and Business Logic.</p>

<p>As you know I have 2 places to implement these logic: <strong>Domain layer for Business logic and Service Layer for Application logic</strong>. And also according to <strong>Onion Architecture</strong>, <em>Domain Layer Has no relation to upper layer's such as Infrastructure Layer</em>. </p>

<p>So I have to check these business logic in Domain Layer and throw appropriate exception's based on situations.For example "Having Positive Product Price" is a Business Logic. This logic doesn't need to have relation with Database. But what if I want to check "<strong>duplicate Name for product</strong>". I am sure that <strong>I should not check this logic in service layer</strong>. Where and how should i Check such these logic.</p>

<p>And if i have to have a Validation Layer, how to make this layer's relations? 
Thanks For your reply.</p>