示例#1
0
 private void ProductEdit()
 {
     ProductToEdit.ProductGroup = SelectedMainGroup + "-" + SelectedSubGroup;
     ProductMethods.EditProduct(ProductToEdit);
     MessageBox.Show("Produkt Redigeret!");
     Application.Current.Windows.OfType <Window>().SingleOrDefault(x => x.IsActive).Close();
 }
        public void PostOrder(Order order)
        {
            OrderedProduct orderedProduct = order.OrderedProducts.FirstOrDefault();

            if (orderedProduct.Product.Count >= orderedProduct.CountProduct)
            {
                if (order.OrdererName.Length <= 100)
                {
                    var orderFromList = OrderMethods.GetOrder(order, Connection);
                    if (orderFromList == null)
                    {
                        OrderMethods.CreateOrder(order, Connection);
                    }
                    orderFromList = OrderMethods.GetOrder(order, Connection);
                    if (orderFromList.EndDate == null)
                    {
                        if (OrderMethods.CheckProductInOrder(orderFromList.Id, orderedProduct.Product.Id, Connection))
                        {
                            OrderMethods.UpdateOrder(orderFromList.Id, orderedProduct.Product.Id, orderedProduct.CountProduct, Connection);
                        }
                        else
                        {
                            OrderMethods.AddProductsInOrder(orderFromList.Id, orderedProduct, Connection);
                        }
                        ProductMethods.UpdateProduct(Connection, $"update PRODUCTS set ProductCount -= {orderedProduct.CountProduct} where Id = {orderedProduct.Product.Id};");
                    }
                }
            }
        }
        /// <summary>
        /// Method listing products and getting the maingroup afterwards
        /// </summary>
        private void GetProductGroups()
        {
            List <Product> listProducts = ProductMethods.ListProducts();

            MainGroup = listProducts.Select(x => x.ProductGroup.Substring(0, 2)).OrderBy(x => x).ToList();
            MainGroup = MainGroup.Distinct().ToList();
        }
示例#4
0
        public void TestGetProducts()
        {
            var auth   = AccessToken.AccessToken.ProductMethods;
            var result = ProductMethods.GetProducts(token: auth, parameters: new RequestModel());

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Result == ResultType.Success);
        }
示例#5
0
        public void DeleteProduct()
        {
            Product selectedProd = MyFilteredItems.ElementAt(SelectedIndex);

            DataAccessLayer.ProductDelete(selectedProd);
            ProductList = ProductMethods.ListProducts();
            NotifyPropertyChanged("");
        }
示例#6
0
 // GET:Products/Delete/5
 public ActionResult Delete(int id, bool?saveChangesError)
 {
     if (saveChangesError.GetValueOrDefault())
     {
         ViewBag.ErrorMessage = "Unable to save changes. Try again, and if the problem persists see your system administrator.";
     }
     return(View(ProductMethods.GetItem(id)));
 }
示例#7
0
        /// <summary>
        /// выбирает непроданые товары
        /// </summary>
        /// <returns></returns>
        public static IEnumerable <Product> ProductsInStock()
        {
            var x = from m in ProductMethods.Outpoot()
                    where m.Status = true
                                     select m;

            return(x);
        }
示例#8
0
 public ProductListVM()
 {
     ProductList           = new List <Product>();
     OpenProductEditWindow = new MethodCommand(EditProductWindow);
     ChangePriceWindow     = new MethodCommand(ChangeProductPriceWindow);
     ProductDelete         = new MethodCommand(DeleteProduct);
     ProductList           = ProductMethods.ListProducts();
     GetProducts();
 }
示例#9
0
        public void TestReturnProducts_Expected_All_Products()
        {
            List <Product> products = CreateSut();
            ProductMethods pm       = new ProductMethods(products);

            var results = pm.GetProducts();

            Assert.AreEqual(2, results.Count);
        }
示例#10
0
        public void TestReturnProducts_Greater_Than_Price()
        {
            List <Product> products = CreateSut();
            ProductMethods pm       = new ProductMethods(products);

            var results = pm.GetProductsGreateterThan(3.5);

            Assert.AreEqual("banana", results[0].Description);
        }
示例#11
0
 public ProductVM()
 {
     ListProducts      = ProductMethods.ListProducts();
     SelectedMainGroup = "00";
     Product           = new Product();
     CreateProduct     = new MethodCommand(CreateProd);
     GetProductGroups();
     GetSubGroups();
 }
示例#12
0
        public void TestMethodProducts_In_Range()
        {
            List <Product> products = CreateSut();
            ProductMethods pm       = new ProductMethods(products);

            var results = pm.GetProductsInRange(3.5, 10);

            Assert.AreEqual("banana", results[0].Description);
        }
