public void AddListValue(ViewProducts vp)
        {
            using (ApplicationDbContext ctx = new ApplicationDbContext())
            {
                var SetValue = from e in ctx.Products
                               join e2 in ctx.Orderdetails on e.Id equals e2.ProductId
                               select new
                {
                    PID = e.Id,
                    PNA = e.ProductName,
                    Qua = e.Quantity,
                    Pri = e.Price,
                    Amo = e2.Amount
                };

                foreach (var item in SetValue)
                {
                    ShowIngrediens si = new ShowIngrediens();
                    si.ProductID   = item.PID;
                    si.ProductName = item.PNA;
                    si.Quantity    = item.Qua;
                    si.Price       = item.Pri;
                    si.Amount      = item.Amo;
                    vp.TotalSum   += (decimal.ToDouble(si.Price) * si.Amount);
                    vp.UserID      = User.FindFirstValue(ClaimTypes.NameIdentifier);
                    vp.Productslist.Add(si);
                }
            }
        }
        public IHttpActionResult EditProduct(int id, [Bind(Include = "Id,ProductName,ProductDetail,ProductPhoto,Unit,Price,ProductSort,Total")] ViewProducts viewProducts)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            ProductList product = new ProductList();

            product               = db.ProductLists.FirstOrDefault(x => x.Id == id);
            product.ProductName   = viewProducts.ProductName;
            product.ProductDetail = viewProducts.ProductDetail;
            product.ProductPhoto  = viewProducts.ProductPhoto;
            product.ProductSort   = viewProducts.ProductSort;
            product.Unit          = viewProducts.Unit;
            product.Price         = viewProducts.Price;
            product.Total         = viewProducts.Total;

            db.Entry(product).State = EntityState.Modified;
            db.SaveChanges();

            return(Ok(new
            {
                //productname=product.ProductSort.ToString(),
                result = true,
                message = "產品修改成功"
            }));
        }
Example #3
0
        public IActionResult GetLikeProducts()
        {
            var claims = HttpContext.User.Claims;
            var userId = claims.FirstOrDefault(c => c.Type == "UserId").Value;
            var list   = _unitOfWork.ProductLikeRepository.Get(x => x.MemberId.Equals(int.Parse(userId))).Select(x => x.ProductID);
            List <ViewProducts> ColumIds = new List <ViewProducts>();

            foreach (var item in list)
            {
                Products     temp     = _unitOfWork.ProductRepository.GetByID(item);
                ViewProducts products = new ViewProducts();
                products.Name       = temp.Name;
                products.CreateDate = temp.CreateDate;
                products.Hot        = temp.Hot;
                products.Image      = temp.Image;
                products.Price      = temp.Price;
                products.ProductID  = temp.ProductID;
                products.SaleOff    = temp.SaleOff;
                products.Sort       = temp.Sort;
                products.Quantity   = temp.Quantity;
                if (products != null)
                {
                    ColumIds.Add(products);
                }
            }
            return(Ok(ColumIds));
        }
