public virtual bool Add(T data) { if (!CheckInsertPermission()) { throw new PermissionException(); } string validationError = getValidationError(data); if (!String.IsNullOrEmpty(validationError)) { throw new ValidationException(validationError); } _context.Set <T>().Add(data); return(_context.SaveChanges() > 0); }