public async Task <IActionResult> Create(Page page) { if (ModelState.IsValid) { page.Slug = page.Title.ToLower().Replace(" ", "-"); page.Sorting = 100; var slug = await context.Pages.FirstOrDefaultAsync(x => x.Slug == page.Slug); if (slug != null) { ModelState.AddModelError("", "The page already exists."); return(View(page)); } context.Add(page); await context.SaveChangesAsync(); TempData["Success"] = "The page has been created!"; return(RedirectToAction("Index")); } return(View(page)); }
public async Task <IActionResult> Create(Page page) { if (ModelState.IsValid) { page.Slug = page.Title.ToLower().Replace(" ", "-"); page.Sorting = 100; var slug = await context.Pages.FirstOrDefaultAsync(x => x.Slug == page.Slug); if (slug != null) { ModelState.AddModelError("", "A Page with this title already exists"); return(View(page)); } context.Add(page); await context.SaveChangesAsync(); TempData["Success"] = $"New page '{page.Title}' has been added"; return(RedirectToAction("Index")); } else { string messages = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); ModelState.AddModelError("", messages); } return(View(page)); }
public async Task <IActionResult> Create(Category category) { if (ModelState.IsValid) { category.Sorting = 100; if (!await AddSlug(category)) { return(View(category)); } context.Add(category); await context.SaveChangesAsync(); TempData["Success"] = $"New category '{category.Name}' has been added."; return(RedirectToAction("Index")); } else { string messages = string.Join("; ", ModelState.Values .SelectMany(x => x.Errors) .Select(x => x.ErrorMessage)); ModelState.AddModelError("", messages); } return(View(category)); }
public async Task <IActionResult> Create(Category category) { if (ModelState.IsValid) { category.Slug = category.Name.ToLower() .Replace(" ", "-"); category.Sorting = 100; var slug = await context.Categories.FirstOrDefaultAsync(x => x.Slug == category.Slug) .ConfigureAwait(false); if (slug != null) { ModelState.AddModelError("", "The category already exists!"); return(View(category)); } context.Add(category); await context.SaveChangesAsync(); TempData["Success"] = "The category has been added!"; return(RedirectToAction("Index")); } return(View(category)); }
public async Task <IActionResult> Create(Product product) { ViewBag.Categories = new SelectList(context.Categories.OrderBy(x => x.Sorting), "Id", "Name"); if (ModelState.IsValid) { product.Slug = product.Name.ToLower() .Replace(" ", "-"); var slug = await context.Products.FirstOrDefaultAsync(x => x.Slug == product.Slug); if (slug != null) { ModelState.AddModelError("", "The product already exists!"); return(View(product)); } string imageName = "noimage.png"; if (product.ImageUpload != null) { string uploadsDir = Path.Combine(webHostEnvironment.WebRootPath, "media/products"); imageName = Guid.NewGuid().ToString() + "_" + product.ImageUpload.FileName; string filePath = Path.Combine(uploadsDir, imageName); FileStream fs = new FileStream(filePath, FileMode.Create); await product.ImageUpload.CopyToAsync(fs).ConfigureAwait(false); fs.Close(); } product.Image = imageName; context.Add(product); await context.SaveChangesAsync().ConfigureAwait(false); TempData["Success"] = "The product has been added!"; return(RedirectToAction("Index")); } return(View(product)); }