diff options
| author | Danail Dimitrov <danaildimitrov321@gmail.com> | 2020-12-15 22:00:15 +0200 |
|---|---|---|
| committer | Danail Dimitrov <danaildimitrov321@gmail.com> | 2020-12-15 22:00:15 +0200 |
| commit | 30205791de8989f136eeafe652c9ab900855369d (patch) | |
| tree | b687c945eb6b36e73eb1c4d640e1dbba19d48751 /src | |
| parent | 13c74f612f392630d162746f939cf99b208ca4c2 (diff) | |
| download | DevHive-30205791de8989f136eeafe652c9ab900855369d.tar DevHive-30205791de8989f136eeafe652c9ab900855369d.tar.gz DevHive-30205791de8989f136eeafe652c9ab900855369d.zip | |
Adding LanguageController (Implemented all Language layers)
Diffstat (limited to 'src')
5 files changed, 81 insertions, 0 deletions
diff --git a/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs b/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs new file mode 100644 index 0000000..9a394eb --- /dev/null +++ b/src/DevHive.Web/Configurations/Mapping/LanguageMappings.cs @@ -0,0 +1,15 @@ +using AutoMapper; +using DevHive.Web.Models.Language; +using DevHive.Services.Models.Language; + +namespace DevHive.Web.Configurations.Mapping +{ + public class LanguageMappings : Profile + { + public LanguageMappings() + { + CreateMap<CreateLanguageWebModel, LanguageServiceModel>(); + CreateMap<UpdateLanguageWebModel, LanguageServiceModel>(); + } + } +}
\ No newline at end of file diff --git a/src/DevHive.Web/Controllers/LanguageController.cs b/src/DevHive.Web/Controllers/LanguageController.cs new file mode 100644 index 0000000..0109cbc --- /dev/null +++ b/src/DevHive.Web/Controllers/LanguageController.cs @@ -0,0 +1,48 @@ +using System; +using System.Threading.Tasks; +using AutoMapper; +using DevHive.Data.Repositories; +using DevHive.Services.Models.Language; +using DevHive.Services.Services; +using DevHive.Web.Models.Language; +using Microsoft.AspNetCore.Mvc; + +namespace DevHive.Web.Controllers +{ + [ApiController] + [Route("/api/[controller]")] + public class LanguageController + { + private readonly LanguageService _languageService; + private readonly IMapper _languageMapper; + + public LanguageController(DevHiveContext context, IMapper mapper) + { + this._languageService = new LanguageService(context, mapper); + this._languageMapper = mapper; + } + + [HttpPost] + public Task<IActionResult> Create(CreateLanguageWebModel createLanguageWebModel) + { + LanguageServiceModel languageServiceModel = this._languageMapper.Map<LanguageServiceModel>(createLanguageWebModel); + + return this._languageService.CreateLanguage(languageServiceModel); + } + + [HttpGet] + public Task<IActionResult> GetById(Guid id) + { + return this._languageService.GetLanguageById(id); + } + + + [HttpPut] + public Task<IActionResult> Update(UpdateLanguageWebModel updateLanguageWebModel) + { + LanguageServiceModel languageServiceModel = this._languageMapper.Map<LanguageServiceModel>(updateLanguageWebModel); + + return this._languageService.UpdateLanguage(languageServiceModel); + } + } +}
\ No newline at end of file diff --git a/src/DevHive.Web/Controllers/RoleController.cs b/src/DevHive.Web/Controllers/RoleController.cs index fb26594..8ccc1c6 100644 --- a/src/DevHive.Web/Controllers/RoleController.cs +++ b/src/DevHive.Web/Controllers/RoleController.cs @@ -19,6 +19,7 @@ namespace DevHive.Web.Controllers public RoleController(DevHiveContext context, IMapper mapper) { this._service = new RoleService(context, mapper); + this._roleMapper = mapper; } [HttpPost] diff --git a/src/DevHive.Web/Models/Language/CreateLanguageWebModel.cs b/src/DevHive.Web/Models/Language/CreateLanguageWebModel.cs new file mode 100644 index 0000000..dbba4cd --- /dev/null +++ b/src/DevHive.Web/Models/Language/CreateLanguageWebModel.cs @@ -0,0 +1,7 @@ +namespace DevHive.Web.Models.Language +{ + public class CreateLanguageWebModel + { + public string Name { get; set; } + } +}
\ No newline at end of file diff --git a/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs b/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs new file mode 100644 index 0000000..95804b0 --- /dev/null +++ b/src/DevHive.Web/Models/Language/UpdateLanguageWebModel.cs @@ -0,0 +1,10 @@ +using System; + +namespace DevHive.Web.Models.Language +{ + public class UpdateLanguageWebModel + { + public Guid Id { get; set; } + public string NewName { get; set; } + } +}
\ No newline at end of file |
