Esempio n. 1
0
        public ActionResult AdminProductUpdate(AdminProductUpdate model, IEnumerable <HttpPostedFileBase> files)
        {
            var productservice = new ProductsService();
            var photoservice   = new ProductPhotoService();
            var product        = new Products()
            {
                ProductID      = model.ProductID,
                ProductName    = model.ProductName,
                UnitPrice      = model.UnitPrice,
                CategoryID     = model.CategoryID,
                ProductDetails = model.ProductDetails,
                Size           = model.Size,
                Color          = model.Color,
                UnitsInStock   = model.UnitsInStock
            };

            productservice.Update(product);

            foreach (var file in files)
            {
                if (file != null && file.ContentLength > 0)
                {
                    var fileName = Path.GetFileName(file.FileName);
                    var path     = Path.Combine(Server.MapPath("~/Images"), fileName);
                    file.SaveAs(path);
                    photoservice.Create(new ProductPhoto {
                        ProductID = model.ProductID, PhotoPath = "https://bingshop.azurewebsites.net/Images/" + fileName
                    });
                }
            }

            return(RedirectToAction("Product", "admin"));
        }
Esempio n. 2
0
        public ActionResult DeletePhoto(int PhotoID, int ProductID)
        {
            var productPhotoService = new ProductPhotoService();

            productPhotoService.Delete(new ProductPhoto {
                PhotoID = PhotoID
            });
            return(RedirectToAction("ProductUpdate/" + ProductID, "admin"));
        }
Esempio n. 3
0
        public ActionResult Index()
        {
            var servicePro       = new ProductsService();
            var servicePh        = new ProductPhotoService();
            var BestProducts     = servicePro.GetBestProducts();
            var NewProducts      = servicePro.GetNewProducts();
            var BestProductsList = new List <ProductPhoto>();
            var BestProductsName = new List <Products>();
            var NewProductsList  = new List <ProductPhoto>();
            var NewProductsName  = new List <Products>();

            foreach (var item in BestProducts)
            {
                BestProductsList.Add(servicePh.FindPicById(item.ProductID));
            }
            foreach (var item in NewProducts)
            {
                NewProductsList.Add(servicePh.FindPicById(item.ProductID));
            }

            var NewProductsList2 = new List <string>();

            foreach (var item in NewProductsList)
            {
                if (NewProductsList2.Any((x) => x == item.PhotoPath) == false)
                {
                    NewProductsList2.Add(item.PhotoPath);
                    NewProductsName.Add(servicePro.FindByID(item.ProductID));
                }
            }

            var BestProductsList2 = new List <string>();

            foreach (var item in BestProductsList)
            {
                if (BestProductsList2.Any((x) => x == item.PhotoPath) == false)
                {
                    BestProductsList2.Add(item.PhotoPath);
                    BestProductsName.Add(servicePro.FindByID(item.ProductID));
                }
            }

            ViewData.Add("BestProductsList2", BestProductsList2);
            ViewData.Add("Bestcount", BestProductsList2.Count());
            ViewData.Add("BestProductsName", BestProductsName);
            ViewData.Add("NewProductsList2", NewProductsList2);
            ViewData.Add("Newcount", NewProductsList2.Count());
            ViewData.Add("NewProductsName", NewProductsName);
            return(View());
        }
Esempio n. 4
0
        public ActionResult SearchOrderdetail(int orderid)
        {
            var cookie = Request.Cookies[FormsAuthentication.FormsCookieName];

            if (cookie == null)
            {
                return(RedirectToAction("Login", "Login"));
            }

            var ticket = FormsAuthentication.Decrypt(cookie.Value);

            var customer_service    = new CustomerService();
            var product_service     = new ProductsService();
            var orderdetail_service = new OrderDetailsService();
            var photo_service       = new ProductPhotoService();
            var order_service       = new OrderService();

            var user  = customer_service.FindByCustomerAccount(ticket.Name);
            var items = orderdetail_service.FindById(orderid);

            if (user.CustomerID != order_service.FindById(orderid).CustomerID)
            {
                return(RedirectToAction("Index", "Home"));
            }

            var result = new List <SearchOrderdetailModel>();

            foreach (var item in items)
            {
                SearchOrderdetailModel model = new SearchOrderdetailModel();

                model.Image       = photo_service.FindById(item.ProductID).First().PhotoPath;
                model.ProductID   = item.ProductID;
                model.ProductName = product_service.FindByID(item.ProductID).ProductName;
                model.Color       = product_service.FindByID(item.ProductID).Color;
                model.Size        = product_service.FindByID(item.ProductID).Size;
                model.Amount      = item.Quantity;
                model.UnitPrice   = product_service.FindByID(item.ProductID).UnitPrice;
                model.Total       = product_service.FindByID(item.ProductID).UnitPrice *item.Quantity;

                result.Add(model);
            }

            ViewData.Add("list", result);
            var orders = order_service.FindById(orderid);

            return(View(orders));
        }
