Example #1
0
        static void Main(string[] args)
        {
            //Prostokat prostokat = new Prostokat(2.5, 3);
            //double pole = prostokat.ObliczPole();
            //Console.WriteLine("Pole prostokata={0}", pole);

            //Kwadrat kwadrat = new Kwadrat(5);
            //pole = kwadrat.ObliczPole();
            //Console.WriteLine("Pole kwadratu={0}", pole);
            //Console.WriteLine("Czy kwadrat={0}", kwadrat.CzyKwadrat() );

            Samochod samochod = new Samochod();

            samochod.Zatankuj();
            samochod.Uruchom();
            samochod.Zatrzymaj();

            Samochod audi = new Samochod();

            audi.Zatankuj();
            audi.Uruchom();
            audi.Zatrzymaj();

            //Pojazd.pojazd = new Pojazd();
            //pojazd.Zatankuj();

            Console.WriteLine("Nazwa hosta : {0}", Utils.hostname);
            Console.WriteLine("Wart. maks = {0}", Utils.GetMaxValue(-10, 10, 20, 30, 0, -4));

            AbstractProduct ap = new AbstractProduct("Mleko", 2.99);

            Console.ReadKey();
        }
Example #2
0
 void DisplayNext()
 {
     previous = current;
     previous.Hide();
     InstantiateCurrentProduct();
     GenerateQuestion();
 }
Example #3
0
        //----------------------------------------------------
        //Метод для отображения информации по одному товару при клике на его изображение
        public ActionResult GetOneProductInfo(int ProductId, int CategoryId)
        {
            AbstractProduct obj = null;

            if (CategoryId == 1)
            {
                Parfum parfum = ProductRepo.GetProductById(ProductId);
                return(PartialView("GetOneParfumInfo", parfum));
            }

            else if (CategoryId == 2)
            {
                obj             = CosmeticRepo.GetProductById(ProductId);
                obj.PriceToShow = BuildPrice(obj.NewPrice);
                CosmeticRepo.AddCountOfView(ProductId);
                return(PartialView("GetOneProductInfo", obj));
            }

            else if (CategoryId == 3)
            {
                obj             = CareRepo.GetProductById(ProductId);
                obj.PriceToShow = BuildPrice(obj.NewPrice);
                CareRepo.AddCountOfView(ProductId);
                return(PartialView("GetOneProductInfo", obj));
            }

            //return PartialView("GetOneProductInfo", obj);
            return(View());
        }
Example #4
0
 /// <summary>
 /// Validates link.
 /// </summary>
 /// <param name="product">
 /// The product.
 /// </param>
 /// <exception cref="ArgumentNullException">
 /// Throws when Product is null
 /// </exception>
 public void ValidateLink(AbstractProduct product)
 {
     if (product == null)
     {
         throw new ArgumentNullException(nameof(product));
     }
 }
Example #5
0
        //-----------------------------------------------
        //Удаление товара из корзины
        public ActionResult RemoveProductFromCart(int ProductId, int CategoryId, string Size, string ColorId)
        {
            AbstractProduct obj = null;

            if (CategoryId == 1)
            {
                Parfum parfum = productrepo.GetProductById(ProductId);
                Cart.RemoveParfumFromCart(parfum, Size);
            }

            if (CategoryId == 2)
            {
                obj = cosmeticrepo.GetProductById(ProductId);
                if (obj.Colors.Count > 0)
                {
                    int colorid = Int32.Parse(ColorId);
                    obj.Colors.RemoveAll(color => color.ColorId != colorid);
                }
                Cart.RemoveProductFromCart(obj);
            }

            if (CategoryId == 3)
            {
                obj = carerepo.GetProductById(ProductId);
                Cart.RemoveProductFromCart(obj);
            }
            //Cart.RemoveProductFromCart(obj);
            return(RedirectToAction("ShowCartOnPage", "Cart"));
        }
