public Validation CreatePackage(ref Package package, IList<long> items)
        {
            var val = _validator.ValidateNewPackage(package, null);

            var trans = _factory.BuildTransaction("InsertPackage");
            try
            {
                //validate
                if (val.IsValid)
                {
                    _repo.Insert(ref package, ref trans);
                    long packageId = package.Id;
                    items.ToList().ForEach(i => _itemRepo.SetItemPackage(i, packageId, ref trans));
                }
                trans.Commit();
            }
            catch (Exception e)
            {
                trans.Rollback();
                val.AddError(string.Format("Unable to create package: {0}", e.Message));
            }
            finally
            {
                trans.Dispose();
            }
            return val;
        }
 public Validation ValidateNewPackage(Package package, IList<long> items)
 {
     throw new System.NotImplementedException();
 }
 public Validation CreatePackage(ref Package package, IEnumerable<long> items)
 {
     throw new NotImplementedException();
 }