Example #4
0
        public IActionResult ViewCart()
        {
            ViewProducts vp = new ViewProducts();

            AddListValue(vp);

            return(View(vp));
        }
        public void GetPhoto_CorrectString()
        {
            // Kijken of de string overeenkomt met de string uit de database.
            ViewProducts test = new ViewProducts();

            Assert.AreEqual(Product1.Photo, test.Products[0].Photo);
            Assert.AreEqual(Product2.Photo, test.Products[1].Photo);
            Assert.AreEqual(Product3.Photo, test.Products[2].Photo);
        }
        public void GetPrice_PriceIsCorrectPrice()
        {
            // De prijs van de producten vergelijken met de prijs van de producten in de database.
            ViewProducts test = new ViewProducts();

            Assert.AreEqual(Product1.Price, test.Products[0].Price);
            Assert.AreEqual(Product2.Price, test.Products[1].Price);
            Assert.AreEqual(Product3.Price, test.Products[2].Price);
        }
        public void GetPrice_PriceIsNotNull()
        {
            // Kijken of de prijs niet null is.
            ViewProducts test = new ViewProducts();

            Assert.IsNotNull(test.Products[0].Price);
            Assert.IsNotNull(test.Products[1].Price);
            Assert.IsNotNull(test.Products[2].Price);
        }
        public void GetName_NameIsCorrectName()
        {
            // De naam van de producten vergelijken met de naam van de producten in de database.
            ViewProducts test = new ViewProducts();

            Assert.AreEqual(Product1.Name, test.Products[0].Name);
            Assert.AreEqual(Product2.Name, test.Products[1].Name);
            Assert.AreEqual(Product3.Name, test.Products[2].Name);
        }
        public void ViewProductsViewModel_DatabaseEqualsList()
        {
            // Items op het scherm vergelijken met items in de database.
            ViewProducts test = new ViewProducts();

            Assert.AreEqual(test.Products[0], Product1);
            Assert.AreEqual(test.Products[1], Product2);
            Assert.AreEqual(test.Products[2], Product3);
        }
        public void TestSaveProduct()
        {
            Product productTest = ViewProducts.SaveProduct(
                TestProduct.Name, TestProduct.Price, TestProduct.Photo, TestProduct.Width, TestProduct.Length,
                TestProduct.HasPerson
                );

            Assert.IsNotNull(productTest);
            Assert.AreEqual(1, ProductService.Instance.Count());
            Assert.Contains(productTest, ProductService.Instance.GetAll());
        }
Example #11
0
        public ActionResult PageView(int page = 1)
        {
            var products = db.Products.Include(p => p.Employee).ToList();
            int pageSize = 5;
            IEnumerable <Product> productsOnPage = products.Skip((page - 1) * pageSize).Take(pageSize);
            var pagingModel = new PagingModel {
                PageNumber = page, PageSize = pageSize, TotalProducts = products.Count
            };
            var viewProducts = new ViewProducts {
                Products = productsOnPage, PagingModel = pagingModel
            };

            return(View(viewProducts));
        }
Example #12
0
        // highlight row in grid view occording to index in combo box
        private void ComProductId_SelectedIndexChanged(object sender, EventArgs e)
        {
            int index = ComProductId.SelectedIndex;

            // set selected rows to false

            /*foreach (DataGridViewRow row in ViewProducts.SelectedRows)
             * {
             *  row.Selected = false;
             * }*/

            ViewProducts.ClearSelection();
            ViewProducts.Rows[index].Selected = true;
        }
        //==========================================================



        //==========================================================
        // вывод всех товаров с доп данными
        public ActionResult Index()
        {
            // все товары
            List <ShopProduct> products = db.ShopProducts
                                          .Include(p => p.ShopProductsBrand)
                                          .Include(p => p.ShopCategories)
                                          .Include(p => p.ShopProductsPrices)
                                          .ToList();

            // созадем список отображения
            List <ViewProducts> models = new List <ViewProducts>();

            foreach (ShopProduct product in products)
            {
                ViewProducts model = new ViewProducts
                {
                    Id        = product.Id,
                    Name      = product.Name,
                    PhotoName = product.PhotoName,
                };
                if (product.ShopProductsBrand != null)
                {
                    model.Brand = product.ShopProductsBrand.Name;
                }

                if (product.ShopProductsPrices.Count > 0)
                {
                    ShopProductsPrice price = product.ShopProductsPrices.Where(p => p.CurrentPrice).SingleOrDefault();
                    if (price != null)
                    {
                        model.Price = price.Price;
                    }
                }

                model.ShopCategories = new List <string>();
                foreach (ShopCategory category in product.ShopCategories)
                {
                    model.ShopCategories.Add(category.Name);
                }

                models.Add(model);
            }
            return(View(models));
        }
        public ViewProducts GetProduct(string name, int cat)
        {
            ViewProducts response = new ViewProducts();

            try
            {
                var list = _repository.GetProduct(name, cat);
                if (list != null)
                {
                    Mapper.CreateMap <Product, ViewProducts>();
                    response = Mapper.Map <Product, ViewProducts>(list);
                }
            }
            catch (Exception ex)
            {
                response = null;
            }

            return(response);
        }
        public IHttpActionResult UseProducts(int id, [Bind(Include = "Id,IsUse")] ViewProducts viewBool)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            // ViewProducts productsList =new ViewProducts();
            ProductList productsList = db.ProductLists.FirstOrDefault(x => x.Id == id);

            productsList.IsUse           = viewBool.IsUse;
            db.Entry(productsList).State = EntityState.Modified;
            db.SaveChanges();
            if (productsList.IsUse == Use.否)
            {
                return(Ok(new
                {
                    result = true,
                    message = "產品已關閉"
                }));
            }
            else if (productsList.IsUse == Use.刪除)
            {
                return(Ok(new
                {
                    resutl = true,
                    message = "產品已刪除"
                }));
            }
            else
            {
                return(Ok(new
                {
                    result = true,
                    message = "產品已啟用"
                }));
            }
        }
