コード例 #1
0
        protected void btn_Update_Click(object sender, EventArgs e)
        {
            Product product = (Product)Session["Product"];
            int     id      = product.Id;
            string  name    = txt_watchName.Text;
            int     price   = int.Parse(txt_watchPrice.Text);
            int     stock   = int.Parse(txt_stock.Text);
            string  pic     = FileUpload1.FileName;

            if (txt_stock.Text != null && txt_watchName.Text != null && txt_watchPrice.Text != null && !FileUpload1.HasFile)
            {
                if (!pic.EndsWith(".jpg") && !pic.EndsWith(".png"))
                {
                    lbl_error.Text = "File must .png or .jpg";
                }
                else if (stock <= 0)
                {
                    lbl_error.Text = "You must input stock greater than 0";
                }
                else
                {
                    FileUpload1.SaveAs("D:\\DedeAndres-2001544801-Assigment\\UploadProduct\\" + FileUpload1.FileName);
                    string  input      = "D:\\DedeAndres-2001544801-Assigment\\UploadProduct\\" + FileUpload1.FileName;
                    Product newProduct = FactoryProduct.createProduct(name, price, stock, input);
                    RepositProduct.updateProduct(id, newProduct);
                    Response.Redirect("ManageProduct.aspx");
                }
            }
            else
            {
                lbl_error.Text = "You must fill all data";
            }
        }
コード例 #2
0
        public void CanCreateProduct()
        {
            const string productname      = "produit1";
            const int    quantiteMinimale = 15;
            var          marque           = new RepositoryMarque().FindAll().First();
            var          category         = new RepositoryCategory().FindAll().First();
            var          fournisseur      = new RepositoryFournisseur().FindAll().First();
            var          product          = FactoryProduct.CreateProduct(productname, quantiteMinimale, category, marque, fournisseur);

            Assert.AreEqual(product.Name, "produit1");
            Assert.AreEqual(product.QuantiteMin, 15);

            new RepositoryProduct().Save(product);

            var rp = new RepositoryMarque().FindBy(product.Marque.id);

            Assert.AreEqual(product.Marque.id, rp.id);
            Assert.AreEqual(product.Marque.Name, rp.Name);

            var rc = new RepositoryCategory().FindBy(product.Category.id);

            Assert.AreEqual(product.Category.id, rc.id);
            Assert.AreEqual(product.Category.Name, rc.Name);
            Assert.AreEqual(product.Category.Description, rc.Description);

            new RepositoryProduct().Remove(product);
        }
コード例 #3
0
        public void Write(string name, Category category, Marque marque, Fournisseur fournisseur, int quantiteMin, DateTime dateEntree, GestionProduit typeGestion)
        {
            var product = FactoryProduct.CreateProduct(name, quantiteMin, category, marque, fournisseur, null, null,
                                                       dateEntree, typeGestion);

            _repositoryProduct.Save(product);
        }
コード例 #4
0
        protected void btn_addProduct_Click(object sender, EventArgs e)
        {
            string watchName  = txt_watchName.Text;
            int    watchPrice = int.Parse(txt_watchPrice.Text);
            int    stock      = int.Parse(txt_stock.Text);
            string img        = FileUpload1.FileName;

            if (watchName != null && txt_watchPrice.Text != null && txt_stock.Text != null && img != null)
            {
                if (!img.EndsWith(".jpg") && !img.EndsWith(".png"))
                {
                    lbl_error.Text = "File must .png or .jpg";
                }
                else if (stock <= 0)
                {
                    lbl_error.Text = "You must input stock greater than 0";
                }
                else
                {
                    FileUpload1.SaveAs("D:\\DedeAndres-2001544801-Assigment\\UploadProduct\\" + FileUpload1.FileName);
                    string input = "D:\\DedeAndres-2001544801-Assigment\\UploadProduct\\" + FileUpload1.FileName;
                    RepositProduct.insertProduct(FactoryProduct.createProduct(watchName, watchPrice, stock, input));
                    Response.Redirect("addProduct.aspx");
                }
            }
            else
            {
                lbl_error.Text = "You must fill all data";
            }
        }
