コード例 #1
0
 public ActionResult Edit([Bind(Include = "CarProductsId,ModelCar,CarColor,NumberOfSeats,ImageFont,ImageBack,Keyword,NumberOfCars,Info,ActionProduct,RentCost,CarProductStatus,CarCategoryId,FuelsId,GearBoxsId")] CarProduct carProduct)
 {
     if (ModelState.IsValid)
     {
         //Lấy đối tượng file
         var f  = Request.Files["hinhanh"];
         var f2 = Request.Files["hinhanh1"];
         //Kiểm tra xem người dùng có chọn upload hay không
         if (f != null && f.ContentLength > 0)
         {
             //Lấy đường dẫn
             var path = Server.MapPath("~/ImageUpload/" + f.FileName);
             //Upload file lên server
             f.SaveAs(path);
             //Gán url của hình ảnh vào giá trị của thumnail
             carProduct.ImageFont = "/ImageUpload/" + f.FileName;
         }
         if (f2 != null && f2.ContentLength > 0)
         {
             //Lấy đường dẫn
             var path = Server.MapPath("~/ImageUpload/" + f2.FileName);
             //Upload file lên server
             f2.SaveAs(path);
             //Gán url của hình ảnh vào giá trị của thumnail
             carProduct.ImageBack = "/ImageUpload/" + f2.FileName;
         }
         db.Entry(carProduct).State = System.Data.Entity.EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.CarCategoryId = new SelectList(db.CarCategories, "CarCategoryId", "NameCarCategory", carProduct.CarCategoryId);
     ViewBag.FuelsId       = new SelectList(db.Fuels, "FuelsId", "NameFuel", carProduct.FuelsId);
     ViewBag.GearBoxsId    = new SelectList(db.GearBoxs, "GearBoxsId", "NameGearBox", carProduct.GearBoxsId);
     return(View(carProduct));
 }
コード例 #2
0
        /// <summary>
        /// Dodaje nowy obiekt do HandledCarProduct.
        /// </summary>
        /// <param name="carService">Serwis do dodania.</param>
        /// <param name="carProduct">Samochód do dodania.</param>
        public void AddToHandledCarProductCollection(CarService carService, CarProduct carProduct)
        {
            HandledCarProduct handledCarProduct = HandledCarProduct.CreateHandledCarProduct(carService.Id, carProduct.Id, DateTime.Now, false);

            this.DB.HandledCarProducts.AddObject(handledCarProduct);
            this.DB.SaveChanges();
        }
        public ActionResult DeleteConfirmed(int id)
        {
            CarProduct carProduct = db.CarProducts.Find(id);

            db.CarProducts.Remove(carProduct);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
コード例 #4
0
        /// <summary>
        /// Dodaje nowy obiekt do CarServicesCar.
        /// </summary>
        /// <param name="carService">Serwis do dodania.</param>
        /// <param name="carProduct">Samochód do dodania.</param>
        public void AddToCarServicesCarCollection(CarService carService, CarProduct carProduct)
        {
            ICollection <CarServicesCar> carServicesCarsList = GetCarServicesCarCollection(carService);
            long           Id             = carServicesCarsList.OrderByDescending(x => x.Id).First().Id + 1;
            CarServicesCar carServicesCar = CarServicesCar.CreateCarServicesCar(Id, carService.Id, carProduct.Id);

            this.DB.CarServicesCars.AddObject(carServicesCar);
            this.DB.SaveChanges();
        }
        // GET: CarProducts/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CarProduct carProduct = db.CarProducts.Find(id);

            if (carProduct == null)
            {
                return(HttpNotFound());
            }
            return(View(carProduct));
        }
コード例 #6
0
        internal void UpdateCarProduct(int productID, string name, decimal price, int quantity, int year, string color, int supplierID)
        {
            CarProduct productToUpdate = CarProducts.FirstOrDefault(p => p.ProductID == productID);

            if (productToUpdate != null)
            {
                productToUpdate.Name       = name;
                productToUpdate.Price      = price;
                productToUpdate.Quantity   = quantity;
                productToUpdate.Year       = year;
                productToUpdate.Color      = color;
                productToUpdate.SupplierID = supplierID;
            }
        }
コード例 #7
0
        public void AddCarProduct(string name, decimal price, int quantity, int year, string color, int supplierID)
        {
            CarProduct newProduct = new CarProduct
            {
                Name       = name,
                Price      = price,
                Quantity   = quantity,
                Year       = year,
                Color      = color,
                SupplierID = supplierID
            };

            CarProducts.Add(newProduct);
        }
コード例 #8
0
 protected void BtnCommand_Click(object sender, EventArgs e)
 {
     CarProduct carproduct = new CarProduct();
     carproduct.Active = chkActive.Checked;
     carproduct.CatID = int.Parse(ddlCategory.SelectedValue.Trim());
     carproduct.CreateDate = DateTime.Now;
     carproduct.CreateBy = 1;
     carproduct.Features = txtFeatures.Text;
     carproduct.Name = txtCarName.Text;
     carproduct.SubCatID = int.Parse(ddlSubCategory.SelectedValue.Trim());
     int result = DataService.Provider.AddCarProduct(carproduct);
     if (result > 0) {
         Response.Redirect(Util.AdminUrl + "car-list", true);
     }
 }
コード例 #9
0
        public GetCarCostAndAvailGetInputs(CarProduct car, bool myOnAirportSearchBool)
        {
            CarInventoryKey key = car.CarInventoryKey;

            pCarAgreementID         = key.CarRate.CarAgreementID;
            pAirportCode            = key.CarCatalogKey.CarPickupLocationKey.LocationCode;
            pPickUpDate             = key.CarPickUpDateTime;
            pDropOffDate            = key.CarDropOffDateTime;
            pCarCategoryID          = key.CarCatalogKey.CarVehicle.CarCategoryCode;
            pCarTypeID              = key.CarCatalogKey.CarVehicle.CarTypeCode;
            pCarTransmissionDriveID = key.CarCatalogKey.CarVehicle.CarTransmissionDriveCode;
            pCarFuelAirConditionID  = key.CarCatalogKey.CarVehicle.CarFuelACCode;
            pCarVendorCode          = CarsInventory.GetVendorCodeFromCarVendor(key.CarCatalogKey.VendorSupplierID);
            pCarVendorLocationCode  = key.CarCatalogKey.CarPickupLocationKey.CarLocationCategoryCode + key.CarCatalogKey.CarPickupLocationKey.SupplierRawText;
            pOnAirportSearchBool    = myOnAirportSearchBool;
        }
        // GET: CarProducts/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            CarProduct carProduct = db.CarProducts.Find(id);

            if (carProduct == null)
            {
                return(HttpNotFound());
            }
            ViewBag.CarCategoryId = new SelectList(db.CarCategories, "CarCategoryId", "NameCarCategory", carProduct.CarCategoryId);
            ViewBag.FuelsId       = new SelectList(db.Fuels, "FuelsId", "NameFuel", carProduct.FuelsId);
            ViewBag.GearBoxsId    = new SelectList(db.GearBoxs, "GearBoxsId", "NameGearBox", carProduct.GearBoxsId);
            return(View(carProduct));
        }