Example #6
0
        //-----------------------------------------
        //Добавление косметики в корзину

        /*public void AddCosmeticToCart(Cosmetic obj)
         * {
         *  CosmeticInCart cosmetics = Cosmetics.FirstOrDefault(x => x.obj.ProductId == obj.ProductId);
         *  if (cosmetics != null)
         *  {
         *      cosmetics.Quantity++;
         *      cosmetics.TotalPrice = cosmetics.Quantity * cosmetics.obj.Price;
         *  }
         *
         *  else
         *  {
         *      int QuantityCosmetic = 1;
         *      Cosmetics.Add(new CosmeticInCart
         *      {
         *          obj = obj,
         *          Quantity = QuantityCosmetic,
         *          TotalPrice = QuantityCosmetic * obj.Price
         *      });
         *  }
         * }
         *
         *
         * //-----------------------------------------
         * //Добавление средства для ухода в корзину
         * public void AddCareToCart(Care obj)
         * {
         *  CareInCart cares = Cares.FirstOrDefault(x => x.obj.ProductId == obj.ProductId);
         *  if (cares != null)
         *  {
         *      cares.Quantity++;
         *      cares.TotalPrice = cares.Quantity * cares.obj.Price;
         *  }
         *
         *  else
         *  {
         *      int QuantityCare = 1;
         *      Cares.Add(new CareInCart
         *      {
         *          obj = obj,
         *          Quantity = QuantityCare,
         *          TotalPrice = QuantityCare * obj.Price
         *      });
         *  }
         * }*/

        //-----------------------------------------
        //Удаление продукта из корзины
        public void RemoveProductFromCart(AbstractProduct obj)
        {
            if (obj.Colors != null && obj.Colors.Capacity > 0)
            {
                ProductsInCart prod = Products.FirstOrDefault(x => x.obj.ProductId == obj.ProductId && x.obj.CategoryId == obj.CategoryId && x.Color.ColorId == obj.Colors[0].ColorId);
                if (prod.Quantity > 1)
                {
                    prod.Quantity--;
                    //prod.TotalPrice = prod.Quantity * (prod.obj.PriceToShow == 0 ? prod.obj.Price : prod.obj.PriceToShow);
                    prod.TotalPrice = prod.Quantity * prod.obj.PriceToShow;
                }

                else
                {
                    Products.Remove(prod);
                }
            }

            else
            {
                ProductsInCart prod = Products.FirstOrDefault(x => x.obj.ProductId == obj.ProductId && x.obj.CategoryId == obj.CategoryId);

                if (prod.Quantity > 1)
                {
                    prod.Quantity--;
                    //prod.TotalPrice = prod.Quantity * (prod.obj.PriceToShow == 0 ? prod.obj.Price : prod.obj.PriceToShow);
                    prod.TotalPrice = prod.Quantity * prod.obj.PriceToShow;
                }

                else
                {
                    Products.Remove(prod);
                }
            }
        }
Example #7
0
        public string ShowColor2(AbstractProduct product)
        {
            if (product.Color == "Red")
                return "Red";

            return string.Empty;
        }
Example #8
0
    public AbstractProduct Create(string owner)
    {
        AbstractProduct product = CreateProduct(owner);

        RegisterProduct(product);
        return(product);
    }
Example #9
0
        /// <summary>
        /// Deletes product from list.
        /// </summary>
        /// <param name="product">
        /// The product to delete.
        /// </param>
        public void SellProduct(AbstractProduct product)
        {
            AbstractProduct foundProduct = this._products.Find(p => p.Equals(product));

            if (foundProduct.Count > 0)
            {
                foundProduct.Count--;
            }
        }
Example #10
0
        private static void Main()
        {
            AbstractCreator creator = new ConcreteCreator();

            AbstractProduct product = creator.Create();

            Console.WriteLine(product.Description);

            Console.ReadKey();
        }
Example #11
0
        /// <summary>
        /// Updates product from repository
        /// according to ID
        /// </summary>
        /// <param name="product">
        /// The product.
        /// </param>
        public void Update(AbstractProduct product)
        {
            AbstractProduct foundProduct = this._products.Find(p => p.Id == product.Id);

            if (foundProduct != null)
            {
                this._products.RemoveAt((int)foundProduct.Id);
                this._products.Insert((int)foundProduct.Id, product);
            }
        }
Example #12
0
    // Start is called before the first frame update
    void Start()
    {
        AbstractFactory factory = new IDCardFactory();
        AbstractProduct card1   = factory.Create("小明");
        AbstractProduct card2   = factory.Create("小红");
        AbstractProduct card3   = factory.Create("小强");

        card1.Use();
        card2.Use();
        card3.Use();
    }
Example #13
0
 /// <summary>
 /// Adds product to list of the products.
 /// </summary>
 /// <param name="product">
 /// The product to add.
 /// </param>
 public void Add(AbstractProduct product)
 {
     if (this._products.Contains(product))
     {
         this._products.Find(p => p.Equals(product)).Count += product.Count;
     }
     else
     {
         this._products.Add(product);
         product.Id = (uint)this._products.IndexOf(product);
     }
 }
