aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Web
diff options
context:
space:
mode:
authorDanail Dimitrov <danaildimitrov321@gmail.com>2020-12-16 22:29:27 +0200
committerDanail Dimitrov <danaildimitrov321@gmail.com>2020-12-16 22:29:27 +0200
commit1d696036bb0afa88a1a88da8dc8e5cfa9d2944cd (patch)
tree4f902005da65f7346a0a7d44a113514fee6fbf3a /src/DevHive.Web
parentbae749b5a0e53709a0a072f89105f300536561ad (diff)
downloadDevHive-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.cs3
-rw-r--r--src/DevHive.Web/Controllers/ErrorController.cs1
-rw-r--r--src/DevHive.Web/Controllers/LanguageController.cs44
-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.cs3
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