Exemple #1
0
 public IActionResult Edit(int?id, ProductDto product)
 {
     if (ModelState.IsValid)
     {
         product.SellerId = SellerId;
         productServices.Edit(id, product);
         return(RedirectToAction(nameof(MyOffers)));
     }
     return(View(product));
 }
Exemple #2
0
        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");
        }
Exemple #4
0
        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);
        }
Exemple #5
0
 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");
         }
     }
 }
Exemple #6
0
 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")));
     }
 }
Exemple #7
0
        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
        }
Exemple #8
0
        public ActionResult Edit(int id, ProductModals modal)
        {
            var result = process.Edit(id, modal);

            return(RedirectToAction("Index"));
        }