Example #14
0
        /// <summary>
        /// Sells products from repository.
        /// Invokes events when sell and when sold.
        /// </summary>
        /// <param name="product">
        /// The product to sell.
        /// </param>
        public void SellProduct(AbstractProduct product)
        {
            this.OnSellProduct?.Invoke(this, new ProductEventArgs {
                Product = product
            });
            Validator validator = new Validator();

            validator.ValidateLink(product);
            this._repository.SellProduct(product);
            this.OnSoldProduct?.Invoke(this, new ProductEventArgs {
                Product = product
            });
        }
Example #15
0
        public ProductOutputDto Get(int id)
        {
            AbstractProduct entity = _productRepository.Get(id);

            if (entity == null)
            {
                entity = new NullProduct();
            }

            var resultEntity = _productCreateAssembler.FromEntity(entity);

            return(resultEntity);
        }
Example #16
0
        public UseCase()
        {
            AbstractCreator creator = new ConcreteCreatorOne();
            AbstractProduct product = creator.FactoryMethod();

            PatternUseCase.Output += creator.GetType().Name + " => " + product.GetType().Name + " \r\n\r\n";

            // Or
            creator = new ConcreteCreatorTwo();
            creator.Operation();
            product = creator.Product;

            PatternUseCase.Output += creator.GetType().Name + " => " + product.GetType().Name + " \r\n\r\n";
        }
Example #17
0
        //-----------------------------------------
        //Добавление товара в корзину
        public void AddProductToCart(AbstractProduct obj)
        {
            if (obj.Colors != null && obj.Colors.Count > 0)
            {
                ProductsInCart prod = Products.FirstOrDefault(x => x.obj.ProductId == obj.ProductId && x.obj.CategoryId == obj.CategoryId && x.Color.ColorId == obj.Colors[0].ColorId);
                if (prod != null)
                {
                    prod.Quantity++;
                    //prod.TotalPrice = prod.Quantity * (prod.obj.PriceToShow == 0 ? prod.obj.Price : prod.obj.PriceToShow);
                    prod.TotalPrice = prod.Quantity * prod.obj.PriceToShow;
                }

                else
                {
                    int QuantityProduct = 1;
                    Products.Add(new ProductsInCart
                    {
                        obj      = obj,
                        Quantity = QuantityProduct,
                        //TotalPrice = QuantityProduct * (obj.PriceToShow == 0 ? obj.Price : obj.PriceToShow),
                        TotalPrice = QuantityProduct * obj.PriceToShow,
                        Color      = obj.Colors[0]
                    });
                }
            }

            else
            {
                ProductsInCart prod = Products.FirstOrDefault(x => x.obj.ProductId == obj.ProductId && x.obj.CategoryId == obj.CategoryId);
                if (prod != null)
                {
                    prod.Quantity++;
                    //prod.TotalPrice = prod.Quantity * (prod.obj.PriceToShow == 0 ? prod.obj.Price : prod.obj.PriceToShow);
                    prod.TotalPrice = prod.Quantity * prod.obj.PriceToShow;
                }

                else
                {
                    int QuantityProduct = 1;
                    Products.Add(new ProductsInCart
                    {
                        obj      = obj,
                        Quantity = QuantityProduct,
                        //TotalPrice = QuantityProduct * (obj.PriceToShow == 0 ? obj.Price : obj.PriceToShow)
                        TotalPrice = QuantityProduct * obj.PriceToShow
                    });
                }
            }
        }
Example #18
0
        static void Main(string[] args)
        {
            AbstractCreator[] creators = new AbstractCreator[2];

            creators[0] = new ConcreteCreatorA();
            creators[1] = new ConcreteCreatorB();

            foreach (AbstractCreator creator in creators)
            {
                AbstractProduct product = creator.CreateProduct();
                Console.WriteLine("Created {0}", product.GetType().Name);
            }

            Console.ReadKey();
        }
Example #19
0
        /// <summary>
        ///     The factory method test.
        /// </summary>
        public static void FactoryMethodTest()
        {
            var creators = new Creator[2];

            creators[0] = new ConcreteCreator1();
            creators[1] = new ConcreteCreator2();

            foreach (Creator creator in creators)
            {
                AbstractProduct product = creator.Factory();
                Console.WriteLine("Created {0}", product.GetType().Name);
            }

            Console.WriteLine("FactoryMethodTest finish.");
        }
        public OperationResponse Insert(AbstractProduct entity)
        {
            var result = new OperationResponse();

            try
            {
                var dbLocator = AmbientDbContextLocator.Get <RiverdaleDBContext>();
                dbLocator.Add(entity);
            }
            catch (Exception ex)
            {
                result.AddException($"Error adding Product", ex);
            }

            return(result);
        }
