Created
July 7, 2011 12:13
-
-
Save devnetfx/1069385 to your computer and use it in GitHub Desktop.
Draft for Dossier
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Collections.Generic; | |
namespace Macto | |
{ | |
public class Dossier | |
{ | |
public Inmate Inmate { get; private set; } | |
public ICollection<Warrant> Warrants { get; set; } | |
public ICollection<Note> Notes { get; set; } | |
public bool IsFlagged { get; set; } | |
public ICollection<Flag> FlagReasons { get; set; } | |
public ICollection<SummaryNote> SummaryNotes { get; set; } | |
public Dossier() | |
{ | |
Warrants = new List<Warrant>(); | |
} | |
public static Dossier AcceptAnInmate(Inmate inmate, Warrant warrant) | |
{ | |
Dossier dossier = new Dossier(); | |
dossier.Inmate = inmate; | |
dossier.Warrants.Add(warrant); | |
return dossier; | |
} | |
} | |
public enum SummaryNote | |
{ | |
Suicidal, | |
FlightRisk, | |
IntelligenceAsset | |
} | |
public class Flag | |
{ | |
public string Reason { get; set; } | |
public FlagType FlagType { get; set; } | |
// Should Fix Reqiuired for Flag also be a enum? | |
public string FixRequired { get; set; } | |
public DateTime FlaggedDate { get; set; } | |
public bool IsFixed { get; set; } | |
public DateTime FixedDate { get; set; } | |
} | |
public enum FlagType | |
{ | |
Underage, | |
WarrantRequired, | |
WarrantExpired, | |
WarrantEnding, | |
CourtDate, | |
InvalidWarrantAuthority | |
} | |
public class Note | |
{ | |
public Officer ReportingOfficer { get; set; } | |
public string Reason { get; set; } | |
public ReportType ReportType { get; set; } | |
public string Report { get; set; } | |
public bool IsCliffNote { get; set; } | |
} | |
public enum ReportType | |
{ | |
Medical, | |
Intelligence, | |
Disciplinary | |
} | |
public class Officer | |
{ | |
public string Id { get; set; } | |
public OfficerRank Rank { get; set; } | |
public OfficerPosition Position { get; set; } | |
public string Name { get; set; } | |
} | |
public enum OfficerPosition | |
{ | |
PrisonCommander, | |
CellBlockCommander | |
} | |
public enum OfficerRank | |
{ | |
Commander, | |
Captain | |
} | |
} |
Removed AddXXX methods, Split OfficerType, Added Flag with FlagType, Added Summary Note
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Missing types are in Chris Sainty's gist - https://gist.github.com/1064230