public IActionResult Edit(int?id, ProductDto product) { if (ModelState.IsValid) { product.SellerId = SellerId; productServices.Edit(id, product); return(RedirectToAction(nameof(MyOffers))); } return(View(product)); }
public async Task Edit_InvalidProduct_ReturnError(int id, int groupID, string editName, string editPrice) { // ===== Arrange ===== var dbName = Guid.NewGuid().ToString(); var context = BuildContext(dbName); var mapper = BuildMap(); var httpContext = new Mock <IHttpContextAccessor>(); var http = new DefaultHttpContext(); httpContext.Setup(_ => _.HttpContext).Returns(http); var editPriceD = Decimal.Parse(editPrice); await Generate_Product_Data(context, mapper, httpContext.Object); bool exException = false; var data = await context.Product.Where(_ => _.Id == id).FirstOrDefaultAsync(); // ===== Act ====== var actContext = BuildContext(dbName); try { var service = new ProductServices(actContext, mapper, httpContext.Object); var result = await service.Edit(id, new ProductAddDTO { GroupId = groupID, Name = editName, Price = editPriceD }); } catch (InvalidOperationException) { exException = true; } catch (Exception) { throw; } // ===== Assert ===== // Expected Exception var assContext = BuildContext(dbName); Assert.IsTrue(exException); if (!(data is null)) { var editData = await assContext.Product.Where(_ => _.Id == id).FirstAsync(); Assert.AreEqual(data.GroupId, editData.GroupId); Assert.AreEqual(data.Name, editData.Name); Assert.AreEqual(data.Price, editData.Price); } }
protected void btnSubmit_Click(object sender, EventArgs e) { string photo = upFileName(this.FileUpload1, "../../upload/users/"); Model.Product p = productSvc.GetProductById(Guid.Parse(this.hfId.Value)); if (photo == "") { p = new Model.Product { Product_Title = this.txtName.Text, Product_Intro = this.textIntro.Text, Product_Content = this.txtContent.Text, Product_Price = double.Parse(this.txtPrice.Text), Product_UpdateTime = DateTime.Now }; } else { p = new Model.Product { Product_Title = this.txtName.Text, Product_Intro = this.textIntro.Text, Product_Content = this.txtContent.Text, Product_Price = double.Parse(this.txtPrice.Text), Product_Image = photo, Product_UpdateTime = DateTime.Now }; } var res = productSvc.Edit(p); ReturnMsg rm = res > 0 ? new ReturnMsg() { Code = StatusCode.OK, Message = "编辑用户信息成功", Data = null } : new ReturnMsg() { Code = StatusCode.Error, Message = "编辑用户信息失败", Data = null }; Session["Msg"] = rm; //用于传递执行信息的 Response.Redirect("Product_List.aspx"); }
public async Task Edit_ValidProduct_ReturnDataWithSaveChanged(int id, int groupID, string editName, string editPrice) { // ===== Arrange ===== var dbName = Guid.NewGuid().ToString(); var context = BuildContext(dbName); var mapper = BuildMap(); var httpContext = new Mock <IHttpContextAccessor>(); var http = new DefaultHttpContext(); httpContext.Setup(_ => _.HttpContext).Returns(http); var editPriceD = Decimal.Parse(editPrice); await Generate_Product_Data(context, mapper, httpContext.Object); var data = await context.Product.Where(_ => _.Id == id).FirstAsync(); var result = new ServiceResponse <ProductDTO>(); // ===== Act ====== var actContext = BuildContext(dbName); var service = new ProductServices(actContext, mapper, httpContext.Object); result = await service.Edit(id, new ProductAddDTO { GroupId = groupID, Name = editName, Price = editPriceD }); // ===== Assert ===== var assContext = BuildContext(dbName); Assert.IsNotNull(data); Assert.IsNotNull(result.Data); var editData = await assContext.Product.Where(_ => _.Id == id).FirstAsync(); Assert.AreEqual(result.Data.GroupId, editData.GroupId); Assert.AreEqual(result.Data.Name, editData.Name); Assert.AreEqual(result.Data.Price, editData.Price); var count = await assContext.Product.Where(_ => _.Name.Contains(editName)).CountAsync(); Assert.AreEqual(1, count); }
private void SaveProduct() { product = new Product(); product.name = txtName.Text; product.codigo = txtCode.Text; product.stock = txtStock.Text; product.exDate = dtpExpireDate.Value; product.description = txtDescription.Text; product.category = cbCategory.SelectedIndex + 1; if (cbStatus.SelectedIndex == 0) { product.status = true; } else { product.status = false; } if (!Modify) { product.id = ProductRepository.Instancia.Products.Count + 1; if (productServices.Add(product)) { MessageBox.Show("Producto agregado correctamente"); this.Close(); } else { MessageBox.Show("El producto no puedo ser agregado"); } } else { if (productServices.Edit(Convert.ToInt32(txtID.Text), product)) { MessageBox.Show("Producto modificado correctamente"); this.Close(); } else { MessageBox.Show("El producto no pudo ser modificado"); } } }
public ActionResult Edit(ProductViewModel productViewModel) { try { if (ModelState.IsValid) { productServices.Edit(productViewModel); return(RedirectToAction("ProductsList")); } else { return(View()); } } catch (Exception exception) { return(View("Error", new HandleErrorInfo(exception, "ProductsList", "Products"))); } }
public async Task Edit_IdIsInvalid_ReturnError(int id, int groupID, string editName, string editPrice) { // ===== Arrange ===== var dbName = Guid.NewGuid().ToString(); var context = BuildContext(dbName); var mapper = BuildMap(); var httpContext = new Mock <IHttpContextAccessor>(); var http = new DefaultHttpContext(); httpContext.Setup(_ => _.HttpContext).Returns(http); var editPriceD = Decimal.Parse(editPrice); //await Generate_Product_Data(context, mapper, httpContext.Object); // ===== Act ====== var service = new ProductServices(context, mapper, httpContext.Object); var result = await service.Edit(id, new ProductAddDTO { GroupId = groupID, Name = editName, Price = editPriceD }); // ===== Assert ===== // Expected Exception }
public ActionResult Edit(int id, ProductModals modal) { var result = process.Edit(id, modal); return(RedirectToAction("Index")); }