Ejemplo n.º 1
0
        public void Add(Product product)
        {
            //aqui ficaria alguma validação de regra de negócio
            ProductDal dao = new ProductDal();

            dao.Add(product);
        }
Ejemplo n.º 2
0
        private void btnEkle_Click(object sender, EventArgs e)
        {
            Product product = new Product
            {
                Name        = name.Text,
                Price       = Convert.ToDecimal(price.Text),
                StockAmount = Convert.ToInt32(stockAmount.Text)
            };

            _productDal.Add(product);
            FillLoad();
        }
Ejemplo n.º 3
0
 private void btnAdd_Click(object sender, EventArgs e)
 {
     _productDal.Add(new Product
     {
         Name        = tbxName.Text,
         StockAmount = Convert.ToInt32(tbxStockAmount.Text),
         UnitPrice   = Convert.ToDecimal(tbxUnitPrice.Text)
     });
     // yukarıda ekleme işlemini yaptık
     LoadProducts();
     MessageBox.Show("your product added!");
 }
Ejemplo n.º 4
0
        private void btnEkle_Click(object sender, EventArgs e)
        {
            Product product = new Product
            {
                Name        = name.Text,
                Price       = Convert.ToDecimal(price.Text),
                StockAmount = Convert.ToInt32(stockAmount.Text)
            };

            productDal.Add(product);
            MessageBox.Show("Ekleme işlemi yapıldı");
            FillTheForm();
        }
Ejemplo n.º 5
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            _productDal.Add(new Product
            {
                ProductName     = tbxProductName.Text,
                SupplierID      = Convert.ToInt32(tbxSupplierID.Text),
                CategoryID      = Convert.ToInt32(tbxCategoryID.Text),
                QuantityPerUnit = tbxQuantityPerUnit.Text,
                UnitPrice       = Convert.ToDecimal(tbxUnitPrice.Text),
                UnitsInStock    = Convert.ToInt16(tbxUnitsInStock.Text)
            });

            AddMessage();
        }
Ejemplo n.º 6
0
 public string Add(Product entity)
 {
     try
     {
         if (!IsProductComplete(entity))
         {
             return("Ürün Bilgileri Hatalı");
         }
         return(productDal.Add(entity));
     }
     catch (Exception ex)
     {
         return(ex.Message);
     }
 }
        private void btn_Add_Click(object sender, EventArgs e)
        {
            _productDal.Add(new Product
            {
                Name = tbx_Name.Text,

                Price = Convert.ToDecimal(tbx_Price.Text),

                StockAmount = Convert.ToInt32(tbx_StockAmount.Text)
            });

            ProductList();

            MessageBox.Show("Product Added");
        }
Ejemplo n.º 8
0
 private void btnAdd_Click(object sender, EventArgs e)
 {
     if (AddControl())
     {
         dal.Add(new Products
         {
             Name        = txtName.Text,
             UnitPrice   = decimal.Parse(txtUnit.Text),
             StockAmount = int.Parse(txtStock.Text)
         });
         LoadData();
         MessageBox.Show("Added");
     }
     else
     {
         MessageBox.Show("Alanları giriniz !");
     }
 }
Ejemplo n.º 9
0
 public bool AddInfo(Product product)
 {
     return(productDal.Add(product));
 }
Ejemplo n.º 10
0
        public void Demo()
        {
            //----------Before-----------
            //  暂不考虑上下文
            //----------Before-----------

            Random rand = new Random();

            bool result;

            var product = new Product()
            {
                Id    = rand.Next(100),
                Name  = Guid.NewGuid().ToString().Replace("-", ""),
                Price = rand.Next(1000) * 100 + 100
            }; //需要处理的产品

            //<<简单业务场景>>

            //step1.创建上下文
            var dbContext = new DbContext();

            //step2.创建dal处理对象
            var productDal = new ProductDal(dbContext);

            //step3.执行操作
            result = productDal.Add(product);

            //----------Summary-----------
            //  当用户访问进来时 --> UI层
            //  创建了一个上下文对象 --> UI层
            //  创建dal对象 --> UI层 --> 关联dal层
            //  执行操作,返回结果 --> UI层
            //----------Summary-----------

            //<<常见三层业务场景>>

            //step1.同上
            //step2.同上
            //step3.创建service处理对象
            var productService = new ProductService(productDal);

            //step4.执行操作
            result = productService.AddInfo(product);


            //----------Summary-----------
            //  当用户访问进来时 --> UI层
            //  创建了一个上下文对象 --> UI层
            //  创建dal对象 --> UI层 --> 关联dal层
            //  创建service对象 --> UI层 --> 关联service层
            //  执行操作,返回结果 --> UI层
            //----------Summary-----------

            //----------Question-----------
            //  当业务流程越来越复杂时,层级关系随着越来越多,UI层关联的业务层也会越来越多
            //  用户访问进来,UI层会关联到所有相关联的层
            //  当后续维护时,维护一个层的同时必须调整相关层的所有关系耦合 --> 大工程
            //  层级关系混乱:UI层在一定程度上影响了所有相关层的构造  但dal明显不与ui直接关联
            //----------Question-----------

            //>>IOC<< 控制反转
            //在普遍的场景中  对象中属性的引用指针由对象指定
            //在IOC场景中 对象中属性的引用指针由容器决定 [spring即由spring容器控制]

            //<<工厂模式处理>>

            //step1.创建dal处理对象
            //var dal = DalFactory.GetInstance().GetDal<ProductDal>();

            //or 创建service处理对象  dal的创建应该由service层决定

            //普通工厂:
            //每个service对应一个方法
            //var productService1 = ServiceFactory.GetInstance().GetProductService();

            //泛型获取 工厂:
            //让所有service符合一个规范
            //然后通过泛型方法来获取
            var service = ServiceFactory.GetInstance().GetService <ProductService>();

            //step2.执行操作

            //result = dal.Add(product);
            result = service.AddInfo(product);

            //<<缓存容器模式>>

            //step1.往容器中添加对象
            //此步骤一般在程序初始化时进行
            //配置注册,全局使用
            CacheContainer.AddInstance <DbContext, DbContext>();
            CacheContainer.AddInstance <ProductDal, ProductDal>();
            CacheContainer.AddInstance <ProductService, ProductService>();

            //step2.从容器中获取对象
            var instance = CacheContainer.GetInstance <ProductService>();

            //step3.执行操作
            result = instance.AddInfo(product);

            //----------Summary-----------
            //  使用IOC容器的优势:
            //  1.简洁  一处添加对象后,全局使用[注:此处并非直接添加对象,而是相对于添加一个对象标识,添加一个由type到instance的关系]
            //  2.降低耦合度 通过操作可见,UI层最终只需要操作service层,便可完成操作,即UI层只与最近的一个层低关联着
            //    虽然最终还是有UI->Service层的依赖,但是通过容器实际是UI -> 容器 容器 ->Service
            //    而且容器->everything 即实际 只存在UI -> 容器的存在
            //    且UI/使用着 无须考虑容器中对象的生命周期  对象存储在容器中 --> 对象的生命周期也由容器进行管理
            //----------Summary-----------

            Console.WriteLine($"【添加产品】操作结果:{result}");
        }