diff --git a/cat_cafe/Controllers/BarsController.cs b/cat_cafe/Controllers/BarsController.cs index 6466b83..db7c6bc 100644 --- a/cat_cafe/Controllers/BarsController.cs +++ b/cat_cafe/Controllers/BarsController.cs @@ -9,6 +9,8 @@ using cat_cafe.Entities; using cat_cafe.Repositories; using AutoMapper; using cat_cafe.Dto; +using System.Collections; +using System.Xml.Linq; namespace cat_cafe.Controllers { @@ -18,18 +20,28 @@ namespace cat_cafe.Controllers { private readonly BarContext _context; private readonly IMapper _mapper; + private readonly ILogger _logger; - public BarsController(BarContext context,IMapper mapper) + public BarsController(BarContext context,IMapper mapper, ILogger logger) { _context = context; _mapper = mapper; + _logger = logger; } // GET: api/Bars [HttpGet] public async Task>> GetBars() { - var bars = await _context.Bars.ToListAsync(); + var bars = _context.Bars + .Include(a => a.cats) + .Select(a => new Bar + { + Id = a.Id, + Name = a.Name, + cats = a.cats.Select(p => new Cat { Name = p.Name, Age = p.Age, Id= p.Id}).ToList() + }) + .ToList(); return _mapper.Map>(bars); } @@ -37,14 +49,21 @@ namespace cat_cafe.Controllers [HttpGet("{id}")] public async Task> GetBar(long id) { - var bar = await _context.Bars.FindAsync(id); + var bar = _context.Bars.Include(p => p.cats) + .Select(a => new Bar + { + Id = a.Id, + Name = a.Name, + cats = a.cats.Select(p => new Cat { Name = p.Name, Age = p.Age, Id = p.Id }).ToList() + + }).FirstOrDefaultAsync(p => p.Id == id); if (bar == null) { return NotFound(); } - return _mapper.Map(bar); + return _mapper.Map(bar.Result); } // PUT: api/Bars/5 @@ -83,7 +102,10 @@ namespace cat_cafe.Controllers [HttpPost] public async Task> PostBar(BarDto barDto) { - Bar bar = _mapper.Map(barDto); + // Bar bar = _mapper.Map(barDto); + var bar = _mapper.Map(barDto); + + _context.Bars.Add(bar); await _context.SaveChangesAsync(); diff --git a/cat_cafe/Dto/CatDto.cs b/cat_cafe/Dto/CatDto.cs index 86cf631..354e814 100644 --- a/cat_cafe/Dto/CatDto.cs +++ b/cat_cafe/Dto/CatDto.cs @@ -5,5 +5,6 @@ namespace cat_cafe.Dto { public long Id { get; set; } public string? Name { get; set; } + public int Age { get; set; } } } diff --git a/cat_cafe/Mappers/BarMapper.cs b/cat_cafe/Mappers/BarMapper.cs index 9a5e110..cb89d24 100644 --- a/cat_cafe/Mappers/BarMapper.cs +++ b/cat_cafe/Mappers/BarMapper.cs @@ -1,5 +1,6 @@ using System; using AutoMapper; +using cat_cafe.Dto; using cat_cafe.Entities; namespace cat_cafe.Mappers @@ -8,7 +9,9 @@ namespace cat_cafe.Mappers { public BarMapper() { - CreateMap().ReverseMap(); + + // var mapper = config.CreateMapper(); + CreateMap().ReverseMap(); } } } diff --git a/cat_cafe/log.txt b/cat_cafe/log.txt index 839ce7d..b50aa8e 100644 --- a/cat_cafe/log.txt +++ b/cat_cafe/log.txt @@ -1 +1,28 @@ 2023-01-21 09:37:45.148 +01:00 [INF] program start +2023-01-28 08:16:52.320 +01:00 [INF] program start +2023-01-28 08:30:32.772 +01:00 [INF] program start +2023-01-28 08:31:51.147 +01:00 [INF] program start +2023-01-28 08:35:42.533 +01:00 [INF] program start +2023-01-28 08:37:29.403 +01:00 [INF] program start +2023-01-28 08:38:02.513 +01:00 [INF] program start +2023-01-28 08:38:24.151 +01:00 [INF] program start +2023-01-28 08:39:11.319 +01:00 [INF] program start +2023-01-28 08:54:25.005 +01:00 [INF] program start +2023-01-28 08:55:19.776 +01:00 [INF] program start +2023-01-28 08:57:05.150 +01:00 [INF] POST => post customer +2023-01-28 08:57:05.326 +01:00 [INF] POST => 201 cat_cafe.Entities.Customer {"Id":1,"FullName":"string","Age":0} +2023-01-28 08:57:13.908 +01:00 [INF] GET => get All customers +2023-01-28 08:57:13.997 +01:00 [INF] GET => 200 System.Collections.Generic.List`1[cat_cafe.Entities.Customer] length[1] +2023-01-28 08:58:25.856 +01:00 [INF] program start +2023-01-28 09:05:05.071 +01:00 [INF] program start +2023-01-28 09:13:54.542 +01:00 [INF] program start +2023-01-28 09:17:54.058 +01:00 [INF] program start +2023-01-28 09:24:15.797 +01:00 [INF] program start +2023-01-28 09:26:42.943 +01:00 [INF] program start +2023-01-28 09:31:25.523 +01:00 [INF] program start +2023-01-28 09:38:42.245 +01:00 [INF] program start +2023-01-28 09:40:40.846 +01:00 [INF] program start +2023-01-28 09:49:33.194 +01:00 [INF] program start +2023-01-28 09:52:36.098 +01:00 [INF] program start +2023-01-28 09:56:02.340 +01:00 [INF] program start +2023-01-28 09:57:05.155 +01:00 [INF] program start