public void Cannot_Save_Invalid_Changes() { // Организация - создание имитированного хранилища данных Mock <IProductRepository> mock = new Mock <IProductRepository>(); // Организация - создание контроллера AdminController controller = new AdminController(mock.Object); // Организация - создание объекта Game TProduct prod = new TProduct { Name_Product = "Test" }; // Организация - добавление ошибки в состояние модели controller.ModelState.AddModelError("error", "error"); // Действие - попытка сохранения товара ActionResult result = controller.Edit(prod); // Утверждение - проверка того, что обращение к хранилищу НЕ производится mock.Verify(m => m.SaveProduct(It.IsAny <TProduct>()), Times.Never()); // Утверждение - проверка типа результата метода Assert.IsInstanceOfType(result, typeof(ViewResult)); }
//[HttpPost] //public IActionResult List(string pkeyword ,string pkeyword2) //{ // IEnumerable<TProduct> table = null; // string a = pkeyword2; // if (string.IsNullOrEmpty(pkeyword)) // { // table = from p in (new 擺腹BuyFoodContext()).TProducts // select p; // } // else // { // table = from p in (new 擺腹BuyFoodContext()).TProducts // where((p.CProductName).ToLower()).Contains(pkeyword.ToLower()) // select p; // } // if(pkeyword2 != null) // { // table = from p in (new 擺腹BuyFoodContext()).TProducts // where p.CCategoryId == int.Parse(pkeyword2) // select p; // } // List<CProductViewModel> list = new List<CProductViewModel>(); // foreach (TProduct t in table) // { // list.Add(new CProductViewModel(t)); // } // return View(list); //} #region 產品販售狀況 public JsonResult changeSaleonoff(int?PrId, int PrTimeId) { if (PrId != null) { TProduct l_p販售狀態 = db.TProducts.FirstOrDefault(n => n.CProductId == PrId); if (PrTimeId == 1) { PrTimeId = 2; l_p販售狀態.CIsOnSaleId = PrTimeId; } else if (PrTimeId == 2) { PrTimeId = 3; l_p販售狀態.CIsOnSaleId = PrTimeId; } else { PrTimeId = 1; l_p販售狀態.CIsOnSaleId = PrTimeId; } db.SaveChanges(); } return(Json(PrTimeId)); }
public void Can_Remove_Line() { // Организация - создание нескольких тестовых игр TProduct game1 = new TProduct { ID = 1, Name_Product = "Игра1" }; TProduct game2 = new TProduct { ID = 2, Name_Product = "Игра2" }; TProduct game3 = new TProduct { ID = 3, Name_Product = "Игра3" }; // Организация - создание корзины Cart cart = new Cart(); // Организация - добавление нескольких игр в корзину cart.AddItem(game1, 1); cart.AddItem(game2, 4); cart.AddItem(game3, 2); cart.AddItem(game2, 1); // Действие cart.RemoveLine(game2); // Утверждение Assert.AreEqual(cart.Lines.Where(c => c.Product == game2).Count(), 0); Assert.AreEqual(cart.Lines.Count(), 2); }
public async Task <IActionResult> PostTProduct([FromBody] TProduct tProduct) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.TProduct.Add(tProduct); try { await _context.SaveChangesAsync(); } catch (DbUpdateException) { if (TProductExists(tProduct.Code)) { return(new StatusCodeResult(StatusCodes.Status409Conflict)); } else { throw; } } return(CreatedAtAction("GetTProduct", new { id = tProduct.Code }, tProduct)); }
public OrderDetailsViewModel(TOrderDetail orderDetail, TMember member, TOrderStatus orderStatus, TProduct product) { orderDetail = iv_orderDetails; member = iv_member; orderStatus = iv_orderStatus; product = iv_product; }
public OrderDetailsViewModel() { iv_orderDetails = new TOrderDetail(); iv_member = new TMember(); iv_orderStatus = new TOrderStatus(); iv_product = new TProduct(); }
public async Task <IActionResult> PutTProduct([FromRoute] string id, [FromBody] TProduct tProduct) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != tProduct.Code) { return(BadRequest()); } _context.Entry(tProduct).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!TProductExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public IActionResult EditProduct1(tProductViewModel tProductEdit) { TProduct EditP = db.TProducts.FirstOrDefault(p => p.FProductId == tProductEdit.FProductId); if (EditP != null) { if (tProductEdit.imgs != null) { foreach (var a in tProductEdit.imgs) { string photoName = Guid.NewGuid().ToString() + ".jpg"; using (var photo = new FileStream(iv_host.ContentRootPath + @"\wwwroot\img\" + photoName, FileMode.Create)) { a.CopyTo(photo); } TProductPic tp = new TProductPic(); tp.FProductId = tProductEdit.FProductId; tp.FProductPicPath = @"/img/" + photoName; db.Update(tp); db.SaveChanges(); } } EditP.FProductName = tProductEdit.FProductName; EditP.FProductPrice = tProductEdit.FProductPrice; EditP.FProductQty = tProductEdit.FProductQty; EditP.FProductDescription = tProductEdit.FProductDescription; EditP.FProductCategory = tProductEdit.FProductCategoryId; EditP.FSize = tProductEdit.Size; db.SaveChanges(); } return(RedirectToAction("ShpManagement")); }
public ReturnValue GetInventory(string owner, TProduct tProd) { ReturnValue _result = new ReturnValue(); try { requestXml = owner + "--" + tProd.PartNumber; VCBusiness.VeraCoreOMS.ProductAvailabilities[] prod = OMSSoapClient.GetProductAvailabilities(AuthenticationHeader, ref DebugHeader, tProd.PartNumber, owner, "", "", "", ""); responseXml = WComm.XmlSerializer.Serialize(prod); Common.Log(requestXml, responseXml, "GetInventory", tProd.PartNumber, true, null); tProd.EstUnits = prod[0].Warehouses[0].Available; tProd.PHOnHand = prod[0].Warehouses[0].OnHand; } catch (Exception ex) { _result.Success = false; _result.ErrMessage = ex.ToString(); Common.Log(requestXml, responseXml, "GetInventory", tProd.PartNumber, false, _result.ErrMessage); return(_result); } return(_result); }
public void Cannot_Edit_Nonexistent_Game() { // Организация - создание имитированного хранилища данных Mock <IProductRepository> mock = new Mock <IProductRepository>(); mock.Setup(m => m.Products).Returns(new List <TProduct> { new TProduct { ID = 1, Name_Product = "Игра1" }, new TProduct { ID = 2, Name_Product = "Игра2" }, new TProduct { ID = 3, Name_Product = "Игра3" }, new TProduct { ID = 4, Name_Product = "Игра4" }, new TProduct { ID = 5, Name_Product = "Игра5" } }); // Организация - создание контроллера AdminController controller = new AdminController(mock.Object); // Действие TProduct result = controller.Edit(6).ViewData.Model as TProduct; // Assert }
public ActionResult DeleteConfirmed(int id) { TProduct tProduct = db.TProducts.Find(id); db.TProducts.Remove(tProduct); db.SaveChanges(); return(RedirectToAction("Index")); }
public void orderCancel(int?id) { if (id != null) { TOrder l_order被修改 = db.TOrders.FirstOrDefault(n => n.COrderId == id); TMember l_member被修改 = db.TMembers.FirstOrDefault(n => n.CMemberId == l_order被修改.CMemberId); TCupon l_cupon被修改 = db.TCupons.FirstOrDefault(n => n.CCuponId == l_order被修改.CCuponId); TCuponCategory p折扣金額 = db.TCuponCategories.FirstOrDefault(n => n.CCuponCategoryId == l_cupon被修改.CCuponCategoryId); IEnumerable <TOrderDetail> table = null; table = db.TOrderDetails.Where(n => n.COrderId == id); List <TOrderDetail> list = new List <TOrderDetail>(); foreach (var item in table) { list.Add(item); } decimal p總價 = 0; decimal p價格 = 0; int p數量 = 0; int pID = 0; for (int i = 0; i < list.Count(); i++) { //消費金額 p價格 = list[i].CPriceAtTheTime.Value; p數量 = list[i].CQuantity.Value; p總價 += (p價格 * p數量); //產品庫存 pID = list[i].CProductId; TProduct l_product被修改 = db.TProducts.FirstOrDefault(n => n.CProductId == pID); l_product被修改.CQuantity += p數量; } if (l_order被修改.CPayTypeId.Value == 1) { //無折扣 if (l_order被修改.CCuponId.Value == 1) { l_order被修改.COrderStatusId = 3; l_member被修改.CDeposit += p總價; } //有折扣 else { l_order被修改.COrderStatusId = 3; l_member被修改.CDeposit += (p總價 - p折扣金額.CCutPrice.Value); l_cupon被修改.CBeUsed = 0; } } else { l_order被修改.COrderStatusId = 3; } db.SaveChanges(); } }
public void DeleteProduct(TProduct product) { if (product == null) { throw new ArgumentNullException(nameof(product)); } _context.TProducts.Remove(product); }
public JsonResult DidLogingetBottomList(int MemberID) { 擺腹BuyFoodContext db = new 擺腹BuyFoodContext(); #region 最新商品 var lastProducts = db.TProducts.OrderByDescending(n => n.CProductId).Select(n => n).Take(6); #endregion #region //好評商品 var gettopProducts = (from tp in db.TOrderDetails group tp by tp.CProductId into g select new { g.Key, AvgScore = g.Sum(n => n.CScores) / g.Count() }).OrderByDescending(n => n.AvgScore).Select(n => n.Key).ToList().Take(6); List <TProduct> topProducts = new List <TProduct>(); foreach (var p in gettopProducts) { topProducts.Add(db.TProducts.Where(n => n.CProductId == p).Select(n => n).FirstOrDefault()); } #endregion HttpContext.Session.SetObject <List <TProduct> >("TopItem", topProducts); #region //最常購買 var ReviewProducts = db.TOrderDetails.OrderByDescending(n => n.COrder.COrderDate).Select(n => new { n.CProductId, product = n.CProduct }).Take(100) .GroupBy(n => n.CProductId).Select(n => new { n.Key, product = new List <TProduct>(), count = n.Count() }).OrderByDescending(n => n.count).Take(6).ToList(); foreach (var item in ReviewProducts) { TProduct product = db.TProducts.FirstOrDefault(n => n.CProductId == item.Key); item.product.Add(product); } #endregion var table = new { lastProducts = lastProducts, topProducts = topProducts, ReviewProducts = ReviewProducts }; return(Json(table)); }
public override ReturnValue ProductDownload() { ReturnValue _result = new ReturnValue(); #region get product list TProduct _tProduct = new TProduct(); _result = _tProduct.getProductList(); if (_result.Success == false) { _result.Success = false; _result.ErrMessage = "getProductList failed. \r\n " + _result.ErrMessage; Common.Log("getProductList---ER \r\n" + _result.ErrMessage); return(_result); } EntityList productList = _result.ObjectList; #endregion #region get inventory foreach (TProduct item in productList) { _result = VeraCore.PostProduct(VCBusiness.Common.OwnerCode, item.PartNumber, item.Name); if (_result.Success == false) { if (_result.Code == -8) { Common.Log("Item : " + item.PartNumber + "---Already exist in VeraCore"); continue; } errorNotes = errorNotes + item.PartNumber.ToString() + "\r\n" + _result.ErrMessage + "\r\n"; failedRecord++; Common.Log("Item : " + item.PartNumber + " PostProduct---ER \r\n" + _result.ErrMessage); continue; } successfulRecord++; Common.Log("Item : " + item.PartNumber + "---OK"); } #endregion Common.SentAlterEmail(failedRecord, errorNotes); _result.Success = true; return(_result); }
public void CreateProduct(TProduct product) { if (product == null) { throw new ArgumentNullException(nameof(product)); } _context.TProducts.Add(product); _context.SaveChanges(); }
public TProduct DeleteProduct(int prodId) { TProduct dbEntry = context.Products.Find(prodId); if (dbEntry != null) { context.Products.Remove(dbEntry); context.SaveChanges(); } return(dbEntry); }
static void Main(string[] args) { var test = new TProduct(); test.FillData(1, "Apple", "4857", "A tasty apple.", "Green", false, true); test.PrintData(); test.PrintDataReflection(); Console.ReadKey(); }
//刪除 public IActionResult DeleteProduct(int?id) { TProduct tp = db.TProducts.FirstOrDefault(p => p.FProductId == id); if (id != null) { db.TProducts.Remove(tp); db.SaveChanges(); } return(RedirectToAction("ShpManagement")); }
public ActionResult Delete(int ID) { TProduct deletedProd = repository.DeleteProduct(ID); if (deletedProd != null) { TempData["message"] = string.Format("Игра \"{0}\" была удалена", deletedProd.Name_Product); } return(RedirectToAction("Index")); }
public RedirectToRouteResult RemoveFromCart(Cart cart, int ID, string returnUrl) { TProduct game = repository.Products .FirstOrDefault(g => g.ID == ID); if (game != null) { cart.RemoveLine(game); } return(RedirectToAction("Index", new { returnUrl })); }
public RedirectToRouteResult AddToCart(Cart cart, int ID, string returnUrl) //имена параметров соответствуют элементам <input> в HTML-формах, //созданных в представлении ProductSummary.cshtml. { TProduct game = repository.Products .FirstOrDefault(g => g.ID == ID); if (game != null) { cart.AddItem(game, 1); } return(RedirectToAction("Index", new { returnUrl })); //браузеру отправляется инструкция перенаправления HTTP, заставляя браузер запросить новый URL //браузер запросит URL, который вызывает метод действия Index() контроллера Cart. }
private void productsBox_SelectedIndexChanged(object sender, EventArgs e) { if (productsBox.SelectedItem != null) { TProduct p = (TProduct)productsBox.SelectedItem; selected_product = (TProduct)productsBox.SelectedItem; newNameBox.Text = selected_product.name; newDescBox.Text = selected_product.description; newCategoryComboBox.Text = categoryRef.Read(selected_product.category).ToString(); newStockBox.Text = selected_product.stock.ToString(); newPriceBox.Text = selected_product.price.ToString(); } }
public IActionResult Edit(CProductViewModel p_產品修改) { TProduct l_product被修改 = db.TProducts.FirstOrDefault(n => n.CProductId == p_產品修改.CProductId); if (l_product被修改 != null) { string p_產品照片相對路徑 = Url.Content(l_product被修改.CPicture); if (!string.IsNullOrEmpty(p_產品照片相對路徑) && p_產品修改.Image != null) { string p產品實體路徑 = iv_host.WebRootPath + p_產品照片相對路徑; System.IO.File.Delete(p產品實體路徑); } string photoName = Guid.NewGuid().ToString() + ".jpg"; string p_照片最後路徑 = null; if (p_產品修改.Image != null) { using (var phtot = new FileStream(iv_host.WebRootPath + @"\images\" + photoName, FileMode.Create)) { p_產品修改.Image.CopyTo(phtot); p_照片最後路徑 = "~/images/" + photoName; } } else { p_照片最後路徑 = p_產品照片相對路徑; } p_產品修改.CPicture = p_照片最後路徑; l_product被修改.CProductName = p_產品修改.CProductName; l_product被修改.CQuantity = p_產品修改.CQuantity; l_product被修改.CQuantityControl = p_產品修改.CQuantityControl; l_product被修改.CPrice = p_產品修改.CPrice; l_product被修改.CDescription = p_產品修改.CDescription; l_product被修改.CProductTagId = p_產品修改.CProductTagId; l_product被修改.CPicture = p_產品修改.CPicture; l_product被修改.CCategoryId = p_產品修改.CCategoryId; l_product被修改.CIsOnSaleId = p_產品修改.CIsOnSaleId; l_product被修改.CEatTimeId = p_產品修改.CEatTimeId; l_product被修改.CFinishedTime = p_產品修改.CFinishedTime; l_product被修改.CFinishedTime = p_產品修改.CFinishedTime; l_product被修改.CIsBreakFast = p_產品修改.CIsBreakFast; l_product被修改.CIsLunch = p_產品修改.CIsLunch; l_product被修改.CIsDinner = p_產品修改.CIsDinner; db.SaveChanges(); } return(RedirectToAction("List")); }
// GET: Admin/TProducts/Details/5 public ActionResult Details(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TProduct tProduct = db.TProducts.Find(id); if (tProduct == null) { return(HttpNotFound()); } return(View(tProduct)); }
public ShopModel.Product TransporterToModel(TProduct tproduct) { ShopModel.Product product = new ShopModel.Product { Product_Id = tproduct.id, Name = tproduct.name, Description = tproduct.description, Category_Id = tproduct.category, Stock = tproduct.stock, Price = tproduct.price, Timestamp = tproduct.timestamp }; return(product); }
public FileContentResult GetImage(int ID) { TProduct product = repository.Products .FirstOrDefault(g => g.ID == ID); if (product != null) { return(File(product.ImageData, product.ImageMimeType)); } else { return(null); } }
public async Task <ActionResult> Edit(int?ID) { ViewBag.message = "Редактирование товaра - "; if (ID == null) { return(HttpNotFound()); } TProduct prod = await db.Products.FindAsync(ID); if (ID != null) { return(View(prod)); } return(HttpNotFound()); }
public TProduct ModelToTransporter(ShopModel.Product product) { TProduct tproduct = new TProduct { id = product.Product_Id, name = product.Name, description = product.Description, category = product.Category_Id, stock = product.Stock, price = product.Price, timestamp = product.Timestamp }; return(tproduct); }
// GET: Admin/TProducts/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } TProduct tProduct = db.TProducts.Find(id); if (tProduct == null) { return(HttpNotFound()); } ViewBag.C_idCategorie = new SelectList(db.TCategories, "idCategorie", "Category", tProduct.C_idCategorie); ViewBag.C_idSubcategory = new SelectList(db.TSubcategories, "idSubcategory", "Subcategory", tProduct.C_idSubcategory); return(View(tProduct)); }