Example #16
0
        public void SelectProduct_Test()
        {
            ViewProducts Test = new ViewProducts();

            Test.SelectProduct(Product1.Id);
            // Product1 selecteren

            Assert.IsNotNull(Test.SelectedProduct);
            // Kijken of product niet null is

            Assert.AreEqual(Product1.Name, Test.SelectedProduct.Name);
            Assert.AreEqual(Product1.Price, Test.SelectedProduct.Price);
            Assert.AreEqual(Product1.Photo, Test.SelectedProduct.Photo);
            // Alle waarden van het geselecteerde product vergelijken met product1 met constructor zonder length en width

            Test.SelectProduct(Product2.Id);
            Assert.AreEqual(Product2.Name, Test.SelectedProduct.Name);
            Assert.AreEqual(Product2.Price, Test.SelectedProduct.Price);
            Assert.AreEqual(Product2.Photo, Test.SelectedProduct.Photo);
            Assert.AreEqual(Product2.Length, Test.SelectedProduct.Length);
            Assert.AreEqual(Product2.Width, Test.SelectedProduct.Width);
            // Alle waarden van het geselecteerde product vergelijken met product2 met length en width
        }
Example #17
0
        private void btnViewProducts_Click(object sender, EventArgs e)
        {
            var viewProducts = new ViewProducts();

            viewProducts.Show();
        }
