using System; using AutoMapper; using BowlingEF.Context; using BowlingEF.Entities; using BowlingLib.Model; using BowlingRepository; using BowlingRepository.Interface; using Microsoft.EntityFrameworkCore; namespace BowlingService.Interfaces { public class PartieService:IpartieService { private readonly IpartieRepository _IpartieRepository; public PartieService(IpartieRepository ipartieRepository, IMapper mapper) { _IpartieRepository = ipartieRepository; _mapper = mapper; } public PartieService() { } private readonly IMapper _mapper; public async Task Add(PartieDTO _partie) { bool result = false; using (var context = new BowlingContext()) { PartieEntity entity = _mapper.Map(_partie); context.Parties.Add(entity); try { var data = await context.SaveChangesAsync(); result = data == 1; } catch (Exception ex) { Console.WriteLine(ex); throw; } } return result; } public async Task Delete(PartieEntity _partie) { return await _IpartieRepository.Delete(_partie); } public async Task> GetAll() { List result = new List(); using (var context = new BowlingContext()) { foreach (PartieEntity entity in await _IpartieRepository.GetAll()) { JoueurDTO joueur = _mapper.Map(entity.Joueur); List frames = new List(); foreach (FrameEntity frameEntity in entity.Frames) { FrameDTO frame = _mapper.Map(frameEntity); frames.Add(frame); } result.Add(_mapper.Map(entity)); } } return result.OrderBy(item => item.Date).ToList(); } public Task> GetAllWithDate(DateTime date) { throw new NotImplementedException(); } public Task GetDataWithName(string nom) { throw new NotImplementedException(); } public Task Update(PartieEntity _partie) { throw new NotImplementedException(); } public Task Add(PartieEntity _partie) { throw new NotImplementedException(); } } }