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 = "產品修改成功" })); }
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)); }
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()); }
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)); }
// 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 = "產品已啟用" })); } }
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 }
private void btnViewProducts_Click(object sender, EventArgs e) { var viewProducts = new ViewProducts(); viewProducts.Show(); }
/// <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)); }