示例#13
0
 public ProductEditVM(object selectedProduct)
 {
     EditProduct = new MethodCommand(ProductEdit);
     CastToType(selectedProduct);
     ListProducts = ProductMethods.ListProducts();
     GetProductGroups();
     SelectedMainGroup = ProductToEdit.ProductGroup.Substring(0, 2);
     SelectedSubGroup  = ProductToEdit.ProductGroup.Substring(3, 3);
 }
示例#14
0
        public void GetKeysTest()
        {
            var auth   = AccessToken.AccessToken.ProductMethods;
            var result = ProductMethods.GetKeys(token: auth, parameters:  new GetKeysModel {
                ProductId = 3349
            });

            Assert.IsNotNull(result);
            Assert.IsTrue(result.Result == ResultType.Success);
        }
示例#15
0
        // GET: Products/Edit/5
        public ActionResult Edit(int id)
        {
            Product item = ProductMethods.GetItem(id);

            if (item == null)
            {
                return(HttpNotFound());
            }
            return(View(item));
        }
示例#16
0
        public void AddItems()
        {
            List <Product> list = new List <Product>();
            Product        p    = product;
            Product        p1   = p;

            list.Add(product);
            list.Add(p);
            list.Add(p1);
            Assert.IsTrue(ProductMethods.AddItem(product));
        }
示例#17
0
        /// <summary>
        /// Поиск по описанию
        /// </summary>
        /// <param name="name">Имя товара</param>
        /// <returns>Список товаров</returns>
        public static Dictionary <Product, int> SearchByDescription(string name)
        {
            var x = ProductsSortByNameAndPrice(ProductMethods.Outpoot());
            Dictionary <Product, int> prod = new Dictionary <Product, int>();
            var p = from m in x
                    where m.Key.Description.Contains(name)
                    select m;

            foreach (var item in p)
            {
                prod.Add(item.Key, item.Value);
            }
            return(prod);
        }
示例#18
0
        /// <summary>
        /// Поиск по названию компании
        /// </summary>
        /// <param name="companyName">Название компании</param>
        /// <returns>Список товаров</returns>
        public static Dictionary <Product, int> SearchByCompany(string companyName)
        {
            var x = ProductsSortByNameAndPrice(ProductMethods.Outpoot());
            Dictionary <Product, int> prod = new Dictionary <Product, int>();
            var p = from m in x
                    where m.Key.InvoiceForPurchase.CompanyProvider.Name == companyName
                    select m;

            foreach (var item in p)
            {
                prod.Add(item.Key, item.Value);
            }
            return(prod);
        }
示例#19
0
        /// <summary>
        /// Поиск по цене(товары с меньшей ценой)
        /// </summary>
        /// <param name="price">Цена меньше которой будет поиск</param>
        /// <returns>Список товаров</returns>
        public static Dictionary <Product, int> Search(decimal price)
        {
            var x = ProductsSortByNameAndPrice(ProductMethods.Outpoot());
            Dictionary <Product, int> prod = new Dictionary <Product, int>();
            var p = from m in x
                    where m.Key.Price >= price
                    select m;

            foreach (var item in p)
            {
                prod.Add(item.Key, item.Value);
            }
            return(prod);
        }
示例#20
0
        /// <summary>
        /// Поиск и продажа товара
        /// </summary>
        /// <param name="product">Товар</param>
        /// <returns>Логическое значение</returns>
        public static bool Sales(Product product)
        {
            var x = ProductMethods.GetItem(product.Id);

            if (x != null)
            {
                x.Status     = false;
                x.DateOfSale = DateTime.Now;
                return(ProductMethods.SaveChanges());
            }
            else
            {
                return(false);
            }
        }
示例#21
0
        public void CreateProd()
        {
            bool productNumberExist;

            if (productNumberExist = ProductMethods.CheckProductNumber(LocalProductNumber))
            {
                MessageBox.Show("Dette produktnummer eksisterer allerede. Prøv et nyt");
            }
            else
            {
                Product.ProductID    = LocalProductNumber.ToString();
                Product.ProductGroup = SelectedMainGroup + "-" + SelectedSubGroup;
                ProductMethods.CreateProduct(Product);
                MessageBox.Show("Produkt oprettet!");
            }
        }
示例#22
0
        public void AddProduct(Product product)
        {
            Product prodFromList = ProductMethods.GetProductById(product, ConnectionString);

            if (prodFromList == null)
            {
                if (product.Name.Length <= 200)
                {
                    ProductMethods.AddProduct(product, ConnectionString);
                }
            }
            else
            {
                ProductMethods.UpdateProduct(ConnectionString, $"update PRODUCTS set ProductCount += {product.Count} where Id = {prodFromList.Id};");
            }
        }