コード例 #11
0
        public ActionResult DatHangXeS(int?id)
        {
            ViewBag.CarCategoryId = new SelectList(db.CarCategories, "CarCategoryId", "NameCarCategory");
            ViewBag.FuelsId       = new SelectList(db.Fuels, "FuelsId", "NameFuel");
            ViewBag.GearBoxsId    = new SelectList(db.GearBoxs, "GearBoxsId", "NameGearBox");
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            //Product product = db.Products.Find(id);
            CarProduct product = db.CarProducts.Include(p => p.CarCategory).Where(p => p.CarProductsId == id).FirstOrDefault();

            if (product == null)
            {
                return(HttpNotFound());
            }
            return(View(product));
        }
コード例 #12
0
        public ActionResult UpdateCarProduct(UpdateCarProdutModel model)
        {
            bool       updatedProduct;
            string     errorMessage;
            CarProduct formProductData = null;

            try
            {
                if (model.IsValid(out errorMessage))
                {
                    // round price
                    model.Price = Math.Round(model.Price, 2);

                    using (ProductListContext productContext = new ProductListContext())
                    {
                        // update the product
                        productContext.UpdateCarProduct(model.ProductID,
                                                        model.Name,
                                                        model.Price,
                                                        model.Quantity,
                                                        model.Year,
                                                        model.Color,
                                                        model.SupplierID);

                        productContext.SaveChanges();
                    }

                    updatedProduct = true;
                }
                else
                {
                    // save form data for when we return
                    formProductData = new CarProduct
                    {
                        ProductID = model.ProductID,
                        Name      = model.Name,
                        Price     = model.Price,
                        Quantity  = model.Quantity,
                        Year      = model.Year,
                        Color     = model.Color
                    };

                    updatedProduct = false;
                }
            }
            catch (Exception e)
            {
                updatedProduct = false;
                errorMessage   = Errors.GenericMVCInternalError;
                ErrorLog.LogError(e);
            }

            ActionResult result;

            if (updatedProduct)
            {
                // Updated product, return to list
                ProductListModel viewModel = new ProductListModel
                {
                    AddedOrUpdatedProduct = true
                };

                result = RedirectToAction("Index", viewModel);
            }
            else
            {
                // Error, show message
                AddUpdateProductViewModel viewModel;

                using (ProductListContext productContext = new ProductListContext())
                {
                    viewModel = AddUpdateProductViewModel.GetModel(productContext, formProductData, ProductType.Car, errorMessage);
                }

                result = View("AddUpdateProduct", viewModel);
            }

            return(result);
        }
