diff options
| author | Danail Dimitrov <danaildimitrov321@gmail.com> | 2020-12-16 22:29:27 +0200 |
|---|---|---|
| committer | Danail Dimitrov <danaildimitrov321@gmail.com> | 2020-12-16 22:29:27 +0200 |
| commit | 1d696036bb0afa88a1a88da8dc8e5cfa9d2944cd (patch) | |
| tree | 4f902005da65f7346a0a7d44a113514fee6fbf3a /src/DevHive.Web | |
| parent | bae749b5a0e53709a0a072f89105f300536561ad (diff) | |
| download | DevHive-1d696036bb0afa88a1a88da8dc8e5cfa9d2944cd.tar DevHive-1d696036bb0afa88a1a88da8dc8e5cfa9d2944cd.tar.gz DevHive-1d696036bb0afa88a1a88da8dc8e5cfa9d2944cd.zip | |
Refactored LanguageController and Language web models
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 |
