aboutsummaryrefslogtreecommitdiff
path: root/src/DevHive.Services
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-01-17 13:38:24 +0200
committertranstrike <transtrike@gmail.com>2021-01-17 13:38:24 +0200
commit83f63ad729d585d597bdcf0afc05b7d56344223e (patch)
treeede845ad2790fe6f6f975f3cc5d776782adecf59 /src/DevHive.Services
parentb4454f83c3b7d668fc8b18714a659b91576882be (diff)
downloadDevHive-83f63ad729d585d597bdcf0afc05b7d56344223e.tar
DevHive-83f63ad729d585d597bdcf0afc05b7d56344223e.tar.gz
DevHive-83f63ad729d585d597bdcf0afc05b7d56344223e.zip
Lang&Tech layers now return id on Create
Diffstat (limited to 'src/DevHive.Services')
-rw-r--r--src/DevHive.Services/Interfaces/ILanguageService.cs2
-rw-r--r--src/DevHive.Services/Interfaces/IPostService.cs4
-rw-r--r--src/DevHive.Services/Interfaces/ITechnologyService.cs2
-rw-r--r--src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs3
-rw-r--r--src/DevHive.Services/Services/LanguageService.cs14
-rw-r--r--src/DevHive.Services/Services/PostService.cs24
-rw-r--r--src/DevHive.Services/Services/TechnologyService.cs14
7 files changed, 45 insertions, 18 deletions
diff --git a/src/DevHive.Services/Interfaces/ILanguageService.cs b/src/DevHive.Services/Interfaces/ILanguageService.cs
index 4d16ea3..0df9a95 100644
--- a/src/DevHive.Services/Interfaces/ILanguageService.cs
+++ b/src/DevHive.Services/Interfaces/ILanguageService.cs
@@ -6,7 +6,7 @@ namespace DevHive.Services.Interfaces
{
public interface ILanguageService
{
- Task<bool> CreateLanguage(CreateLanguageServiceModel createLanguageServiceModel);
+ Task<Guid> CreateLanguage(CreateLanguageServiceModel createLanguageServiceModel);
Task<ReadLanguageServiceModel> GetLanguageById(Guid id);
diff --git a/src/DevHive.Services/Interfaces/IPostService.cs b/src/DevHive.Services/Interfaces/IPostService.cs
index dd886b4..4364c67 100644
--- a/src/DevHive.Services/Interfaces/IPostService.cs
+++ b/src/DevHive.Services/Interfaces/IPostService.cs
@@ -7,8 +7,8 @@ namespace DevHive.Services.Interfaces
{
public interface IPostService
{
- Task<bool> CreatePost(CreatePostServiceModel postServiceModel);
- Task<bool> AddComment(CreateCommentServiceModel commentServiceModel);
+ Task<Guid> CreatePost(CreatePostServiceModel postServiceModel);
+ Task<Guid> AddComment(CreateCommentServiceModel commentServiceModel);
Task<CommentServiceModel> GetCommentById(Guid id);
Task<PostServiceModel> GetPostById(Guid id);
diff --git a/src/DevHive.Services/Interfaces/ITechnologyService.cs b/src/DevHive.Services/Interfaces/ITechnologyService.cs
index 9e1e955..9c5661d 100644
--- a/src/DevHive.Services/Interfaces/ITechnologyService.cs
+++ b/src/DevHive.Services/Interfaces/ITechnologyService.cs
@@ -6,7 +6,7 @@ namespace DevHive.Services.Interfaces
{
public interface ITechnologyService
{
- Task<bool> Create(CreateTechnologyServiceModel technologyServiceModel);
+ Task<Guid> Create(CreateTechnologyServiceModel technologyServiceModel);
Task<CreateTechnologyServiceModel> GetTechnologyById(Guid id);
diff --git a/src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs b/src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs
index 3aa92ee..54d6838 100644
--- a/src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs
+++ b/src/DevHive.Services/Models/Post/Comment/BaseCommentServiceModel.cs
@@ -5,7 +5,8 @@ namespace DevHive.Services.Models.Post.Comment
public class BaseCommentServiceModel
{
public Guid Id { get; set; }
+ public Guid PostId { get; set; }
public Guid IssuerId { get; set; }
public string Message { get; set; }
}
-} \ No newline at end of file
+}
diff --git a/src/DevHive.Services/Services/LanguageService.cs b/src/DevHive.Services/Services/LanguageService.cs
index f457a31..e9c401e 100644
--- a/src/DevHive.Services/Services/LanguageService.cs
+++ b/src/DevHive.Services/Services/LanguageService.cs
@@ -21,15 +21,21 @@ namespace DevHive.Services.Services
#region Create
- public async Task<bool> CreateLanguage(CreateLanguageServiceModel createLanguageServiceModel)
+ 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 result = await this._languageRepository.AddAsync(language);
-
- return result;
+ 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
diff --git a/src/DevHive.Services/Services/PostService.cs b/src/DevHive.Services/Services/PostService.cs
index 6e83ad4..f2f60d1 100644
--- a/src/DevHive.Services/Services/PostService.cs
+++ b/src/DevHive.Services/Services/PostService.cs
@@ -26,21 +26,35 @@ namespace DevHive.Services.Services
}
//Create
- public async Task<bool> CreatePost(CreatePostServiceModel postServiceModel)
+ public async Task<Guid> CreatePost(CreatePostServiceModel postServiceModel)
{
Post post = this._postMapper.Map<Post>(postServiceModel);
- return await this._postRepository.AddAsync(post);
+ bool success = await this._postRepository.AddAsync(post);
+
+ if(success)
+ {
+ Post newPost = await this._postRepository.GetPostByIssuerAndTimeCreatedAsync(postServiceModel.IssuerId, postServiceModel.TimeCreated);
+ return newPost.Id;
+ }
+ else
+ return Guid.Empty;
}
- public async Task<bool> AddComment(CreateCommentServiceModel commentServiceModel)
+ public async Task<Guid> AddComment(CreateCommentServiceModel commentServiceModel)
{
commentServiceModel.TimeCreated = DateTime.Now;
Comment comment = this._postMapper.Map<Comment>(commentServiceModel);
- bool result = await this._postRepository.AddCommentAsync(comment);
+ bool success = await this._postRepository.AddCommentAsync(comment);
- return result;
+ if(success)
+ {
+ Comment newComment = await this._postRepository.GetCommentByIssuerAndTimeCreatedAsync(commentServiceModel.IssuerId, commentServiceModel.TimeCreated);
+ return newComment.Id;
+ }
+ else
+ return Guid.Empty;
}
//Read
diff --git a/src/DevHive.Services/Services/TechnologyService.cs b/src/DevHive.Services/Services/TechnologyService.cs
index 4e74c83..1b2f0ff 100644
--- a/src/DevHive.Services/Services/TechnologyService.cs
+++ b/src/DevHive.Services/Services/TechnologyService.cs
@@ -21,15 +21,21 @@ namespace DevHive.Services.Services
#region Create
- public async Task<bool> Create(CreateTechnologyServiceModel technologyServiceModel)
+ public async Task<Guid> Create(CreateTechnologyServiceModel technologyServiceModel)
{
if (await this._technologyRepository.DoesTechnologyNameExistAsync(technologyServiceModel.Name))
throw new ArgumentException("Technology already exists!");
Technology technology = this._technologyMapper.Map<Technology>(technologyServiceModel);
- bool result = await this._technologyRepository.AddAsync(technology);
-
- return result;
+ bool success = await this._technologyRepository.AddAsync(technology);
+
+ if(success)
+ {
+ Technology newTechnology = await this._technologyRepository.GetByNameAsync(technologyServiceModel.Name);
+ return newTechnology.Id;
+ }
+ else
+ return Guid.Empty;
}
#endregion