コード例 #5
0
        public void create_one_complete_order()
        {
            IManager  manager  = new Manager();
            ICustomer customer = FactoryCustomer.CreateNew();

            manager.AddCustomer(customer);

            // create Vat
            Vat vat = new Vat(20);

            manager.AddVat(vat);

            var random = new Random();

            ICompany store = new Company();

            manager.AddCompany(store);

            // create products
            List <IProduct> products = FactoryProduct.CreateMultipleProducts(random.Next(5, 15), random.Next(50, 150), vat, manager, store);

            foreach (Product _product in products)
            {
                manager.AddProduct(_product);
                Console.WriteLine($"Product #{_product.Id}: {_product.Name}, vat : {_product.Vat.percent}%, price without vat : {_product.Price} €, price with vat : {_product.GetPriceWithVAT()} €");
            }

            // create an order
            Order order = new Order(customer, products);

            Console.WriteLine($"Order #{order.Id}: {order.Products.Count} products, price : {order.GetTotalPrice()} €, price with vat : {order.GetTotalPriceWithVAT()} €, vat margin : {order.GetVatMargin()} €  ");

            Assert.Greater(products.Count, 1);
            //Assert.IsTrue(order.Products.Count > 1);
        }
コード例 #6
0
        public void calculate_total_order_vat_price()
        {
            IOrder order = new Order();

            var products = FactoryProduct.CreateMultipleProducts(3);

            order.Products.AddRange(products);

            Assert.Greater(order.GetTotalPriceWithVAT(), 0);
        }
コード例 #7
0
        public void assign_some_products_to_order()
        {
            IOrder order = new Order();

            var products = FactoryProduct.CreateMultipleProducts(3);

            order.Products.AddRange(products);

            Assert.AreEqual(order.Products.Count, 3);
        }
コード例 #8
0
        public void calculate_vat_amount_of_an_order()
        {
            IOrder order = new Order();

            var vat = new Vat(20);

            var products = FactoryProduct.CreateMultipleProducts(3, 100, vat);

            order.Products.AddRange(products);

            Assert.Greater(order.GetVatMargin(), 0);
        }
コード例 #9
0
        public void GetProductminimal()
        {
            const string productname       = "HP Desktop I3";
            const int    quantiteMinimale  = 10;
            const string productname1      = "HP Desktop I5";
            const int    quantiteMinimale1 = 10;
            var          marque            = new RepositoryMarque().FindAll().First();
            var          category          = new RepositoryCategory().FindAll().First();
            var          fournisseur       = new RepositoryFournisseur().FindAll().First();
            var          product           = FactoryProduct.CreateProduct(productname, quantiteMinimale, category, marque, fournisseur);
            var          product1          = FactoryProduct.CreateProduct(productname1, quantiteMinimale1, category, marque, fournisseur);

            Assert.AreEqual(product.Name, productname);
            Assert.AreEqual(product.QuantiteMin, quantiteMinimale);
            Assert.AreEqual(product1.Name, productname1);
            Assert.AreEqual(product1.QuantiteMin, quantiteMinimale1);
            new RepositoryProduct().Save(product);
            new RepositoryProduct().Save(product1);
            var rp = new RepositoryMarque().FindBy(product.Marque.id);

            Assert.AreEqual(product.Marque.id, rp.id);
            Assert.AreEqual(product.Marque.Name, rp.Name);
            var rc = new RepositoryCategory().FindBy(product.Category.id);

            Assert.AreEqual(product.Category.id, rc.id);
            Assert.AreEqual(product.Category.Name, rc.Name);
            Assert.AreEqual(product.Category.Description, rc.Description);

            const string stockname = "Stock Tlemcen";
            var          wilaya    = new RepositoryWilaya().FindAll().First(w => w.Name == "Tlemcen");
            var          commune   = new RepositoryWilaya().FindAll().First(w => w.Name == "Tlemcen").Communes.First(com => com.Name == "Tlemcen");
            const string adresse   = "S3 lot Sekkal el Kiffane";
            var          stock     = FactoryStock.CreateStock(stockname, wilaya, commune, adresse);

            Assert.AreEqual(stock.Name, stockname);

            var lineStock  = FactoryStock.CreateProductLine(stock, product, 5);
            var lineStock1 = FactoryStock.CreateProductLine(stock, product1, 20);

            Assert.AreEqual(lineStock.Product, product);
            Assert.AreEqual(lineStock.Quantity, 5);
            Assert.AreEqual(lineStock1.Product, product1);
            Assert.AreEqual(lineStock1.Quantity, 20);

            new RepositoryStock().Save(stock);

            var listProduct = stock.GetProductMinimale();

            Assert.AreEqual(listProduct.Count, 1);
            new RepositoryStock().Remove(stock);
            new RepositoryProduct().Remove(product);
            new RepositoryProduct().Remove(product1);
        }
