fix conflicts
continuous-integration/drone/push Build is passing Details

pull/42/head
Ismail TAHA JANAN 2 years ago
parent 4eff48d394
commit 31a58200a4

@ -0,0 +1,108 @@
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()
{
return await _context.Customers.ToListAsync();
}
// GET: api/Customers/5
[HttpGet("{id}")]
public async Task<ActionResult<Customer>> GetCustomer(long id)
{
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)
{
_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)
{
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);
}
}
}

@ -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;
}
}

@ -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;
}
}

@ -0,0 +1,16 @@
using AutoMapper;
using cat_cafe.Dto;
using cat_cafe.Entities;
namespace cat_cafe.Mappers
{
public class CustomerMapper:Profile
{
public CustomerMapper()
{
CreateMap<Customer, CustomerDto>().ReverseMap();
}
}
}

@ -10,6 +10,8 @@ builder.Services.AddDbContext<CatContext>(opt =>
opt.UseInMemoryDatabase("CatCafe")); opt.UseInMemoryDatabase("CatCafe"));
builder.Services.AddDbContext<BarContext>(opt => builder.Services.AddDbContext<BarContext>(opt =>
opt.UseInMemoryDatabase("CatCafe")); opt.UseInMemoryDatabase("CatCafe"));
builder.Services.AddDbContext<CustomerContext>(opt =>
opt.UseInMemoryDatabase("CatCafe"));
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer(); builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(); builder.Services.AddSwaggerGen();

@ -0,0 +1,14 @@
using System;
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!;
}
}

@ -1,6 +0,0 @@
namespace cat_cafe.Services
{
public class CatsService
{
}
}
Loading…
Cancel
Save