首页 > 其他 > 详细

领域驱动设计案例之业务实现2

时间:2015-12-16 09:34:49      阅读:197      评论:0      收藏:0      [点我收藏+]

这篇文章主要介绍如何创建产品信息。ModifyCount主要的作用是订单项成功后,相应的产品库存应该减少,库存减少由Product进行维护。

public partial class Product:AggreateRoot
    {
        private IRepository<Product> irepository;
        public Product(IRepository<Product> irepository)
        {
            this.irepository = irepository;
        }
        public Product()
        { }

        public void CreateProduct(string name,string color,string size,int count,
            decimal unitprice,string categoryname,string description)
        {
            var product = new Product();
            product.Id = base.Id;
            product.ProductName = name;
            product.Color = color;
            product.Size = size;
            product.Count = count;
            product.UnitPrice = unitprice;
            var productcategory = new ProductCategory(categoryname,description);
            product.ProductCategory = productcategory;
            irepository.Create(product);

        }

        public void ModifyCount(Product p,int amount,IRepository<Product> irepository)
        {
            p.Count = this.Count - amount;
            irepository.Update(p);
        }

        public Product GetProducyByName(string productname)
        {
            return irepository.GetByCondition(p => p.ProductName == productname)
                .FirstOrDefault();
        }
    }
 public partial class ProductCategory:ValueObject
    {
        public ProductCategory(string categoryname,string description)
        {
            this.Id = base.Id;
            this.CategoryName = categoryname;
            this.Description = description;
        }
    }

 

领域驱动设计案例之业务实现2

原文:http://www.cnblogs.com/malaoko/p/5050116.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!