コード例 #10
0
        public EntityProduct GetByModel(string Model)
        {
            var data = base.DataContext.Product.Where(p => p.Model == Model);

            if (data.Count() == 1)
            {
                return(FactoryProduct.Get(data.Single()));
            }
            else
            {
                return(null);
            }
        }
コード例 #11
0
        public EntityProduct Get(int Id)
        {
            var data = base.DataContext.Product.Where(p => p.PK_ProductID == Id);

            if (data.Count() == 1)
            {
                return(FactoryProduct.Get(data.Single()));
            }
            else
            {
                return(null);
            }
        }
コード例 #12
0
        public void add_a_product_to_manager()
        {
            var manager = new Manager();

            IProduct product = FactoryProduct.CreateNew();

            manager.AddProduct(product);

            int productsCount = manager.GetProducts().Count;

            Console.WriteLine($"Manager : products count : {productsCount}");

            Assert.AreEqual(productsCount, 1);
        }
コード例 #13
0
        public void assign_a_company_to_a_product()
        {
            var manager = new Manager();

            IProduct product = FactoryProduct.CreateNew();

            manager.AddProduct(product);

            ICompany company = new Company(null, LegalStatus.SA, null, 0);

            manager.AddCompany(company);

            manager.AssignRandomCompanyToProduct(product);

            Console.WriteLine($"Manager | product name : '{product.Name}', product's provider : '{product.Company.Name}'");

            Assert.IsNotNull(product.Company);
        }
コード例 #14
0
 public static void InsertProduct(Int64 ID, String TypeID, String Name, int Price, int Stock)
 {
     TokobeEntities.MsProducts.Add(FactoryProduct.InitProduct(ID, TypeID, Name, Price, Stock));
     TokobeEntities.SaveChanges();
 }
コード例 #15
0
        public GameObject CreateItem(FactoryProduct factoryProduct, Vector3 position)
        {
            GameObject gameObject = GetItem(factoryProduct);

            return(Instantiate(gameObject, position, Quaternion.identity));
        }
コード例 #16
0
 public List <EntityProduct> GetAll()
 {
     return(FactoryProduct.GetList(base.DataContext.Product.ToList()));
 }
コード例 #17
0
 public List <EntityProduct> GetActives()
 {
     return(FactoryProduct.GetList(base.DataContext.Product.Where(p => p.Status == true).ToList()));
 }
コード例 #18
0
 public List <EntityProduct> GetByIDs(List <string> IDs_Products)
 {
     return(FactoryProduct.GetList(base.DataContext.Product.Where(p => IDs_Products.Contains(p.Model)).ToList()));
 }
コード例 #19
0
 public static void InsertProduct(String productName, Int32 prodtypeid, Int32 stock, Int32 price)
 {
     db.Products.Add(FactoryProduct.InsProduct(productName, prodtypeid, stock, price));
     db.SaveChanges();
 }
