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)); }
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)); }
// 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)); }
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)); }
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)); }
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)); }
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)); }