diff options
Diffstat (limited to 'src/DevHive.Web')
| -rw-r--r-- | src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs | 3 | ||||
| -rw-r--r-- | src/DevHive.Web/Controllers/ErrorController.cs | 1 | ||||
| -rw-r--r-- | src/DevHive.Web/Controllers/LanguageController.cs | 44 | ||||
| -rw-r--r-- | src/DevHive.Web/Models/Language/LanguageWebModel.cs (renamed from src/DevHive.Web/Models/Language/CreateLanguageWebModel.cs) | 2 | ||||
| -rw-r--r-- | src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs | 3 |
5 files changed, 39 insertions, 14 deletions
diff --git a/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs b/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs index 9a394eb..481d576 100644 --- a/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs +++ b/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs @@ -8,8 +8,9 @@ namespace DevHive.Web.Configurations.Mapping { public LanguageMappings() { - CreateMap<CreateLanguageWebModel, LanguageServiceModel>(); + CreateMap<LanguageWebModel, LanguageServiceModel>(); CreateMap<UpdateLanguageWebModel, LanguageServiceModel>(); + CreateMap<LanguageServiceModel, LanguageWebModel>(); } } }
\ No newline at end of file diff --git a/src/DevHive.Web/Controllers/ErrorController.cs b/src/DevHive.Web/Controllers/ErrorController.cs index 189b083..19fbb21 100644 --- a/src/DevHive.Web/Controllers/ErrorController.cs +++ b/src/DevHive.Web/Controllers/ErrorController.cs @@ -1,3 +1,4 @@ +using System; using System.Net.Http; using Microsoft.AspNetCore.Mvc; diff --git a/src/DevHive.Web/Controllers/LanguageController.cs b/src/DevHive.Web/Controllers/LanguageController.cs index 0109cbc..f6cd3e6 100644 --- a/src/DevHive.Web/Controllers/LanguageController.cs +++ b/src/DevHive.Web/Controllers/LanguageController.cs @@ -23,26 +23,50 @@ namespace DevHive.Web.Controllers } [HttpPost] - public Task<IActionResult> Create(CreateLanguageWebModel createLanguageWebModel) + public async Task<IActionResult> Create([FromBody] LanguageWebModel languageWebModel) { - LanguageServiceModel languageServiceModel = this._languageMapper.Map<LanguageServiceModel>(createLanguageWebModel); - - return this._languageService.CreateLanguage(languageServiceModel); + LanguageServiceModel languageServiceModel = this._languageMapper.Map<LanguageServiceModel>(languageWebModel); + + bool result = await this._languageService.CreateLanguage(languageServiceModel); + + if(!result) + return new BadRequestObjectResult("Could not create Language"); + + return new OkResult(); } [HttpGet] - public Task<IActionResult> GetById(Guid id) + public async Task<IActionResult> GetById(Guid id) { - return this._languageService.GetLanguageById(id); - } + LanguageServiceModel languageServiceModel = await this._languageService.GetLanguageById(id); + LanguageWebModel languageWebModel = this._languageMapper.Map<LanguageWebModel>(languageServiceModel); + return new OkObjectResult(languageWebModel); + } [HttpPut] - public Task<IActionResult> Update(UpdateLanguageWebModel updateLanguageWebModel) + public async Task<IActionResult> Update(Guid id, [FromBody] UpdateLanguageWebModel updateModel) { - LanguageServiceModel languageServiceModel = this._languageMapper.Map<LanguageServiceModel>(updateLanguageWebModel); + UpdateLanguageServiceModel updatelanguageServiceModel = this._languageMapper.Map<UpdateLanguageServiceModel>(updateModel); + updatelanguageServiceModel.Id = id; + + bool result = await this._languageService.UpdateLanguage(updatelanguageServiceModel); + + if(!result) + return new BadRequestObjectResult("Could not update Language"); + + return new OkResult(); + } + + [HttpDelete] + public async Task<IActionResult> Delete(Guid id) + { + bool result = await this._languageService.DeleteLanguage(id); + + if(!result) + return new BadRequestObjectResult("Could not delete Language"); - return this._languageService.UpdateLanguage(languageServiceModel); + return new OkResult(); } } }
\ No newline at end of file diff --git a/src/DevHive.Web/Models/Language/CreateLanguageWebModel.cs b/src/DevHive.Web/Models/Language/LanguageWebModel.cs index dbba4cd..1ec38f3 100644 --- a/src/DevHive.Web/Models/Language/CreateLanguageWebModel.cs +++ b/src/DevHive.Web/Models/Language/LanguageWebModel.cs @@ -1,6 +1,6 @@ namespace DevHive.Web.Models.Language { - public class CreateLanguageWebModel + public class LanguageWebModel { public string Name { get; set; } } diff --git a/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs b/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs index 95804b0..26eb6c2 100644 --- a/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs +++ b/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs @@ -2,9 +2,8 @@ using System; namespace DevHive.Web.Models.Language { - public class UpdateLanguageWebModel + public class UpdateLanguageWebModel : LanguageWebModel { public Guid Id { get; set; } - public string NewName { get; set; } } }
\ No newline at end of file |
