Before exam

 using Microsoft.AspNetCore.Mvc;
using System.Collections.Generic;

namespace apiasp.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class ProductController : Controller
    {
        public static List<Product> Products = new List<Product>()
        {
            new Product { Id = 1, Name ="Rice", Price=3434.3},
            new Product { Id = 2, Name ="Sugar", Price=343},
            new Product { Id = 3, Name ="Salt", Price=444}
        };

        // GET api/product
        [HttpGet]
        public List<Product> GetProducts()
        {
            return Products;
        }

        // POST api/product
        [HttpPost]
        public IActionResult AddProduct([FromBody] Product product)
        {
            if (product == null)
            {
                return BadRequest("Product object is null");
            }

            Products.Add(product);
            return Ok(product);
        }

        // PUT api/product/5
        [HttpPut("{id}")]
        public IActionResult UpdateProduct(int id, [FromBody] Product product)
        {
            var existingProduct = Products.Find(p => p.Id == id);
            if (existingProduct == null)
            {
                return NotFound();
            }

            existingProduct.Name = product.Name;
            existingProduct.Price = product.Price;

            return Ok(existingProduct);
        }

        // DELETE api/product/5
        [HttpDelete("{id}")]
        public IActionResult DeleteProduct(int id)
        {
            var product = Products.Find(p => p.Id == id);
            if (product == null)
            {
                return NotFound();
            }

            Products.Remove(product);

            return Ok(product);
        }
    }
}

Product.cs:

namespace apiasp
{
    public class Product
    {
        public int Id { get; set; }
        public string? Name { get; set; }
        public double Price { get; set; }
    }
}

Procedure:

USE Bulky;

-- Select all records from the Categories table
SELECT * FROM Categories;

-- Create a stored procedure named AllRecords to select all records from the Categories table
CREATE PROCEDURE AllRecords
AS
BEGIN
    SELECT * FROM Categories;
END;

EXEC AllRecords;


EF:


Data = ApplicationDbContext.cs

using Bulky.Models;
using Microsoft.EntityFrameworkCore;

namespace Bulky.Data
{
    public class ApplicationDbContext : DbContext
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext>
            options): base(options)
        {
            
        }
        public DbSet <Category> Categories { get; set; }
    }
}

model = Category.cs

using System.ComponentModel.DataAnnotations;

namespace Bulky.Models
{
    public class Category
    {
        public int Id { get; set; }
        public string? Name { get; set; }
        public int DisplayOrder { get; set; }
    }
}

  "ConnectionStrings": {
    "DefaultConnection": "Server=ERYTYM\\SQLEXPRESS;Database=Bulky;Trusted_Connection=True;TrustServerCertificate=True;"
  }
}


builder.Services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("DefaultConnection")));

Comments