diff options
| author | Kamen Mladenov <kamen.d.mladenov@protonmail.com> | 2021-04-09 19:51:35 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-09 19:51:35 +0300 |
| commit | 233f38915ba0079079233eff55434ef349c05c45 (patch) | |
| tree | 6c5f69017865bcab87355e910c87339453da1406 /src/DevHive.Services/Services/LanguageService.cs | |
| parent | f4a70c6430db923af9fa9958a11c2d6612cb52cc (diff) | |
| parent | a992357efcf1bc1ece81b95ecee5e05a0b73bfdc (diff) | |
| download | DevHive-main.tar DevHive-main.tar.gz DevHive-main.zip | |
Merge pull request #28 from Team-Kaleidoscope/devHEADv0.2mainheroku/main
Second stage: Complete
Diffstat (limited to 'src/DevHive.Services/Services/LanguageService.cs')
| -rw-r--r-- | src/DevHive.Services/Services/LanguageService.cs | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/src/DevHive.Services/Services/LanguageService.cs b/src/DevHive.Services/Services/LanguageService.cs deleted file mode 100644 index a6364d8..0000000 --- a/src/DevHive.Services/Services/LanguageService.cs +++ /dev/null @@ -1,89 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Threading.Tasks; -using AutoMapper; -using DevHive.Data.Interfaces.Repositories; -using DevHive.Data.Models; -using DevHive.Services.Interfaces; -using DevHive.Services.Models.Language; - -namespace DevHive.Services.Services -{ - public class LanguageService : ILanguageService - { - private readonly ILanguageRepository _languageRepository; - private readonly IMapper _languageMapper; - - public LanguageService(ILanguageRepository languageRepository, IMapper mapper) - { - this._languageRepository = languageRepository; - this._languageMapper = mapper; - } - - #region Create - public async Task<Guid> CreateLanguage(CreateLanguageServiceModel createLanguageServiceModel) - { - if (await this._languageRepository.DoesLanguageNameExistAsync(createLanguageServiceModel.Name)) - throw new ArgumentException("Language already exists!"); - - Language language = this._languageMapper.Map<Language>(createLanguageServiceModel); - bool success = await this._languageRepository.AddAsync(language); - - if (success) - { - Language newLanguage = await this._languageRepository.GetByNameAsync(createLanguageServiceModel.Name); - return newLanguage.Id; - } - else - return Guid.Empty; - } - #endregion - - #region Read - public async Task<ReadLanguageServiceModel> GetLanguageById(Guid id) - { - Language language = await this._languageRepository.GetByIdAsync(id); - - if (language == null) - throw new ArgumentException("The language does not exist"); - - return this._languageMapper.Map<ReadLanguageServiceModel>(language); - } - - public HashSet<ReadLanguageServiceModel> GetLanguages() - { - HashSet<Language> languages = this._languageRepository.GetLanguages(); - - return this._languageMapper.Map<HashSet<ReadLanguageServiceModel>>(languages); - } - #endregion - - #region Update - public async Task<bool> UpdateLanguage(UpdateLanguageServiceModel languageServiceModel) - { - bool langExists = await this._languageRepository.DoesLanguageExistAsync(languageServiceModel.Id); - bool newLangNameExists = await this._languageRepository.DoesLanguageNameExistAsync(languageServiceModel.Name); - - if (!langExists) - throw new ArgumentException("Language does not exist!"); - - if (newLangNameExists) - throw new ArgumentException("Language name already exists in our data base!"); - - Language lang = this._languageMapper.Map<Language>(languageServiceModel); - return await this._languageRepository.EditAsync(languageServiceModel.Id, lang); - } - #endregion - - #region Delete - public async Task<bool> DeleteLanguage(Guid id) - { - if (!await this._languageRepository.DoesLanguageExistAsync(id)) - throw new ArgumentException("Language does not exist!"); - - Language language = await this._languageRepository.GetByIdAsync(id); - return await this._languageRepository.DeleteAsync(language); - } - #endregion - } -} |
