Beispiel #1
0
 public ActionResult CreateHDD([Bind(Include = "ProductId,TypeID,Manufacturer,Name,Price,Speed,Capacity,Description")] HDDViewModel product, HttpPostedFileBase uploadImage)
 {
     if (product.Price < 1)
     {
         ModelState.AddModelError(string.Empty, "Цена не может быть негативной");
     }
     if (ModelState.IsValid)
     {
         byte[] imageData = null;
         var    pr        = new Product {
             Manufacturer = product.Manufacturer, Name = product.Name, Price = product.Price, TypeID = ProductType.HDD, Description = product.Description
         };
         if (uploadImage != null)
         {
             using (var binaryReader = new BinaryReader(uploadImage.InputStream))
             {
                 imageData = binaryReader.ReadBytes(uploadImage.ContentLength);
                 pr.Image  = imageData;
             }
         }
         db.Product.Add(pr);
         db.SaveChanges();
         var hdd = new HDD {
             ProductId = pr.ProductId, Speed = product.Speed, Capacity = product.Capacity
         };
         db.HDD.Add(hdd);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(product));
 }
Beispiel #2
0
        public ActionResult Edit(int id)
        {
            var hdd = _hddService.GetHDD(id);

            if (hdd == null)
            {
                return(NotFound());
            }

            var model = new HDDViewModel()
            {
                Id   = hdd.Id,
                Name = hdd.Name,
                OuterMemoryInterfaceId  = hdd.OuterMemoryInterfaceId,
                MemorySize              = hdd.MemorySize,
                Description             = hdd.Description,
                OuterMemoryFormFactorId = hdd.OuterMemoryFormFactorId,
                BufferSize              = hdd.BufferSize,
                DataTransferSpeed       = hdd.DataTransferSpeed,
                ManufacturerId          = hdd.ManufacturerId,
                Price        = hdd.Price,
                Manufacturer = hdd.Manufacturer.Name,
                ImagePath    = "/Images/HDD/" + hdd.Image,
            };
            var outerMemoryInterfaces = _outerMemoryInterfaceService.GetOuterMemoryInterfaces();

            ViewBag.OuterMemoryInterfaces = new SelectList(outerMemoryInterfaces, "Id", "Name");
            var outerMemoryFormFactors = _outerMemoryFormFactorService.GetOuterMemoryFormFactors();

            ViewBag.OuterMemoryFormFactors = new SelectList(outerMemoryFormFactors, "Id", "Name");
            var manufacturers = _manufacturerService.GetManufacturers();

            ViewBag.Manufacturers = new SelectList(manufacturers, "Id", "Name");
            return(View("Edit", model));
        }
Beispiel #3
0
        // GET: HDD/Details/5
        public ActionResult PartialDetails(int id)
        {
            var hdd = _hddService.GetHDD(id);

            if (hdd == null)
            {
                return(NotFound());
            }
            var model = new HDDViewModel()
            {
                Id                       = hdd.Id,
                Name                     = hdd.Name,
                Description              = hdd.Description,
                ShortDescription         = string.IsNullOrEmpty(hdd.Description) ? "" : CreateShortDescription(hdd.Description),
                DataTransferSpeed        = hdd.DataTransferSpeed,
                DataTransferSpeedDisplay = hdd.DataTransferSpeed + " МБ/c",
                BufferSize               = hdd.BufferSize,
                BufferSizeDisplay        = hdd.BufferSize + " МБ",
                MemorySize               = hdd.MemorySize,
                MemorySizeDisplay        = CreateMemoryDescription(hdd.MemorySize),
                OuterMemoryFormFactorId  = hdd.OuterMemoryFormFactorId,
                OuterMemoryFormFactor    = hdd.OuterMemoryFormFactor.Name,
                OuterMemoryInterfaceId   = hdd.OuterMemoryInterfaceId,
                OuterMemoryInterface     = hdd.OuterMemoryInterface.Name,
                ManufacturerId           = hdd.ManufacturerId,
                Manufacturer             = hdd.Manufacturer.Name,
                ImagePath                = "/Images/HDD/" + hdd.Image,
                Price                    = hdd.Price
            };

            return(PartialView("PartialDetails", model));
        }
