WIP: feature/Définition-des-entités-métier-et-interfaces #14

Closed
Blyssco wants to merge 7 commits from feature/Définition-des-entités-métier-et-interfaces into develop
5 changed files with 42 additions and 24 deletions
Showing only changes of commit 3a2958c706 - Show all commits

18
Domain/DTO/UpdateSpell.cs Normal file
View File

@ -0,0 +1,18 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Domain.DTO
{
public class UpdateSpell
{
public required Guid id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public string? Type { get; set; }
public string? Creator { get; set; }
public DateTime? CreationDate { get; set; }
}
}

View File

@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Domain.Entities
{
public class Magician
{
public Guid Id { get; private set; }
public required string Name { get; set; }
public required string Speciality { get; set; }
}
}

View File

@ -1,18 +1,12 @@
using System; namespace Domain.Entities
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Domain.Entities
{ {
public class Spell public class Spell
{ {
public Guid Id { get; set; } public Guid Id { get; private set; }

Peux-tu vérifier si ces imports sont vraiment nécessaires ? En général, on évite les imports inutiles pour garder le code propre

Peux-tu vérifier si ces imports sont vraiment nécessaires ? En général, on évite les imports inutiles pour garder le code propre

Corrigé, je ne nettoie pas assez mes pr avant de les nettoyer, c'est noté

Corrigé, je ne nettoie pas assez mes pr avant de les nettoyer, c'est noté
public required string Name { get; set; } public required string Name { get; set; }
public required string Type { get; set; } public required string Type { get; set; }
public required string Description { get; set; } public required string Description { get; set; }
public required string Creator { get; set; }
public required DateTime CreationDate { get; set; } public required DateTime CreationDate { get; set; }
public required Magician Magician { get; set; }
} }
Review

Penses-tu qu'il soit souhaitable qu'un code externe puisse modifier l'Id d'un Spell après sa création l'entité ne devrais pas etre private?

Penses-tu qu'il soit souhaitable qu'un code externe puisse modifier l'Id d'un Spell après sa création l'entité ne devrais pas etre private?
Review

Ce que je retiens de ce commentaire, faire attention à ce qui doit etre accessible en dehors de la classe ou non, en l'occurence, un id devrait etre accessible uniquement en get étant donné qu'il est unique et propre à l'entité, c'est noté

Ce que je retiens de ce commentaire, faire attention à ce qui doit etre accessible en dehors de la classe ou non, en l'occurence, un id devrait etre accessible uniquement en get étant donné qu'il est unique et propre à l'entité, c'est noté
} }

View File

@ -1,10 +1,4 @@
using System; namespace Domain.Filters
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Domain.Filters
{ {
public class SpellFilter public class SpellFilter
{ {

View File

@ -1,10 +1,6 @@
using Domain.Entities; using Domain.DTO;
using Domain.Entities;
using Domain.Filters; using Domain.Filters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Domain.Repositories namespace Domain.Repositories
{ {
@ -13,8 +9,8 @@ namespace Domain.Repositories
Task<ICollection<Spell>> GetAll(); Task<ICollection<Spell>> GetAll();
Task<Spell> GetSpellById(Guid id); Task<Spell> GetSpellById(Guid id);
Task<ICollection<Spell>> GetFilteredSpells(SpellFilter spellfilter); Task<ICollection<Spell>> GetFilteredSpells(SpellFilter spellfilter);
Task<Spell> UpdateSpell(Spell spell); Task<Spell> UpdateSpell(UpdateSpell updateSpellObject);
Task<string> DeleteSpell(Spell spell); Task<bool> DeleteSpell(Guid id);
Task<Spell> CreateSpell(Spell spell); Task<Spell> CreateSpell(Spell spell);
} }
} }
Review

Pourquoi passer un spell entier quand on gagner de la memoire en ne passant que l'id du spell, et des parametres optionnel pour ce qui doit etre modifier?

Pourquoi passer un spell entier quand on gagner de la memoire en ne passant que l'id du spell, et des parametres optionnel pour ce qui doit etre modifier?
Review

Afin de fix ceci, je vais créer une classe de style DTO (on peut avoir des dto coté domaine ?) qui elle va gérer les update avec des nullable

Afin de fix ceci, je vais créer une classe de style DTO (on peut avoir des dto coté domaine ?) qui elle va gérer les update avec des nullable