コード例 #20
0
 public GameObject CreateItem(FactoryProduct factoryProduct)
 {
     return(CreateItem(factoryProduct, Vector3.zero));
 }
コード例 #21
0
        public void SetupStockMock()
        {
            InitDal.Init();
            var wilaya  = new RepositoryWilaya().FindAll().First(w => w.Name == "Tlemcen");
            var commune = new RepositoryWilaya().FindAll().First(w => w.Name == "Tlemcen").Communes.First(com => com.Name == "Tlemcen");
            var factoryStockCreateStock = FactoryStock.CreateStock("stock1", wilaya, commune, "Kiffane");

            // mock du stock
            var marque       = FactoryMarque.CreateMarque("Nom marque");
            var category     = FactoryCategory.CreateCategory("Nom category", "Description");
            var fournisseur1 = FactoryFournisseur.CreateFournisseur("Nom fournisseur");

            FactoryStock.CreateProductLine(factoryStockCreateStock, FactoryProduct.CreateProduct("product1", 15, category, marque, fournisseur1), 10);
            FactoryStock.CreateProductLine(factoryStockCreateStock, FactoryProduct.CreateProduct("product2", 17, category, marque, fournisseur1), 10);
            FactoryStock.CreateProductLine(factoryStockCreateStock, FactoryProduct.CreateProduct("product3", 20, category, marque, fournisseur1), 10);

            _stockMock = new Mock <IRepository <Stock, Guid> >();
            _stockMock.Setup(e => e.FindBy(It.IsAny <Query>())).Returns(
                new List <Stock> {
                factoryStockCreateStock
            }
                );

            // mock du secteur et client
            const string nomSect = "nom secteur1";
            var          sector  = FactorySector.CreateSector(nomSect, wilaya, commune);
            const string nom     = "NomClient1";
            const string prenom  = "PrenomClient1";

            FactorySector.CreateClient(nom, prenom, sector);
            _sectorMock = new Mock <IRepository <Sector, Guid> >();
            _sectorMock.Setup(e => e.FindBy(It.IsAny <Query>())).Returns(
                new List <Sector> {
                sector
            }
                );


            //mock du produit
            const string nommarque      = "Dell";
            var          marque2        = FactoryMarque.CreateMarque(nommarque);
            const string nom1           = "Desktop";
            const string description    = "Pc bureau";
            var          category2      = FactoryCategory.CreateCategory(nom1, description);
            const string nomfournisseur = "Solinf";
            var          fournisseur    = FactoryFournisseur.CreateFournisseur(nomfournisseur);
            var          produit1       = FactoryProduct.CreateProduct("MockedProduct", 10, category2, marque2, fournisseur);
            var          produit2       = FactoryProduct.CreateProduct("MockedProduct", 15, category2, marque2, fournisseur, "ce produit est explosif", reference: "http://www.google.com");

            _productMock = new Mock <IRepository <Product, Guid> >();
            _productMock.Setup(e => e.FindBy(It.IsAny <Query>())).Returns(
                new List <Product>
            {
                produit1,
                produit2
            }
                );
            const string nomSector = "secteur1";
            var          wilaya1   = new RepositoryWilaya().FindAll().First();
            var          commune1  = new RepositoryWilaya().FindAll().First().Communes.First();
            var          secteur   = FactorySector.CreateSector(nomSector, wilaya1, commune1);

            _sectorMock2 = new Mock <IRepository <Sector, Guid> >();
            _sectorMock2.Setup(e => e.FindBy(It.IsAny <Query>())).Returns(
                new List <Sector>
            {
                secteur
            }
                );
        }
コード例 #22
0
 GameObject GetItem(FactoryProduct factoryProduct)
 {
     return(productDatas.Where(p => p.factoryProductType == factoryProduct).Select(p => p.prefab).First());
 }