示例#23
0
 public ActionResult DeleteConfirmed(int id)
 {
     try
     {
         ProductMethods.DeleteItem(id);
     }
     catch (DataException)
     {
         return(RedirectToAction("Delete",
                                 new System.Web.Routing.RouteValueDictionary {
             { "id", id },
             { "saveChangesError", true }
         }));
     }
     return(RedirectToAction("Index"));
 }
示例#24
0
 public ActionResult Edit(Product item)
 {
     try
     {
         if (ModelState.IsValid)
         {
             ProductMethods.ChangeItem(item);
             return(RedirectToAction("Index"));
         }
     }
     catch (DataException)
     {
         //Log the error (add a variable name after DataException)
         ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
     }
     return(View(item));
 }
示例#25
0
        /// <summary>
        /// Поиск и продажа товара
        /// </summary>
        /// <param name="productName">Название товара</param>
        /// <param name="Price">Цена товара</param>
        /// <returns>Логическое значение</returns>
        public static bool Sales(string productName, decimal Price)
        {
            var x = from m in ProductMethods.Outpoot()
                    where productName == m.Name
                    where Price == m.Price
                    orderby m.DateOfPurchase
                    select m;

            if (x != null)
            {
                var f = x.First();
                f.Status     = false;
                f.DateOfSale = DateTime.Now;
                return(ProductMethods.SaveChanges());
            }
            else
            {
                return(false);
            }
        }
示例#26
0
        /// <summary>
        /// Инвентаризация продуктов
        /// </summary>
        /// <returns>Логическое значение</returns>
        public static bool InventarizationProduct()
        {
            var x = ProductsInSales().ToArray();

            if (StatisticsVoid.StatisticsProduct() == true)
            {
                if (Archiving.ArchivingProduct(x) == true)
                {
                    foreach (var item in x)
                    {
                        ProductMethods.DeleteItem(item.Id);
                    }
                }
                return(true);
            }
            else
            {
                return(false);
            }
        }
示例#27
0
        static void Main(string[] args)
        {
            List <CategoryEnt> categories = Unit.CategoryRepository.AllItems.ToList();

            foreach (var item in categories)
            {
                Console.WriteLine(item.Id);
                Console.WriteLine(item.Name);
            }
            List <ProductEnt> u = Unit.ProductRepository.AllItems.ToList();
            var x = ProductMethods.Outpoot();

            foreach (var item in x)
            {
                Console.WriteLine(item.ToString());
                Console.WriteLine(item.CategoryId);
                Console.WriteLine(item.Category.Name);
                Console.WriteLine($"ID накладной{item.InvoiceForPurchase.Id}\n");
            }
            Console.ReadKey();
        }
示例#28
0
 public void DropOneProduct(int id)
 {
     ProductMethods.AddOrDropeOneProduct($"update PRODUCTS set ProductCount -= 1 where Id = {id}", ConnectionString);
 }
示例#29
0
        string ProductCommand(string message, string[] json)
        {
            Product data = null;;

            if (json != null)
            {
                data = JsonConvert.DeserializeObject <Product>(json[0]);
            }
            string outMessage = null;

            switch (message)
            {
            case "AddItem":
                ProductMethods.AddItem(data);
                outMessage = "Добавленно";
                break;

            case "AddItems":
                List <Product> list = new List <Product>();
                int            i    = 0;
                foreach (var x in json)
                {
                    Product u = JsonConvert.DeserializeObject <Product>(json[i]);
                    list.Add(u);
                }
                ProductMethods.AddItems(list);
                outMessage = "Добавленно";
                break;

            case "ChangeItem":
                if (ProductMethods.ChangeItem(data) == true)
                {
                    outMessage = "Найден";
                }
                else
                {
                    outMessage = "Не найден";
                }
                break;

            case "DeleteItem":
                ProductMethods.DeleteItem(Convert.ToInt32(json[0]));
                outMessage = "Удален";
                break;

            case "GetItem":
                string s = JsonConvert.SerializeObject(ProductMethods.GetItem(Convert.ToInt32(json[0])));
                outMessage = s;
                break;

            case "Outpoot":
                string         outs        = null;
                List <Product> unitWeights = ProductMethods.Outpoot().ToList();
                foreach (var x in unitWeights)
                {
                    outs = $"{outs}!{JsonConvert.SerializeObject(x)}";
                }
                outMessage = outs;
                break;

            default:
                outMessage = "Product connect";
                break;
            }
            return(outMessage);
        }
示例#30
0
 // GET: Products
 public ActionResult Index()
 {
     return(View(ProductMethods.Outpoot().ToList()));
 }