Files
PortBlog.API/PortBlog.API/Models/CvDto.cs
T

79 lines
2.6 KiB
C#

namespace PortBlog.API.Models
{
/// <summary>
/// CV details of the candidate
/// </summary>
public class CvDto
{
/// <summary>
/// The id of the cv
/// </summary>
public int ResumeId { get; set; }
/// <summary>
/// The title of the candidate
/// </summary>
public string Title { get; set; } = string.Empty;
/// <summary>
/// A brief description about the candidate
/// </summary>
public string About { get; set; } = string.Empty;
/// <summary>
/// Candidate's information
/// </summary>
public CandidateDto? Candidate { get; set; }
/// <summary>
/// Candidate's Social Media links
/// </summary>
public SocialLinksDto? SocialLinks { get; set; }
/// <summary>
/// Candidate's blog posts
/// </summary>
public ICollection<PostDto> Posts
{
get
{
return SocialLinks?.Posts ?? new List<PostDto>();
}
}
/// <summary>
/// The education details of the candidate
/// </summary>
public ICollection<AcademicDto> Academics { get; set; } = new List<AcademicDto>();
/// <summary>
/// The skills of the candidate
/// </summary>
public ICollection<SkillDto> Skills { get; set; } = new List<SkillDto>();
/// <summary>
/// The work experiences of the candidate
/// </summary>
public ICollection<ExperienceDto> Experiences { get; set; } = new List<ExperienceDto>();
/// <summary>
/// The certifications done by the candidate
/// </summary>
public ICollection<CertificationDto> Certifications { get; set; } = new List<CertificationDto>();
/// <summary>
/// The hobbies of the candidate
/// </summary>
public ICollection<HobbyDto> Hobbies { get; set; } = new List<HobbyDto>();
/// <summary>
/// The projects of the candidate
/// </summary>
public ICollection<ProjectDto> Projects { get; set; } = new List<ProjectDto>();
/// <summary>
/// The project categories of all the projects
/// </summary>
public ICollection<string> ProjectsCategories
{
get
{
var projectCategories = new List<string>();
foreach (var project in Projects)
{
projectCategories.AddRange(project.Categories);
}
return projectCategories.Distinct().ToList();
}
}
}
}