Example #18
0
 /// <summary>
 /// The logic for an AbortCommand.
 /// </summary>
 private void AbortCommandExecute()
 {
     ViewProducts.Clear();
     _salesController.CancelOrder();
     OnPropertyChanged(nameof(Total));
 }
        public IActionResult ViewRecipe(int id, int portion = 4)
        {
            if (portion < 1)
            {
                portion = 1;
            }
            ViewProducts vp = new ViewProducts();

            using (SqlConnection con = new SqlConnection("Server=(localdb)\\Mssqllocaldb; Database= TranbarDB; MultipleActiveResultSets=true"))
            {
                con.Open();
                string SQL = @"select Recipename,EstimatedTime, ProductName, ProductQuantity,Measurement,RE.Id, PR.Id
                                from Products PR 
                                INNER JOIN RecipeDetails RD ON PR.ID = RD.ProductID 
                                INNER JOIN MeasurementUnit MU ON RD.MeasurementUnitID = MU.Id 
                                INNER JOIN Recipe RE ON RD.RecipeID = RE.ID  
                                where RE.Id = @ID";

                SqlCommand cmd = new SqlCommand(SQL, con);
                cmd.Parameters.AddWithValue("@ID", id);

                SqlDataReader rdr = cmd.ExecuteReader();

                while (rdr.Read())
                {
                    ShowIngrediens SI = new ShowIngrediens();
                    vp.RecipeID        = rdr.GetInt32(5);
                    vp.RecipeName      = rdr.GetString(0);
                    vp.EstimatedTime   = rdr.GetInt32(1);
                    SI.ProductName     = rdr.GetString(2);
                    SI.ProductQuantity = rdr.GetDecimal(3);
                    SI.Measurement     = rdr.GetString(4);
                    vp.Productslist.Add(SI);
                }
                con.Close();

                // Andra queryn -- Hämtar Stegnr och instruktioner

                con.Open();
                string SQL2 = @"select Stepnumber, Instructions from Recipe r
                                inner join RecipeSteps rs on rs.RecipeID = r.ID
                                where r.ID = @ID2";

                SqlCommand command = new SqlCommand(SQL2, con);
                command.Parameters.AddWithValue("@ID2", id);

                SqlDataReader reader = command.ExecuteReader();

                while (reader.Read())
                {
                    RecipeSteps RS = new RecipeSteps();
                    RS.Stepnumber   = reader.GetInt32(0);
                    RS.Instructions = reader.GetString(1);
                    vp.StepList.Add(RS);
                }
                con.Close();
            }
            vp.Portion = portion;
            if (portion >= 1)
            {
                vp.Productslist.ForEach(pl =>
                {
                    pl.ProductQuantity = portion * (pl.ProductQuantity * 1 / 4);
                });
            }
            ;
            return(View(vp));
        }
        private void btnList_Click(object sender, EventArgs e)
        {
            removeAllManagamentControls();

            switch (this.Mantenimiento)
            {
            case "Users":

                ViewUsers viewUser = new ViewUsers();
                UserCtrl  userCtrl = new UserCtrl();

                viewUser.Height = Parent.Height;
                viewUser.Width  = Parent.Width;

                this.result = userCtrl.getAllUsers();
                if (this.result["code"] == Result.Failed)
                {
                    MessageBox.Show(this.result["msg"]);
                    return;
                }

                if (this.result["code"] == Result.Processed)
                {
                    viewUser.loadDataGrid(this.result["content"]);
                    Parent.Controls.Add(viewUser);
                }

                break;

            case "Clients":
                ClientsList       clientsList = new ClientsList();
                ClientsController cont        = new ClientsController();
                clientsList.Height = Parent.Height;
                clientsList.Width  = Parent.Width;
                Dictionary <Object, dynamic> res = cont.getAllClients();
                if (res["code"] == Result.Failed)
                {
                    MessageBox.Show(res["msg"]);
                    return;
                }
                if (res["code"] == Result.Processed)
                {
                    clientsList.loadDataGrid(res["content"]);
                    Parent.Controls.Add(clientsList);
                }
                break;

            case "States":

                ViewStates      viewState  = new ViewStates();
                StateController controller = new StateController();

                viewState.Height = Parent.Height;
                viewState.Width  = Parent.Width;

                this.result = controller.getAllStates();
                if (this.result["code"] == Result.Failed)
                {
                    MessageBox.Show(this.result["msg"]);
                    return;
                }

                if (this.result["code"] == Result.Processed)
                {
                    viewState.loadDataGrid(this.result["content"]);
                    Parent.Controls.Add(viewState);
                }

                break;

            case "PaymentMethods":

                ViewPaymentMethods      viewPayment = new ViewPaymentMethods();
                PaymentMethodController cnt         = new PaymentMethodController();

                viewPayment.Height = Parent.Height;
                viewPayment.Width  = Parent.Width;

                this.result = cnt.getAllPaymentMethods();
                if (this.result["code"] == Result.Failed)
                {
                    MessageBox.Show(this.result["msg"]);
                    return;
                }

                if (this.result["code"] == Result.Processed)
                {
                    viewPayment.loadDataGrid(this.result["content"]);
                    Parent.Controls.Add(viewPayment);
                }

                break;

            case "MaterialTypes":

                ViewMaterialTypes      viewMaterials = new ViewMaterialTypes();
                MaterialTypeController contr         = new MaterialTypeController();

                viewMaterials.Height = Parent.Height;
                viewMaterials.Width  = Parent.Width;

                this.result = contr.getAllMaterialTypes();
                if (this.result["code"] == Result.Failed)
                {
                    MessageBox.Show(this.result["msg"]);
                    return;
                }

                if (this.result["code"] == Result.Processed)
                {
                    viewMaterials.loadDataGrid(this.result["content"]);
                    Parent.Controls.Add(viewMaterials);
                }

                break;

            case "Materials":

                MaterialsList      listMaterials = new MaterialsList();
                MaterialController ctrl          = new MaterialController();

                listMaterials.Height = Parent.Height;
                listMaterials.Width  = Parent.Width;

                this.result = ctrl.getMaterialsToPopulate();
                if (this.result["code"] == Result.Failed)
                {
                    MessageBox.Show(this.result["msg"]);
                    return;
                }

                if (this.result["code"] == Result.Processed)
                {
                    listMaterials.loadDataGrid(this.result["content"]);
                    Parent.Controls.Add(listMaterials);
                }

                break;

            case "ProductTypes":
                ViewProductTypes      viewProductTypes = new ViewProductTypes();
                ProductTypeController contr2           = new ProductTypeController();

                viewProductTypes.Height = Parent.Height;
                viewProductTypes.Width  = Parent.Width;

                this.result = contr2.getAllProductTypes();
                if (this.result["code"] == Result.Failed)
                {
                    MessageBox.Show(this.result["msg"]);
                    return;
                }

                if (this.result["code"] == Result.Processed)
                {
                    viewProductTypes.loadDataGrid(this.result["content"]);
                    Parent.Controls.Add(viewProductTypes);
                }

                break;

            case "Products":
                ViewProducts      viewProducts = new ViewProducts();
                ProductController contr3       = new ProductController();

                viewProducts.Height = Parent.Height;
                viewProducts.Width  = Parent.Width;

                this.result = contr3.getAllProducts();
                if (this.result["code"] == Result.Failed)
                {
                    MessageBox.Show(this.result["msg"]);
                    return;
                }

                if (this.result["code"] == Result.Processed)
                {
                    viewProducts.loadDataGrid(this.result["content"]);
                    Parent.Controls.Add(viewProducts);
                }

                break;

            case "Providers":
                ViewProviders      viewProviders = new ViewProviders();
                ProviderController providerCtrl  = new ProviderController();

                viewProviders.Height = Parent.Height;
                viewProviders.Width  = Parent.Width;

                this.result = providerCtrl.getAllProviders();
                if (this.result["code"] == Result.Failed)
                {
                    MessageBox.Show(this.result["msg"]);
                    return;
                }

                if (this.result["code"] == Result.Processed)
                {
                    viewProviders.loadDataGrid(this.result["content"]);
                    Parent.Controls.Add(viewProviders);
                }
                break;
            }
        }
        // Methods ---------------------------------------------------------------------------------------------------------
        public ViewResult RemoveItem(int RemoveID, ViewProducts vp)
        {
            var varukorg = Request.Cookies.SingleOrDefault(s => s.Key == "Varukorg");

            using (ApplicationDbContext ctx = new ApplicationDbContext())
            {
                var DeleteFromDatabase = from e in ctx.Orderdetails
                                         where e.ProductId == RemoveID
                                         select e;

                foreach (var item in DeleteFromDatabase)
                {
                    ctx.Orderdetails.Remove(item);
                }
                ctx.SaveChanges();

                string cookieString = "";

                int index = varukorg.Value.IndexOf("," + RemoveID.ToString() + ",");

                if (index == -1)
                {
                    index = varukorg.Value.IndexOf(RemoveID.ToString());
                }

                if (varukorg.Value.Length == 1 || varukorg.Value.Length == 2)
                {
                    Response.Cookies.Delete("Varukorg");
                    vp.Productslist.Clear();
                    vp.TotalSum = 0;

                    // return View(vp) hoppar direkt ner till sista måsvingen i metoden
                    return(View(vp));
                }

                if (RemoveID.ToString().Length > 1)
                {
                    // checks if the 2-number is last on string
                    if (index == (varukorg.Value.Length - 2))
                    {
                        cookieString = varukorg.Value.Remove(index - 1, 3);
                    }
                    else
                    {
                        cookieString = varukorg.Value.Remove(index, 3);
                    }
                }
                else
                {
                    if (index == (varukorg.Value.Length - 1))
                    {
                        cookieString = varukorg.Value.Remove(index - 1, 2);
                    }
                    else
                    {
                        cookieString = varukorg.Value.Remove(index, 2);
                    }
                }

                AddListValue(vp);
                Response.Cookies.Append("Varukorg", cookieString, new Microsoft.AspNetCore.Http.CookieOptions {
                    Expires = DateTime.Now.AddMinutes(60.0)
                });
            }
            return(View(vp));
        }
        public IActionResult Varukorg(int ID, string Empty, int RemoveID, int ProductID, string Apply)
        {
            ViewProducts vp = new ViewProducts();

            var varukorg = Request.Cookies.SingleOrDefault(c => c.Key == "Varukorg");

            if (RemoveID == 0)
            {
                using (ApplicationDbContext ctx = new ApplicationDbContext())
                {
                    string cookieString;
                    var    recipeProductsIds = from e in ctx.RecipeDetails
                                               where e.RecipeId == ID
                                               select e.ProductId;

                    if (Apply == "Add" || Apply == "Remove")
                    {
                        cookieString = varukorg.Value;
                    }
                    else if (varukorg.Value != "" && varukorg.Value != null && ID != 0)
                    {
                        cookieString = varukorg.Value + "," + string.Join(",", recipeProductsIds);
                    }
                    else
                    {
                        cookieString = varukorg.Value + string.Join(",", recipeProductsIds);
                    }

                    if (cookieString == "")
                    {
                        RemoveFromOrderdetails();
                    }

                    var productIds = cookieString.Split(",").Select(c => int.Parse(c));

                    var Check = from e in ctx.Orderdetails
                                select e;

                    if (Check.Count() == 0)
                    {
                        var products = from e in ctx.Products
                                       where productIds.Contains(e.Id)
                                       select e;

                        if (!cookieString.Equals(""))
                        {
                            foreach (var item in products)
                            {
                                Orderdetails od = new Orderdetails();
                                od.ProductId = item.Id;
                                od.Amount    = 1;

                                using (ApplicationDbContext c = new ApplicationDbContext())
                                {
                                    if (!c.Orderdetails.Any(A => A.ProductId == item.Id))
                                    {
                                        c.Orderdetails.Add(od);
                                        c.SaveChanges();
                                    }
                                }

                                ShowIngrediens si = new ShowIngrediens();
                                si.ProductID   = item.Id;
                                si.ProductName = item.ProductName;
                                si.Quantity    = item.Quantity;
                                si.Price       = item.Price;
                                si.Amount      = 1;
                                vp.TotalSum   += (decimal.ToDouble(si.Price) * si.Amount);
                                vp.UserID      = User.FindFirstValue(ClaimTypes.NameIdentifier);
                                vp.Productslist.Add(si);
                            }
                        }
                    }
                    else
                    {
                        using (ApplicationDbContext c = new ApplicationDbContext())
                        {
                            var modify = from m in c.Orderdetails
                                         where m.ProductId == ProductID
                                         select m;

                            if (Apply == "Add")
                            {
                                foreach (var items in modify)
                                {
                                    items.Amount++;
                                }
                            }
                            else if (Apply == "Remove")
                            {
                                foreach (var items in modify)
                                {
                                    items.Amount--;

                                    if (items.Amount == 0)
                                    {
                                        RemoveItem(ProductID, vp);
                                        vp.StatusMessage = "Produkten har tagits bort";
                                        return(View(vp));
                                    }
                                }
                            }
                            c.SaveChanges();

                            foreach (var additem in productIds)
                            {
                                Orderdetails od = new Orderdetails()
                                {
                                    ProductId = additem, Amount = 1
                                };
                                if (!c.Orderdetails.Any(A => A.ProductId == additem))
                                {
                                    c.Orderdetails.Add(od);
                                    c.SaveChanges();
                                }
                            }
                        }

                        AddListValue(vp);
                    }

                    Response.Cookies.Append("Varukorg", cookieString, new Microsoft.AspNetCore.Http.CookieOptions {
                        Expires = DateTime.Now.AddMinutes(60.0)
                    });
                    ctx.SaveChanges();
                }
            }

            if (Empty == "Empty")
            {
                using (ApplicationDbContext ctx = new ApplicationDbContext())
                {
                    foreach (var item in ctx.Orderdetails)
                    {
                        ctx.Orderdetails.Remove(item);
                    }

                    ctx.SaveChanges();
                    Response.Cookies.Delete("Varukorg");
                    vp.Productslist.Clear();
                    vp.TotalSum = 0;
                    return(View(vp));
                }
            }
            else if (RemoveID != 0)
            {
                RemoveItem(RemoveID, vp);
            }
            return(View(vp));
        }