School Commit Init

This commit is contained in:
2024-08-31 12:07:21 +03:00
commit 0b130ee18c
2801 changed files with 4720552 additions and 0 deletions
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Answer
{
public int answerId { get; set; }
public string answerText { get; set; }
public int questionId { get; set; }
public bool isCorrect { get; set; }
// Navigation properties
[JsonIgnore]
public virtual Question? Question { get; set; }
}
}
@@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class AnswerDTO
{
public string AnswerText { get; set; }
public bool IsCorrect { get; set; }
}
}
@@ -0,0 +1,25 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class AssessmentResult
{
public int assesmentResultId { get; set; }
public int assesmentTestId { get; set; }
public int score { get; set; }
public int userId { get; set; }
public DateTime testDate { get; set; }
//Navigation properties
[JsonIgnore]
public AssessmentTest ?AssessmentTest { get; set; }
[JsonIgnore]
public User ?User { get; set; }
}
}
@@ -0,0 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class AssessmentTest
{
public int assessmentTestId { get; set;}
public string testName { get; set; }
public int userId { get; set; }
public string description { get; set; }
public int skillid { get; set; }
// Navigation properties
[JsonIgnore]
public virtual User ?User { get; set; }
[JsonIgnore]
public virtual Skill ?Skill { get; set; }
[JsonIgnore]
public virtual AssessmentResult ?AssessmentResult { get; set; }
}
}
@@ -0,0 +1,16 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class AssessmentTestDTO
{
public string TestName { get; set; }
public string Description { get; set; }
public List<QuestionDTO> Questions { get; set; }
public string SkillTested { get; set; }
}
}
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class BusinessCard
{
public int bcId { get; set;}
public int userId { get; set; }
public string summary { get; set; }
public string uniqueUrl { get; set; }
//Navigation properties
[JsonIgnore]
public User ?User { get; set; }
[JsonIgnore]
public ICollection<Skill> ?keySkills { get; set; }
}
}
@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Certificate
{
public int certificateId { get; set; }
public string name { get; set; }
public string issuedBy { get; set; }
public string description { get; set; }
public DateTime issuedDate { get; set; }
public DateTime expirationDate { get; set; }
public int userId { get; set; }
// Navigation properties
[JsonIgnore]
public virtual User? User { get; set; }
}
}
@@ -0,0 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Education
{
public int educationId { get; set;}
public int userId { get; set; }
public string degree { get; set; }
public string institution { get; set; }
public string fieldOfStudy { get; set; }
public DateTime graduationDate { get; set; }
public double gPA;
// Navigation properties
[JsonIgnore]
public virtual User ?User { get; set; }
}
}
@@ -0,0 +1,26 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Endorsement
{
public int endorsementId { get; set; }
public int endorserId { get; set; }
public int recipientid { get; set; }
public int skillId { get; set; }
//navigation properties
[JsonIgnore]
public virtual User? Endorser { get; set; }
[JsonIgnore]
public virtual User? Recipient { get; set; }
}
}
@@ -0,0 +1,21 @@
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Text.Json.Serialization;
namespace ProfessionalProfile.Domain
{
public class Notification
{
[Key]
public int notificationId { get; set;}
public int userId { get; set; }
public string activity { get; set; }
public DateTime timestamp { get; set; }
public string details { get; set; }
public bool isRead { get; set; }
// Navigation properties
[JsonIgnore]
public User? User { get; set; }
}
}
@@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Privacy
{
[Key]
public int Id { get; set; }
public int userId { get; set; }
public bool CanViewEducation { get; set; }
public bool CanViewWorkExperience { get; set; }
public bool CanViewSkills { get; set; }
public bool CanViewProjects { get; set; }
public bool CanViewCertificates { get; set; }
public bool CanViewVolunteering { get; set; }
//navigation properties
[JsonIgnore]
public virtual User? User { get; set; }
}
}
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Project
{
public int projectId { get; set;}
public string projectName { get; set; }
public string description { get; set; }
public string technologies { get; set; }
public int userId { get; set; }
//Navigation properties
[JsonIgnore]
public User? User { get; set; }
}
}
@@ -0,0 +1,20 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Question
{
public int questionId { get; set; }
public string questionText { get; set; }
public int assesmentTestId { get; set; }
// Navigation properties
[JsonIgnore]
public virtual AssessmentTest ?AssessmentTest { get; set; }
}
}
@@ -0,0 +1,17 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class QuestionDTO
{
public string QuestionText { get; set; }
public List<AnswerDTO> Answers { get; set; }
public AnswerDTO CorrectAnswer { get; set; }
}
}
@@ -0,0 +1,21 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Skill
{
public int skillId { get; set;}
public string name { get; set; }
//navigation property
[JsonIgnore]
public ICollection<Endorsement>? endorsements { get; set;}
}
}
@@ -0,0 +1,39 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class User
{
public int userId { get; set; }
public string firstName { get; set; }
public string lastName { get; set; }
public string email { get; set; }
public string password { get; set; }
public string phone { get; set; }
public string summary { get; set; }
public DateTime dateOfBirth { get; set; }
public bool darkTheme { get; set; }
public string address { get; set; }
public string websiteURL { get; set; }
public string picture { get; set; }
// Navigation property for one-to-one relationship
[JsonIgnore]
public Privacy? Privacy { get; set; }
[JsonIgnore]
public ICollection<Notification>? Notifications { get; set; }
[JsonIgnore]
public AssessmentResult? AssessmentResult { get; set; }
[JsonIgnore]
public Project? Project { get; set; }
[JsonIgnore]
public Volunteering? Volunteering { get; set; }
[JsonIgnore]
public WorkExperience? WorkExperience { get; set; }
}
}
@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class Volunteering
{
public int volunteeringId { get; set; }
public int userId { get; set; }
public string organisation { get; set; }
public string role { get; set; }
public string description { get; set; }
//Navigation properties
[JsonIgnore]
public User? User { get; set; }
}
}
@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.Json.Serialization;
using System.Threading.Tasks;
namespace ProfessionalProfile.Domain
{
public class WorkExperience
{
public int workId { get; set; }
public int userId { get; set; }
public string jobTitle { get; set; }
public string company { get; set; }
public string location { get; set; }
public string employmentPeriod { get; set; }
public string responsibilities { get; set; }
public string achievements { get; set; }
public string description { get; set; }
//Navigation properties
[JsonIgnore]
public User? User { get; set; }
}
}