system-praktyk-api/src/InternshipSystem.Core/Entity/Internship/Internship.cs
2020-08-29 17:25:48 +02:00

50 lines
1.6 KiB
C#

using System.Collections.Generic;
using System.Linq;
using InternshipSystem.Core.ValueObject;
namespace InternshipSystem.Core
{
public class Internship
{
public long Id { get; set; }
public Student Student { get; set; }
public InternshipRegistration InternshipRegistration { get; set; }
public InternshipProgram InternshipProgram { get; set; }
public Report Report { get; set; }
public List<Document> Approvals { get; set; }
public List<Document> Documentation { get; set; }
public float? Grade { get; set; }
public void UpdateDocument(Document document)
{
var oldDocument = Documentation.First(d => d.Id == document.Id);
oldDocument.Description = document.Description;
oldDocument.Scan = document.Scan;
oldDocument.Type = document.Type;
oldDocument.State = DocumentState.Submitted;
}
public void AddNewDocument(Document document)
{
document.State = DocumentState.Submitted;
Documentation.Add(document);
}
public static Internship CreateStudentsInternship(Student student)
{
var internship = new Internship();
internship.Student = student;
internship.InternshipRegistration = InternshipRegistration.Create();
internship.InternshipProgram = InternshipProgram.Create();
internship.Report = Report.Create();
internship.Approvals = new List<Document>();
internship.Documentation = new List<Document>();
return internship;
}
}
}