Repositories and UnitOfWork added

Repository and UnitOfWork patterns implemented in the project in order
to manipulate the data