WIP: customer_branche #22

Closed
ismail.taha_janan wants to merge 4 commits from customer_branche into master

@ -0,0 +1,124 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using cat_cafe.Entities;
using cat_cafe.Repositories;
namespace cat_cafe.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class CustomersController : ControllerBase
{
private readonly CustomerContext _context;
public CustomersController(CustomerContext context)
{
_context = context;
}
// GET: api/Customers
[HttpGet]
public async Task<ActionResult<IEnumerable<Customer>>> GetCustomers()
{
if (_context.Customers == null)
{
return NotFound();
}
return await _context.Customers.ToListAsync();
}
// GET: api/Customers/5
[HttpGet("{id}")]
public async Task<ActionResult<Customer>> GetCustomer(long id)
{
if (_context.Customers == null)
{
return NotFound();
}
var customer = await _context.Customers.FindAsync(id);
if (customer == null)
{
return NotFound();
}
return customer;
}
// PUT: api/Customers/5
// To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754
[HttpPut("{id}")]
public async Task<IActionResult> PutCustomer(long id, Customer customer)
{
if (id != customer.Id)
{
return BadRequest();
}
_context.Entry(customer).State = EntityState.Modified;
try
{
await _context.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!CustomerExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return NoContent();
}
// POST: api/Customers
// To protect from overposting attacks, see https://go.microsoft.com/fwlink/?linkid=2123754
[HttpPost]
public async Task<ActionResult<Customer>> PostCustomer(Customer customer)
{
if (_context.Customers == null)
{
return Problem("Entity set 'CustomerContext.Customers' is null.");
}
_context.Customers.Add(customer);
await _context.SaveChangesAsync();
return CreatedAtAction("GetCustomer", new { id = customer.Id }, customer);
}
// DELETE: api/Customers/5
[HttpDelete("{id}")]
public async Task<IActionResult> DeleteCustomer(long id)
{
if (_context.Customers == null)
{
return NotFound();
}
var customer = await _context.Customers.FindAsync(id);
if (customer == null)
{
return NotFound();
}
_context.Customers.Remove(customer);
await _context.SaveChangesAsync();
return NoContent();
}
private bool CustomerExists(long id)
{
return (_context.Customers?.Any(e => e.Id == id)).GetValueOrDefault();
}
}
}

@ -0,0 +1,11 @@
using System;
Review

No need to use this Dto, please use the current version of CatDto (from master)

No need to use this Dto, please use the current version of `CatDto` (from `master`)
namespace cat_cafe.Dto
{
public class CatDto
{
public long Id { get; set; }
public string? Name { get; set; }
public int Age { get; set; } = 0;
}
}

@ -0,0 +1,11 @@
using System;
namespace cat_cafe.Dto
{
public class CustomerDto
{
public long Id { get; set; }
public string? FullName { get; set; }
public int Age { get; set; } = 0;
}
}

@ -6,6 +6,5 @@
public string? Name { get; set; }
public int Age { get; set; } = 0;
Review

No need to commit that, please use the current version of Cat (from master)

No need to commit that, please use the current version of `Cat` (from `master`)
}
}

@ -0,0 +1,11 @@
using System;
namespace cat_cafe.Entities
{
public class Customer
{
public long Id { get; set; }
public string? FullName { get; set; }
public int Age { get; set; } = 0;
}
}

@ -8,6 +8,8 @@ var builder = WebApplication.CreateBuilder(args);
builder.Services.AddControllers();
builder.Services.AddDbContext<CatContext>(opt =>
opt.UseInMemoryDatabase("CatCafe"));
builder.Services.AddDbContext<CustomerContext>(opt =>
opt.UseInMemoryDatabase("CatCafe"));
Review

Also add

builder.Services.AddDbContext<BarContext>(opt =>
opt.UseInMemoryDatabase("CatCafe"));

to resolve the conflict

Also add ``` builder.Services.AddDbContext<BarContext>(opt => opt.UseInMemoryDatabase("CatCafe")); ``` to resolve the conflict
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();

@ -1,4 +1,4 @@
{
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
@ -11,7 +11,6 @@
"profiles": {
"cat_cafe": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7229;http://localhost:5229",
@ -28,4 +27,4 @@
}
}
}
}
}

@ -0,0 +1,14 @@
using cat_cafe.Entities;
using Microsoft.EntityFrameworkCore;
namespace cat_cafe.Repositories
{
public class CustomerContext:DbContext
{
public CustomerContext(DbContextOptions<CustomerContext> options)
:base(options)
{}
public DbSet<Customer> Customers { get; set; } = null!;
}
}

@ -18,4 +18,10 @@
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
</ItemGroup>
<ItemGroup>
Review

Is this necessary?

I think you can delete lines 21 to 26 (included).

Is this necessary? I think you can delete lines 21 to 26 (included).
<None Remove="Mappers\" />
</ItemGroup>
<ItemGroup>
<Folder Include="Mappers\" />
</ItemGroup>
</Project>

Loading…
Cancel
Save