Esempio n. 5
0
        public ActionResult Search(string sortmethod)
        {
            var str          = this.ControllerContext.HttpContext.Request.QueryString[0];
            var service      = new ProductsService();
            var photoService = new ProductPhotoService();
            var list         = service.GetAll().ToList();
            var query        = new List <Products>();

            foreach (var item in list)
            {
                if (item.ProductName.Contains(str) && query.Any((x) => x.ProductName == item.ProductName) == false)
                {
                    query.Add(item);
                }
            }

            if (sortmethod != null)
            {
                if (sortmethod == "Time")
                {
                    query = query.OrderByDescending((x) => x.Uptime).ToList();
                }
                if (sortmethod == "TimeDESC")
                {
                    query = query.OrderBy((x) => x.Uptime).ToList();
                }
                if (sortmethod == "Price")
                {
                    query = query.OrderByDescending((x) => x.UnitPrice).ToList();
                }
                if (sortmethod == "PriceDESC")
                {
                    query = query.OrderBy((x) => x.UnitPrice).ToList();
                }
            }

            var photo_list = new List <ProductPhoto>();

            foreach (var item in query)
            {
                photo_list.Add(photoService.FindById(item.ProductID).First());
            }
            ViewData.Add("photo_list", photo_list);
            ViewData.Add("count", query.Count());
            ViewData.Add("list", query);

            return(View());
        }
        // GET: Order
        public ActionResult AdminOrderDetail(int id)
        {
            var serviceOrderDetails = new OrderDetailsService();
            var serviceOrder        = new OrderService();
            var servicePhoto        = new ProductPhotoService();
            var _OrderDetail        = serviceOrderDetails.FindOrderDetail(id);
            var _Order = serviceOrder.FindById(id);

            var model = new AOrderDetailModel();

            model.OrderId   = id;
            model.OrderDay  = _Order.OrderDay;
            model.Transport = _Order.Transport;
            model.Payment   = _Order.Payment;
            model.Address   = _Order.Address;
            model.Status    = _Order.Status;
            model.Data      = _OrderDetail;

            var status = serviceOrder.Status();
            List <SelectListItem> items = new List <SelectListItem>();

            foreach (var s in status)
            {
                if (s == _Order.Status)
                {
                    items.Add(new SelectListItem()
                    {
                        Text  = s,
                        Value = s
                    });
                }
            }
            foreach (var s in status)
            {
                if (s != _Order.Status)
                {
                    items.Add(new SelectListItem()
                    {
                        Text  = s,
                        Value = s
                    });
                }
            }
            ViewBag.status = items;

            return(View(model));
        }
        public async void Get_null_record()
        {
            var mock = new ServiceMockFacade <IProductPhotoRepository>();

            mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ProductPhoto>(null));
            var service = new ProductPhotoService(mock.LoggerMock.Object,
                                                  mock.RepositoryMock.Object,
                                                  mock.ModelValidatorMockFactory.ProductPhotoModelValidatorMock.Object,
                                                  mock.BOLMapperMockFactory.BOLProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductPhotoMapperMock,
                                                  mock.BOLMapperMockFactory.BOLProductProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductProductPhotoMapperMock);

            ApiProductPhotoResponseModel response = await service.Get(default(int));

            response.Should().BeNull();
            mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>()));
        }
        public async void ProductProductPhotoes_Not_Exists()
        {
            var mock = new ServiceMockFacade <IProductPhotoRepository>();

            mock.RepositoryMock.Setup(x => x.ProductProductPhotoes(default(int), It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <ProductProductPhoto> >(new List <ProductProductPhoto>()));
            var service = new ProductPhotoService(mock.LoggerMock.Object,
                                                  mock.RepositoryMock.Object,
                                                  mock.ModelValidatorMockFactory.ProductPhotoModelValidatorMock.Object,
                                                  mock.BOLMapperMockFactory.BOLProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductPhotoMapperMock,
                                                  mock.BOLMapperMockFactory.BOLProductProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductProductPhotoMapperMock);

            List <ApiProductProductPhotoResponseModel> response = await service.ProductProductPhotoes(default(int));

            response.Should().BeEmpty();
            mock.RepositoryMock.Verify(x => x.ProductProductPhotoes(default(int), It.IsAny <int>(), It.IsAny <int>()));
        }
        public async void Create()
        {
            var mock  = new ServiceMockFacade <IProductPhotoRepository>();
            var model = new ApiProductPhotoRequestModel();

            mock.RepositoryMock.Setup(x => x.Create(It.IsAny <ProductPhoto>())).Returns(Task.FromResult(new ProductPhoto()));
            var service = new ProductPhotoService(mock.LoggerMock.Object,
                                                  mock.RepositoryMock.Object,
                                                  mock.ModelValidatorMockFactory.ProductPhotoModelValidatorMock.Object,
                                                  mock.BOLMapperMockFactory.BOLProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductPhotoMapperMock,
                                                  mock.BOLMapperMockFactory.BOLProductProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductProductPhotoMapperMock);

            CreateResponse <ApiProductPhotoResponseModel> response = await service.Create(model);

            response.Should().NotBeNull();
            mock.ModelValidatorMockFactory.ProductPhotoModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiProductPhotoRequestModel>()));
            mock.RepositoryMock.Verify(x => x.Create(It.IsAny <ProductPhoto>()));
        }
        public async void All()
        {
            var mock    = new ServiceMockFacade <IProductPhotoRepository>();
            var records = new List <ProductPhoto>();

            records.Add(new ProductPhoto());
            mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records));
            var service = new ProductPhotoService(mock.LoggerMock.Object,
                                                  mock.RepositoryMock.Object,
                                                  mock.ModelValidatorMockFactory.ProductPhotoModelValidatorMock.Object,
                                                  mock.BOLMapperMockFactory.BOLProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductPhotoMapperMock,
                                                  mock.BOLMapperMockFactory.BOLProductProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductProductPhotoMapperMock);

            List <ApiProductPhotoResponseModel> response = await service.All();

            response.Should().HaveCount(1);
            mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>()));
        }
        public async void Delete()
        {
            var mock  = new ServiceMockFacade <IProductPhotoRepository>();
            var model = new ApiProductPhotoRequestModel();

            mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask);
            var service = new ProductPhotoService(mock.LoggerMock.Object,
                                                  mock.RepositoryMock.Object,
                                                  mock.ModelValidatorMockFactory.ProductPhotoModelValidatorMock.Object,
                                                  mock.BOLMapperMockFactory.BOLProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductPhotoMapperMock,
                                                  mock.BOLMapperMockFactory.BOLProductProductPhotoMapperMock,
                                                  mock.DALMapperMockFactory.DALProductProductPhotoMapperMock);

            ActionResponse response = await service.Delete(default(int));

            response.Should().NotBeNull();
            mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>()));
            mock.ModelValidatorMockFactory.ProductPhotoModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>()));
        }
