コード例 #1
0
        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));
        }
コード例 #2
0
        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));
        }
コード例 #3
0
        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));
        }
コード例 #4
0
        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));
        }
コード例 #5
0
        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));
        }