zoukankan      html  css  js  c++  java
  • 领域驱动设计案例之业务实现2

    这篇文章主要介绍如何创建产品信息。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;
            }
        }

     欢迎加入QQ讨论群:309287205

  • 相关阅读:
    mongodb的CRUD操作三
    mongodb的CRUD操作二查询
    mongodb的CRUD操作一
    python 全栈Day01 安装python
    sqlalchemy 无法显示中文的问题
    2017python学习的第九天,进程,线程协程
    2017python学习的第八天,socket的使用
    2017python学习的第七天,面向对象编程
    2017python学习的第六天,面向对象
    创建证书
  • 原文地址:https://www.cnblogs.com/malaoko/p/5050116.html
Copyright © 2011-2022 走看看