public async Task <IActionResult> Edit(int id, BicycleModelViewModel bicycleModel)//[Bind("Id,Price,ModelName,ModelYear,BrandId,GenderId,CategoryId,Description")] BicycleModel bicycleModel) { if (id != bicycleModel.Id) { return(NotFound()); } if (ModelState.IsValid) { try { var tempBicycle = await _context.BicycleModels.Where(b => b.Id == bicycleModel.Id).FirstOrDefaultAsync(); tempBicycle.BrandId = bicycleModel.BrandId; tempBicycle.CategoryId = bicycleModel.CategoryId; tempBicycle.GenderId = bicycleModel.GenderId; tempBicycle.Description = bicycleModel.Description; tempBicycle.Id = bicycleModel.Id; tempBicycle.ModelName = bicycleModel.ModelName; tempBicycle.ModelYear = bicycleModel.ModelYear; tempBicycle.Price = bicycleModel.Price; tempBicycle.SizeColorModels = bicycleModel.SizeColorModels; if (bicycleModel.Image != null) { byte[] imageData = null; using (var binaryReader = new BinaryReader(bicycleModel.ImageFile.OpenReadStream())) { imageData = binaryReader.ReadBytes((int)bicycleModel.Image.Length); } tempBicycle.Image = imageData; } _context.Update(tempBicycle); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!BicycleModelExists(bicycleModel.Id)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } ViewData["BrandId"] = new SelectList(_context.Brands, "Id", "BrandName", bicycleModel.BrandId); ViewData["CategoryId"] = new SelectList(_context.Categories, "Id", "CategoryName", bicycleModel.CategoryId); ViewData["GenderId"] = new SelectList(_context.Genders, "Id", "GenderName", bicycleModel.GenderId); return(View(bicycleModel)); }
// GET: BicycleModels/Details/5 public async Task <IActionResult> CommonDetails(int?id) { if (id == null) { return(NotFound()); } var bm = await _context.BicycleModels .Include(b => b.Brand) .Include(b => b.Category) .Include(b => b.Gender) .Include(b => b.SizeColorModels) .Include($"{ nameof(DBBicyclesContext.SizeColorModels)}.{nameof(SizeColorModel.Bicycles)}") .FirstOrDefaultAsync(m => m.Id == id); BicycleModelViewModel viewModel = new BicycleModelViewModel { Brand = bm.Brand, Category = bm.Category, Description = bm.Description, Gender = bm.Gender, Image = bm.Image, ModelName = bm.ModelName, ModelYear = bm.ModelYear, Price = bm.Price, SizeColorModels = bm.SizeColorModels }; viewModel.Colors = bm.SizeColorModels.Select(s => _context.Colors.Find(s.ColorId)).Distinct().ToList(); viewModel.Sizes = bm.SizeColorModels.Select(s => _context.Sizes.Find(s.SizeId)).Distinct().ToList(); viewModel.Quantity = bm.SizeColorModels.Sum(s => s.Bicycles.Sum(b => b.Quantity)); if (bm == null) { return(NotFound()); } return(View(viewModel)); }
public IActionResult Create(BicycleModelViewModel bvm) { BicycleModel bicycleModel = new BicycleModel { BrandId = bvm.BrandId, CategoryId = bvm.CategoryId, GenderId = bvm.GenderId, Description = bvm.Description, Id = bvm.Id, ModelName = bvm.ModelName, ModelYear = bvm.ModelYear, Price = bvm.Price, SizeColorModels = bvm.SizeColorModels }; if (ModelState.IsValid) { if (bvm.Image != null) { byte[] imageData = null; using (var binaryReader = new BinaryReader(bvm.ImageFile.OpenReadStream())) { imageData = binaryReader.ReadBytes((int)bvm.Image.Length); } bicycleModel.Image = imageData; } _context.Add(bicycleModel); _context.SaveChanges(); return(RedirectToAction(nameof(Index))); } ViewData["BrandId"] = new SelectList(_context.Brands, "Id", "BrandName", bicycleModel.BrandId); ViewData["CategoryId"] = new SelectList(_context.Categories, "Id", "CategoryName", bicycleModel.CategoryId); ViewData["GenderId"] = new SelectList(_context.Genders, "Id", "GenderName", bicycleModel.GenderId); return(View(bicycleModel)); }