Added technology page

This commit is contained in:
2025-01-23 18:51:59 +01:00
parent 98fa1887c8
commit e884ec0207
18 changed files with 359 additions and 39 deletions

View File

@@ -1,20 +0,0 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
namespace Portfolio.Shared.Models;
public sealed class Language {
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; init; }
[MaxLength(255)]
public required string Label { get; set; }
[MaxLength(255)]
public required string Identifier { get; set; }
[MaxLength(255)]
public string? Suffix { get; set; }
}

View File

@@ -26,8 +26,8 @@ public sealed class Project {
public ProjectStatus Status { get; set; } = ProjectStatus.Finished;
[ForeignKey("languages")]
public List<Language> Languages { get; init; } = new();
[ForeignKey("technologies")]
public List<Technology> Languages { get; init; } = new();
public DateTime Created { get; init; } = DateTime.Now;

View File

@@ -10,13 +10,27 @@ public sealed class Technology {
[MaxLength(255)]
public required string Name { get; set; }
[MaxLength(255)]
public required string Identifier { get; set; }
[MaxLength(255)]
public string? Suffix { get; set; }
public TechnologyLevel Level { get; set; } = TechnologyLevel.Beginner;
public TechnologyType Type { get; set; } = TechnologyType.Language;
}
public enum TechnologyLevel : byte {
public enum TechnologyLevel {
Beginner = 0,
Intermediate = 1,
Professional = 2
}
}
public enum TechnologyType {
Language = 0,
Framework = 1,
Additional = 2
}