Refactor architecture. Creating sample data

Refactor architecture to meet Repository and UnitOfWork Pattern.
Creating sample data to fill db