Example #21
0
        //客户类 只依赖抽象工厂和抽象产品类, 不依赖实际工厂和产品类
        //
        static public void Main()
        {
            //建造不同等级的工厂
            AbstractCreator cretorA = new CretorA();
            AbstractCreator cretorB = new CretorB();

            //在工厂类中创建抽象产品的具体子类的实例。

            //通过A级工厂生产X族产品
            AbstractProduct productAX = cretorA.CreateProductX();
            //通过A级工厂生产Y族产品
            AbstractProduct productAY = cretorA.CreateProductY();
            //通过B级工厂生产X族产品
            AbstractProduct productBX = cretorB.CreateProductX();
            //通过B级工厂生产Y族产品
            AbstractProduct productBY = cretorB.CreateProductY();
        }
Example #22
0
    void InstantiateCurrentProduct()
    {
        int rand = RandomCount();

        if (rand == 1)
        {
            current = factory.CreateProduct1(patternsOf4[Random.Range(0, patternsOf4.Count)]);
        }
        else if (rand == 2)
        {
            current = factory.CreateProduct2(patternsOf4[Random.Range(0, patternsOf4.Count)]);
        }
        else if (rand == 3)
        {
            current = factory.CreateProduct3(patternsOf4[Random.Range(0, patternsOf4.Count)]);
        }
        else if (rand == 4)
        {
            current = factory.CreateProduct4(patternsOf4[Random.Range(0, patternsOf4.Count)]);
        }
    }
        public OperationResponse LogicalDelete(AbstractProduct entity)
        {
            var result = new OperationResponse();

            var dbLocator = this.AmbientDbContextLocator.Get <RiverdaleDBContext>();

            {
                try
                {
                    if (!(entity.IsDeleted ?? false))
                    {
                        entity.DeletedAt = DateTime.UtcNow;
                        dbLocator.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    result.AddException("Error voiding Product Color Type", ex);
                }
            }

            return(null);
        }
Example #24
0
 public bool CompareSpeed(AbstractProduct other)
 {
     return(gameParameters.CompareSpeed(other.gameParameters));
 }
Example #25
0
 public bool CompareDirection(AbstractProduct other)
 {
     return(gameParameters.CompareDirection(other.gameParameters));
 }
Example #26
0
 protected abstract void RegisterProduct(AbstractProduct product);
Example #27
0
 public void AddProduct(AbstractProduct product)
 {
     Products.Add(product);
 }
 public AbstractCreator()
 {
     this.product = null;
 }
Example #29
0
 public void Operation()
 {
     Product = FactoryMethod();
 }
Example #30
0
 protected void GetPizza(Func <AbstractPizza> CallBack)
 {
     Product = CallBack();
 }
        public OperationResponse <ProductInsertCommandOutputDTO> Execute(ProductInsertCommandInputDTO input)
        {
            var result = new OperationResponse <ProductInsertCommandOutputDTO>();

            using (var dbContextScope = this.DbContextScopeFactory.Create())
            {
                AbstractProduct entity = null;

                if (input.ProductTypeId == nameof(ProductTypeEnum.FLW))
                {
                    entity = new DomainModel.Product.FlowerProduct
                    {
                        Name = input.Name,
                        ProductCategoryId = input.ProductCategoryId
                    };
                }
                else if (input.ProductTypeId == nameof(ProductTypeEnum.COMP))
                {
                    entity = new DomainModel.Product.CompositionProduct
                    {
                        Name = input.Name,
                    };
                }
                else if (input.ProductTypeId == nameof(ProductTypeEnum.HARD))
                {
                    entity = new DomainModel.Product.HardgoodProduct
                    {
                        Name = input.Name,
                    };
                }

                try
                {
                    var insertResult = this.Repository.Insert(entity);
                    result.AddResponse(insertResult);
                    if (result.IsSucceed)
                    {
                        dbContextScope.SaveChanges();
                    }
                }
                catch (Exception ex)
                {
                    result.AddError("Error Adding Product", ex);
                }

                if (result.IsSucceed)
                {
                    var getByIdResult = this.Repository.GetById(entity.Id);
                    result.AddResponse(getByIdResult);
                    if (result.IsSucceed)
                    {
                        result.Bag = new ProductInsertCommandOutputDTO
                        {
                            Id   = getByIdResult.Bag.Id,
                            Name = getByIdResult.Bag.Name
                        };
                    }
                }
            }

            return(result);
        }