public InnovativeProduct SaveProduct(InnovativeProduct prod) { InnovativeProduct returnProd = null; if (prod.InnovativeProductID == 0) { context.InnovativeProducts.Add(prod); } else { returnProd = context.InnovativeProducts.Where(p => p.InnovativeProductID == prod.InnovativeProductID).SingleOrDefault(); if (returnProd != null) { returnProd.Continuity = prod.Continuity; returnProd.DevelopmentStage = prod.DevelopmentStage; returnProd.MarketNoveltyDegree = prod.MarketNoveltyDegree; returnProd.MarketShare = prod.MarketShare; returnProd.NoveltyDegree = prod.NoveltyDegree; returnProd.Prevalence = prod.Prevalence; returnProd.ProductionCyclePlace = prod.ProductionCyclePlace; returnProd.productName = prod.productName; returnProd.Description = prod.Description; returnProd.CreatorID = returnProd.CreatorID ?? prod.CreatorID; } } context.SaveChanges(); if (returnProd == null) { returnProd = context.InnovativeProducts.OrderByDescending(p => p.InnovativeProductID).First(); } return(returnProd); }
public IActionResult Edit(int id) { InnovativeProduct product = _productsRepository.InnovativeProducts .Where(p => p.InnovativeProductID == id) .FirstOrDefault(); ViewBag.Title = $"Изменение продукта: {product.productName}"; return(View(product)); }
public IActionResult Edit(InnovativeProduct product) { if (ModelState.IsValid) { product = _productsRepository.SaveProduct(product); } else { return(View(product)); } return(RedirectToAction("Product", new { id = product.InnovativeProductID })); }
public IActionResult DeleteProduct(int id) { InnovativeProduct product = _productRepository.DeleteProduct(id); if (product != null) { TempData["Message"] = $"Продукт '{product.productName}' успешно удален"; } else { TempData["Danger"] = "При удалении продукта произошла ошибка."; } return(RedirectToAction(nameof(Products))); }
public InnovativeProduct DeleteProduct(int prodID) { InnovativeProduct product = context.InnovativeProducts.Where(p => p.InnovativeProductID == prodID).SingleOrDefault(); if (product != null) { Certificate[] certificates = context.Certificates.Where(c => c.InnovativeProductID == prodID).ToArray(); context.Certificates.RemoveRange(certificates); context.InnovativeProducts.Remove(product); context.SaveChanges(); } return(product); }
public async Task <IActionResult> Product(int id) { User user = null; InnovativeProduct product = _productsRepository.InnovativeProducts.Where(p => p.InnovativeProductID == id).SingleOrDefault(); if (product != null) { user = await _userManager.FindByIdAsync(product.CreatorID); ViewBag.Title = $"Инновационный продукт: {product.productName}"; } else { return(new NotFoundResult()); } product.Certificates = _certificateRepository.Certificates.Where(c => c.InnovativeProductID == id).ToList(); return(View(new ProductViewModel { Product = product, User = user, CanEdit = (product.CreatorID == await HttpContext.GetCurrentUserIdAsync(_userManager) || HttpContext.User.IsInRole("Admin")) })); }