Beispiel #4
0
        public ActionResult Edit(HDDViewModel model)
        {
            var hdd = _hddService.GetHDD(model.Id);

            if (hdd == null)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                hdd.Name = model.Name;
                hdd.OuterMemoryInterfaceId  = model.OuterMemoryInterfaceId;
                hdd.MemorySize              = model.MemorySize;
                hdd.Description             = model.Description;
                hdd.OuterMemoryFormFactorId = model.OuterMemoryFormFactorId;
                hdd.BufferSize              = model.BufferSize;
                hdd.DataTransferSpeed       = model.DataTransferSpeed;
                hdd.ManufacturerId          = model.ManufacturerId;
                hdd.Price = model.Price;

                if (model.Image != null)
                {
                    var helper = new ImageHelper(_webHostEnvironment);
                    var image  = helper.GetUploadedFile(model.Image, "HDD");
                    hdd.Image = image;
                }

                var result = _hddService.UpdateHDD(hdd);

                model.Id    = hdd.Id;
                model.Image = null;

                if (result.Succedeed)
                {
                    return(View("../Catalog/Index", new { startView = "HDD" }));
                }

                return(NotFound(result));
            }
            var outerMemoryInterfaces = _outerMemoryInterfaceService.GetOuterMemoryInterfaces();

            ViewBag.OuterMemoryInterfaces = new SelectList(outerMemoryInterfaces, "Id", "Name");
            var outerMemoryFormFactors = _outerMemoryFormFactorService.GetOuterMemoryFormFactors();

            ViewBag.OuterMemoryFormFactors = new SelectList(outerMemoryFormFactors, "Id", "Name");
            var manufacturers = _manufacturerService.GetManufacturers();

            ViewBag.Manufacturers = new SelectList(manufacturers, "Id", "Name");
            return(View("Edit", model));
        }
Beispiel #5
0
        public ActionResult HDDDetails(int?id)
        {
            HDDViewModel hdd = new HDDViewModel
            {
                ProductId    = (int)id,
                TypeID       = db.Product.Find(id).TypeID,
                Manufacturer = db.Product.Find(id).Manufacturer,
                Name         = db.Product.Find(id).Name,
                Price        = db.Product.Find(id).Price,
                Speed        = db.HDD.Find(id).Speed,
                Capacity     = db.HDD.Find(id).Capacity,
                Image        = db.Product.Find(id).Image,
                Description  = db.Product.Find(id).Description
            };

            return(View(hdd));
        }
Beispiel #6
0
        public IActionResult Create(HDDViewModel model)
        {
            if (ModelState.IsValid)
            {
                var helper = new ImageHelper(_webHostEnvironment);
                var image  = helper.GetUploadedFile(model.Image, "HDD");
                var hdd    = new HDD()
                {
                    Name = model.Name,
                    OuterMemoryInterfaceId  = model.OuterMemoryInterfaceId,
                    MemorySize              = model.MemorySize,
                    Description             = model.Description,
                    OuterMemoryFormFactorId = model.OuterMemoryFormFactorId,
                    BufferSize              = model.BufferSize,
                    DataTransferSpeed       = model.DataTransferSpeed,
                    ManufacturerId          = model.ManufacturerId,
                    Price = model.Price,
                    Image = image
                };

                var result = _hddService.CreateHDD(hdd);

                model.Id    = hdd.Id;
                model.Image = null;

                if (result.Succedeed)
                {
                    return(View("../Catalog/Index", new { startView = "HDD" }));
                }

                return(NotFound(result));
            }
            var outerMemoryInterfaces = _outerMemoryInterfaceService.GetOuterMemoryInterfaces();

            ViewBag.OuterMemoryInterfaces = new SelectList(outerMemoryInterfaces, "Id", "Name");
            var outerMemoryFormFactors = _outerMemoryFormFactorService.GetOuterMemoryFormFactors();

            ViewBag.OuterMemoryFormFactors = new SelectList(outerMemoryFormFactors, "Id", "Name");
            var manufacturers = _manufacturerService.GetManufacturers();

            ViewBag.Manufacturers = new SelectList(manufacturers, "Id", "Name");
            return(View(model));
        }
Beispiel #7
0
 public ActionResult HDDEdit([Bind(Include = "ProductId,TypeID,Manufacturer,Name,Price,Speed,Capacity,Description,Image")] HDDViewModel product, HttpPostedFileBase uploadImage)
 {
     if (product.Price < 1)
     {
         ModelState.AddModelError(string.Empty, "Цена не может быть негативной");
     }
     if (ModelState.IsValid)
     {
         byte[] imageData = null;
         if (uploadImage != null)
         {
             using (var binaryReader = new BinaryReader(uploadImage.InputStream))
             {
                 imageData     = binaryReader.ReadBytes(uploadImage.ContentLength);
                 product.Image = imageData;
             }
         }
         Product newP = new Product
         {
             ProductId    = product.ProductId,
             Manufacturer = product.Manufacturer,
             Name         = product.Name,
             Price        = product.Price,
             TypeID       = product.TypeID,
             Image        = product.Image,
             Description  = product.Description
         };
         HDD newH = new HDD
         {
             ProductId = product.ProductId,
             Capacity  = product.Capacity,
             Speed     = product.Speed
         };
         db.Entry(newP).State = EntityState.Modified;
         db.SaveChanges();
         db.Entry(newH).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(product));
 }