コード例 #13
0
        public async Task <IActionResult> AddMultipleProducts()
        {
            var productList = new List <ProductModel>();

            var excelFile = Request.Form.Files.FirstOrDefault(x => x.FileName.Contains(".xlsx"));

            if (excelFile != null)
            {
                var package   = new ExcelPackage(excelFile.OpenReadStream());
                var worksheet = package.Workbook.Worksheets.FirstOrDefault();

                for (int i = worksheet.Dimension.Start.Row + 1; i < worksheet.Dimension.End.Row + 1; i++)
                {
                    var row = worksheet.Cells[i, 1, i, 9].ToArray();

                    if (row != null && row.Length > 0)
                    {
                        string PartNumber   = row[0].Text;
                        var    existingPart = await _context.Products.FirstOrDefaultAsync(x => x.PartNumber == PartNumber);

                        if (existingPart == null)
                        {
                            string     Name        = row[1].Text;
                            string     Description = row[2].Value.ToString();
                            BrandModel Brand       = await _context.Brand.FirstOrDefaultAsync(x => x.Name.Replace(" ", "").ToUpper() == row[3].Text.Replace(" ", "").ToUpper());

                            PartTypeEnum PartType = (PartTypeEnum)Enum.Parse(typeof(PartTypeEnum), row[4].Text);
                            decimal      Price    = decimal.Parse(row[5].Text);

                            string CarMake  = row[6].Text;
                            string CarModel = row[7].Text;
                            var    carFound = await _context.Car.FirstOrDefaultAsync(x => x.Make.Replace(" ", "").Replace("-", "").ToUpper() == CarMake.Replace(" ", "").Replace("-", "").ToUpper() &&
                                                                                     x.Model.Replace(" ", "").Replace("-", "").ToUpper() == CarModel.Replace(" ", "").Replace("-", "").ToUpper());

                            CarModel Car = null;

                            if (carFound != null)
                            {
                                Car = carFound;
                            }
                            else
                            {
                                Car = new CarModel
                                {
                                    Make  = CarMake,
                                    Model = CarModel
                                };
                                _context.Car.Add(Car);
                                await _context.SaveChangesAsync();
                            }

                            string Years = (string.IsNullOrEmpty(row[8].Text) || row[8].Text.ToUpper() == "ALL") ? null : row[8].Text.ToUpper().Replace(" ", "").Replace("-", " - ").Replace("UP", "Present");

                            var Product = new ProductModel
                            {
                                PartNumber  = PartNumber,
                                Name        = Name,
                                Description = Description,
                                Brand       = Brand,
                                PartType    = PartType,
                                Price       = Price,
                                Years       = Years,
                                Shipping    = await CalculateShippingAsync(Price)
                            };

                            CarProduct CarProduct = new CarProduct
                            {
                                CarId     = Car.CarId,
                                Car       = Car,
                                ProductId = Product.PartId,
                                Product   = Product
                            };

                            Product.CarProducts = new List <CarProduct>();
                            Product.CarProducts.Add(CarProduct);

                            Product.DateAdded = DateTime.UtcNow;

                            productList.Add(Product);
                        }
                    }
                    else
                    {
                        i = 999999;
                    }
                }
                _context.Products.AddRange(productList);
            }

            var imagesUploaded = 0;
            var allImages      = Request.Form.Files.Where(x => !x.FileName.Contains(".xlsx"));
            var productNumbers = allImages.Select(x => x.FileName.Split('(')[0]).Distinct();
            var products       = new List <ProductModel>();

            foreach (var productNumber in productNumbers)
            {
                var product = await _context.Products.Include(x => x.Images).FirstOrDefaultAsync(x => x.PartNumber.ToUpper() == productNumber.ToUpper());

                if (product != null)
                {
                    var newImageList = new List <ImageModel>();

                    foreach (var image in allImages.Where(x => x.FileName.ToUpper().Contains(product.PartNumber.ToUpper())))
                    {
                        newImageList.Add(new ImageModel
                        {
                            Name        = image.FileName.Split('.')[0],
                            Description = image.FileName,
                            Bytes       = ConvertToBytes(image)
                        });
                    }

                    product.Images = newImageList;
                }
            }

            await _context.SaveChangesAsync();

            TempData["Message"] = $"Successfully added {productList.Count} products to the store. Successfully uploaded {imagesUploaded} images.";

            return(RedirectToAction("AddProduct", new { section = "PART" }));
        }
コード例 #14
0
 /// <summary>
 /// Wywołuje procedurę FixCarProduct.
 /// </summary>
 /// <param name="carService">Szukany serwis.</param>
 /// <param name="carProduct">Szukany samochód.</param>
 public void CallFixCarProductProcedure(CarService carService, CarProduct carProduct)
 {
     this.DB.FixCarProduct(carService.Id, carProduct.Id);
     this.DB.Refresh(RefreshMode.StoreWins, this.DB.HandledCarProducts);
 }