public void AddNewAsset_Success()
        {
            var product = FakeProduct.StockProduct1;

            assetRepository.AddNewAsset(product);

            dbConnection.Received().QueryableProducts.Any(p => p.ProductSeq == product.ProductSeq);
            dbConnection.Received().QueryableAssets.Any(p => p.ProductSeq == product.ProductSeq);
            dbConnection.Received().Modified(Arg.Is <Asset>(p => p.ProductSeq == product.ProductSeq), EntityState.Added);
            dbConnection.Received().SaveChanges();
        }
Example #2
0
 public bool AddNewAsset(Asset asset)
 {
     using (DalSession dalSession = new DalSession())
     {
         UnitOfWork unitOfWork = dalSession.UnitOfWork();
         unitOfWork.Begin();
         try
         {
             _assetRepository = new AssetRepository(unitOfWork);
             asset.Asset_Id   = Guid.NewGuid().ToString();
             if (_assetRepository.AddNewAsset(asset) == 1)
             {
                 unitOfWork.Commit();
                 return(true);
             }
             else
             {
                 unitOfWork.Rollback();
                 return(false);
             }
         }
         catch
         {
             unitOfWork.Rollback();
             throw;
         }
     }
 }
        public string EditProduct(Product product)
        {
            var isNewProduct = product.ProductSeq == 0;

            if (!isNewProduct)
            {
                var oldData = dbConnection.QueryableProducts.FirstOrDefault(p => p.ProductSeq == product.ProductSeq);
                if (oldData == null)
                {
                    throw new DataNotFoundException();
                }

                oldData.ProductName = product.ProductName;
                oldData.Remark      = product.Remark;
                oldData.Owner       = product.Owner;

                dbConnection.Modified(oldData, EntityState.Modified);
            }
            else
            {
                dbConnection.Modified(product, EntityState.Added);
            }

            try
            {
                dbConnection.SaveChanges();
                if (isNewProduct)
                {
                    assetRepository.AddNewAsset(product);
                }

                return("Success");
            }
            catch (Exception ee)
            {
                return(ee.Message);
            }
        }