Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        //[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));
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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));
        }
Exemplo n.º 5
0
 public OrderDetailsViewModel(TOrderDetail orderDetail, TMember member, TOrderStatus orderStatus, TProduct product)
 {
     orderDetail = iv_orderDetails;
     member      = iv_member;
     orderStatus = iv_orderStatus;
     product     = iv_product;
 }
Exemplo n.º 6
0
 public OrderDetailsViewModel()
 {
     iv_orderDetails = new TOrderDetail();
     iv_member       = new TMember();
     iv_orderStatus  = new TOrderStatus();
     iv_product      = new TProduct();
 }
Exemplo n.º 7
0
        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());
        }
Exemplo n.º 8
0
        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"));
        }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
        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
        }
Exemplo n.º 11
0
        public ActionResult DeleteConfirmed(int id)
        {
            TProduct tProduct = db.TProducts.Find(id);

            db.TProducts.Remove(tProduct);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Exemplo n.º 12
0
        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();
            }
        }
Exemplo n.º 13
0
        public void DeleteProduct(TProduct product)
        {
            if (product == null)
            {
                throw new ArgumentNullException(nameof(product));
            }

            _context.TProducts.Remove(product);
        }
Exemplo n.º 14
0
        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));
        }
Exemplo n.º 15
0
        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);
        }
Exemplo n.º 16
0
        public void CreateProduct(TProduct product)
        {
            if (product == null)
            {
                throw new ArgumentNullException(nameof(product));
            }

            _context.TProducts.Add(product);
            _context.SaveChanges();
        }
Exemplo n.º 17
0
        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();
        }
Exemplo n.º 19
0
        //刪除
        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"));
        }
Exemplo n.º 20
0
        public ActionResult Delete(int ID)
        {
            TProduct deletedProd = repository.DeleteProduct(ID);

            if (deletedProd != null)
            {
                TempData["message"] = string.Format("Игра \"{0}\" была удалена",
                                                    deletedProd.Name_Product);
            }
            return(RedirectToAction("Index"));
        }
Exemplo n.º 21
0
        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 }));
        }
Exemplo n.º 22
0
        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();
     }
 }
Exemplo n.º 24
0
        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"));
        }
Exemplo n.º 25
0
        // 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);
            }
        }
Exemplo n.º 28
0
        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);
        }
Exemplo n.º 30
0
        // 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));
        }