Esempio n. 12
0
        public ActionResult Accessories(string sortmethod)
        {
            var service      = new CategoriesService();
            var photoService = new ProductPhotoService();
            var query        = service.ClassifyByCategoryNameAndNullDownTime("飾品");

            query = query.Where((x) => x.Downtime == null).ToList();
            if (sortmethod != null)
            {
                if (sortmethod == "Time")
                {
                    query = query.OrderByDescending((x) => x.Uptime).ToList();
                }
                if (sortmethod == "TimeDESC")
                {
                    query = query.OrderBy((x) => x.Uptime).ToList();
                }
                if (sortmethod == "Price")
                {
                    query = query.OrderByDescending((x) => x.UnitPrice).ToList();
                }
                if (sortmethod == "PriceDESC")
                {
                    query = query.OrderBy((x) => x.UnitPrice).ToList();
                }
            }

            var photo_list = new List <ProductPhoto>();

            foreach (var item in query)
            {
                photo_list.Add(photoService.FindById(item.ProductID).First());
            }

            ViewData.Add("photo_list", photo_list);
            ViewData.Add("count", query.Count());
            ViewData.Add("list", query);
            return(View());
        }
Esempio n. 13
0
        public ActionResult AdminProductUpdate(int id)
        {
            var productservice = new ProductsService();
            var photoservice   = new ProductPhotoService();
            var product        = productservice.FindByID(id);
            var items          = photoservice.FindById(id);
            var result         = new List <ProductPhoto>();

            foreach (var item in items)
            {
                var photo = new ProductPhoto()
                {
                    PhotoID   = item.PhotoID,
                    PhotoPath = item.PhotoPath
                };

                result.Add(photo);
            }

            var model = new AdminProductUpdate()
            {
                ProductID      = id,
                ProductName    = product.ProductName,
                UnitPrice      = Decimal.Round(product.UnitPrice),
                CategoryID     = product.CategoryID,
                ProductDetails = product.ProductDetails,
                Size           = product.Size,
                Color          = product.Color,
                UnitsInStock   = product.UnitsInStock
            };

            ViewBag.list      = result;
            ViewBag.productid = id;

            return(View(model));
        }