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(); }
void DisplayNext() { previous = current; previous.Hide(); InstantiateCurrentProduct(); GenerateQuestion(); }
//---------------------------------------------------- //Метод для отображения информации по одному товару при клике на его изображение 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()); }
/// <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)); } }
//----------------------------------------------- //Удаление товара из корзины 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")); }
//----------------------------------------- //Добавление косметики в корзину /*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); } } }
public string ShowColor2(AbstractProduct product) { if (product.Color == "Red") return "Red"; return string.Empty; }
public AbstractProduct Create(string owner) { AbstractProduct product = CreateProduct(owner); RegisterProduct(product); return(product); }
/// <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--; } }
private static void Main() { AbstractCreator creator = new ConcreteCreator(); AbstractProduct product = creator.Create(); Console.WriteLine(product.Description); Console.ReadKey(); }
/// <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); } }
// 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(); }
/// <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); } }
/// <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 }); }
public ProductOutputDto Get(int id) { AbstractProduct entity = _productRepository.Get(id); if (entity == null) { entity = new NullProduct(); } var resultEntity = _productCreateAssembler.FromEntity(entity); return(resultEntity); }
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"; }
//----------------------------------------- //Добавление товара в корзину 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 }); } } }
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(); }
/// <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); }
//客户类 只依赖抽象工厂和抽象产品类, 不依赖实际工厂和产品类 // 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(); }
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); }
public bool CompareSpeed(AbstractProduct other) { return(gameParameters.CompareSpeed(other.gameParameters)); }
public bool CompareDirection(AbstractProduct other) { return(gameParameters.CompareDirection(other.gameParameters)); }
protected abstract void RegisterProduct(AbstractProduct product);
public void AddProduct(AbstractProduct product) { Products.Add(product); }
public AbstractCreator() { this.product = null; }
public void Operation() { Product = FactoryMethod(); }
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); }