38 lines
860 B
C#
38 lines
860 B
C#
using System.ComponentModel.DataAnnotations;
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
namespace Portfolio.Shared.Models;
|
|
|
|
public sealed class Technology {
|
|
|
|
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
|
|
public int Id { get; init; }
|
|
|
|
[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 bool Featured { get; set; }
|
|
}
|
|
|
|
public enum TechnologyLevel {
|
|
Beginner = 0,
|
|
Intermediate = 1,
|
|
Professional = 2
|
|
}
|
|
|
|
public enum TechnologyType {
|
|
Language = 0,
|
|
Framework = 1,
|
|
Additional = 2
|
|
}
|