using CareerCloud.DataAccessLayer;
using System.Collections.Generic;
namespace CareerCloud.BusinessLogicLayer
public abstract class BaseLogic<TPoco>
protected IDataRepository<TPoco> _repository;
public BaseLogic(IDataRepository<TPoco> repository)
_repository = repository;
protected virtual void Verify(TPoco[] pocos)
public virtual TPoco Get(Guid id)
return _repository.GetSingle(c => c.Id == id);
public virtual List<TPoco> GetAll()
return _repository.GetAll().ToList();
public virtual void Add(TPoco[] pocos)
foreach (TPoco poco in pocos)
if (poco.Id == Guid.Empty)
poco.Id = Guid.NewGuid();
public virtual void Update(TPoco[] pocos)
_repository.Update(pocos);
public void Delete(TPoco[] pocos)
_repository.Remove(pocos);