58 lines
1.3 KiB
C#
58 lines
1.3 KiB
C#
public class Student
|
|
{
|
|
public Guid Id { get; set; }
|
|
public string FirstName { get; set; }
|
|
public string LastName { get; set; }
|
|
public DateTime Created { get; set; } = DateTime.Now;
|
|
|
|
public IColletion<Objective> Objectives { get; set; }
|
|
public ICollection<Goal> Goals { get; set; }
|
|
}
|
|
|
|
public class Goal
|
|
{
|
|
public Guid Id { get; set; }
|
|
public string Name { get; set; }
|
|
public DateTime Created { get; set; }
|
|
public DateTime? Started { get; set; }
|
|
}
|
|
|
|
public class Objective
|
|
{
|
|
public Guid Id { get; set; }
|
|
public string Name { get; set; }
|
|
public string Description { get; set; }
|
|
public DateTime Target { get; set; }
|
|
public Student Student { get; set; }
|
|
public ICollection<Event> Events { get; set; }
|
|
public ObjectiveType Type { get; set; }
|
|
}
|
|
|
|
public abstract class Event
|
|
{
|
|
public Guid Id { get; set; }
|
|
public DateTime StartDate { get; set; }
|
|
public DateTime? EndDate { get; set; }
|
|
public Objective Objective { get; set; }
|
|
}
|
|
|
|
public class YesNoEvent : Event
|
|
{
|
|
public bool Occurred { get; set; }
|
|
}
|
|
|
|
public class FrequencyEvent : Event
|
|
{
|
|
public int Instances { get; set; }
|
|
}
|
|
|
|
public enum ObjectiveType
|
|
{
|
|
[Description("Yes/No")]
|
|
YesNo = 0,
|
|
|
|
Percent = 1,
|
|
|
|
[Desciption("Frequency of behavior")]
|
|
Frequency = 2
|
|
} |