public async Task <Formation> AddAsync(string name, string abreviation, Guid createdBy) { if (_formationRepository.GetByNameAsync(name).Result != null || _formationRepository.GetByAbreviationAsync(abreviation).Result != null) { throw new RepartException("formation_already_exist", $"Une formation semble déjà exister ({name}, {abreviation.ToUpperInvariant()})"); } var formation = new Domain.Models.Formation(name, abreviation); var formationHistory = new Domain.Models.FormationHistory(createdBy, formation); await _formationRepository.AddAsync(formation); await _formationHistoryRepository.AddAsync(formationHistory); return(MapFormation(formation)); }
private async Task <FormationWithHistory> MapFormationWithHistory(Domain.Models.Formation formation) => new FormationWithHistory(formation.Id, formation.Name, formation.Abreviation, (await _formationHistoryRepository.GetListAsync(formation.Id)).Select(MapFormationHistory));
private static Formation MapFormation(Domain.Models.Formation formation) => new Formation(formation.Id, formation.Name, formation.Abreviation);