Advertisement

Advertisement

32Days Asp.net Core 6 App by Technology Keeda

 32Days Asp.net Core 6 App by Technology Keeda


Step 1. Create Asp.net Mvc core crud app MyAppWeb using code 1st approach.

Create Model
Category.cs

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace MyApp.Models
{
    public class Category
    {
        [Key]
        public int Id { get; set; }

        [Required]
        public string Name { get; set; }
        [DisplayName("Display Oder")]
        public int DisplayOder { get; set; }
        public DateTime CreatedDateTime { get; set; } = DateTime.Now;
    }
}

Install package or just copy n paste in right click on project go to edit file getting Item group in file
<ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.8" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.8">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.8" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.8">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.14" />
  </ItemGroup>

appsettings.json

,
  "ConnectionStrings": {
    "DefaultConnection": "Server=DESKTOP-JJDFFJA\\SQLEXPRESS; Database=Db_MyAppWeb1; Trusted_Connection=true; MultipleActiveResultSets=True;Encrypt=True;TrustServerCertificate=True"
  }

Program.cs

builder.Services.AddScoped<IUnitOfWork, UnitOfWork>();
builder.Services.AddDbContext<ApplicationDbContext>(options =>
{
    options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection"));
});

CategoryController.cs

using Microsoft.AspNetCore.Mvc;
using MyWebAp.Data;
using MyWebAp.Models;

namespace MyWebAp.Controllers
{
    public class CategoryController : Controller
    {
        private ApplicationDbContext _context;
        public CategoryController(ApplicationDbContext context)
        {
            _context = context;
        }
        public IActionResult Index()
        {
            IEnumerable<Category> categories = _context.Categories;
            return View(categories);
        }
        [HttpGet]
        public IActionResult Create()
        {

            return View();
        }
        [HttpPost]
        [ValidateAntiForgeryToken]
        public IActionResult Create(Category category)
        {
            if (ModelState.IsValid)
            {
                _context.Categories.Add(category);
                _context.SaveChanges();
                TempData["Sucess"] = "Category Created Sucessfully";
                return RedirectToAction("Index");
            }
            return View(category);
        }
        [HttpGet]
        public IActionResult Edit(int? id)
        {
            if (id == null || id == 0)
            {
                return NotFound();
            }
            var category = _context.Categories.Find(id);
            if (category == null)
            {
                return NotFound();
            }
            return View(category);
        }
        [HttpPost]
        [ValidateAntiForgeryToken]
        public IActionResult Edit(Category category)
        {
            if (ModelState.IsValid)
            {
                _context.Categories.Update(category);
                _context.SaveChanges();
                TempData["Sucess"] = "Category Updated Sucessfully";
                return RedirectToAction("Index");
            }
            return RedirectToAction("Index");
        }
        [HttpGet]
        public IActionResult Delete(int? id)
        {
            if (id == null || id == 0)
            {
                return NotFound();
            }
            var category = _context.Categories.Find(id);
            if (category == null)
            {
                return NotFound();
            }
            return View(category);
        }
        [HttpPost, ActionName("Delete")]
        [ValidateAntiForgeryToken]
        public IActionResult DeleteData(int? id)
        {
            var category = _context.Categories.Find(id);
            if (category == null)
            {
                return NotFound();
            }
            _context.Categories.Remove(category);
            _context.SaveChanges();
            TempData["Sucess"] = "Category Deleted Sucessfully";
            return RedirectToAction("Index");

            //return RedirectToAction("Index");
        }
    }
}


Right click on solution Create new Project select class library fie ( Project name- MyApp.Models)

create class library model file name- Catogry.cs (ya create kare ya drag n drop kre MyAppWeb k project model folder se model n error file ko drag n drop kre MyAppWeb project se phir namespace thik kare )

Catogry.cs  

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace MyApp.Models
{
    public class Category
    {
        [Key]
        public int Id { get; set; }

        [Required]
        public string Name { get; set; }
        [DisplayName("Display Oder")]
        public int DisplayOder { get; set; }
        public DateTime CreatedDateTime { get; set; } = DateTime.Now;
    }
}

Create MyApp.DataAccessLayer project & drag n drop Data folder from MyAppWeb project & create Infrastructure folder for Repository (sub folder IRepository  n Repository )





32Days Asp.net Core 6 App by Technology Keeda 32Days Asp.net Core 6 App by Technology Keeda Reviewed by Rikesh on July 13, 2023 Rating: 5

No comments:

Powered by Blogger.