protected AbstractOrganisation(string name, TemporalRole trole, RegionInfo country, long controlRange, long influenceRange, ICitation citation, IAudit audit) { this.Country = country; Citation = citation; Audit = audit; this.Name = $"{name} {Size}"; this.Purposes = new List <TemporalRole>() { trole }; this.ZoneOfControl = new SimpleZone(controlRange * trole.Role.ControlFactor, 1.0 / trole.Role.ControlFactor); this.ZoneOfInfluence = new SimpleZone(influenceRange * trole.Role.InfluenceFactor, 1.0 / trole.Role.InfluenceFactor); this.Personel = new List <TemporalRole>(); this.Locations = new List <TemporalLocation>(); this.Hierarchy = new HashSet <TemporalChainOfCommand>(); }
public Division(string name, TemporalRole role, RegionInfo country, ICitation citation, IAudit audit) : base(name, role, country, DEFAULT_CONTROL_RANGE, DEFAULT_INFLUENCE_RANGE, citation, audit) { }
public void AddPurpose(TemporalRole purpose) { Purposes.Add(purpose); }
public void AddPersonel(TemporalRole appointment) { Personel.Add(appointment); }
public void AddAppointment(TemporalRole commandFirstDerbyshireYeomanry) { Appointments.Add(commandFirstDerbyshireYeomanry); }
private static List <Entry> SearchDataModel() { var entries = new List <Entry>(); var uk = new RegionInfo("en-UK"); var derby = new Municipality("Derby"); var catterick = new Municipality("Catterick"); var london = new Municipality("London"); var audit = new SimpleAudit("*****@*****.**"); var scrapBook = new SimplePublication("1st Derbyshire Yeomanry Scrapbook 1939 - 1947", new VariousAuthors(), new UnknownEditors(), new UnknownPublicationDateTime(), new SimplePublisher("Bemrose & Sons Ltd", new List <IPostalAddress>() { new SimplePostalAddress(derby, uk), new SimplePostalAddress(london, uk) } ) ); var mobilisationDate = new FuzzyDateTime(new DateTime(1939, 7, 29), "yyyy/MM/dd"); var veDay = new FuzzyDateTime(new DateTime(1945, 5, 8), "yyyy/MM/dd"); var armouredCar = new TemporalRole( new Reconnaissance(), new FuzzyDateRange( mobilisationDate), GetCitationPage(1, scrapBook), audit); var firstDerbyshireYeomanry = new Regiment("1st Derbyshire Yeomanry", armouredCar, uk, GetCitationPage(1, scrapBook), audit); var siddalsRoad = new SimplePostalAddress(null, new SimpleStreetAddress(91, "Siddals Road"), derby, null, null, uk, null, null); var siddalsRoadPosting = new TemporalLocation(siddalsRoad, new FuzzyDateRange(mobilisationDate), GetCitationPage(1, scrapBook), audit); firstDerbyshireYeomanry.AddLocation(siddalsRoadPosting); var mccHarrison = new Person("M.C.C", "Harrision", null, uk, GetCitationPage(2, scrapBook), audit); var commandFirstDerbyshireYeomanryPosting = new TemporalRole(new LieutenantColonel(firstDerbyshireYeomanry, mccHarrison), new FuzzyDateRange( new FuzzyDateTime(new DateTime(1939, 11, 7), "yyy/MM"), new FuzzyDateTime(new DateTime(1941, 4, 1), "yyy/MM") ), GetCitationPage(1, scrapBook), audit); firstDerbyshireYeomanry.AddPersonel(commandFirstDerbyshireYeomanryPosting); mccHarrison.AddAppointment(commandFirstDerbyshireYeomanryPosting); var ashbourneRoad = new SimplePostalAddress(null, new SimpleStreetAddress("Ashbourne Road"), derby, null, null, uk, null, null); var ashbourneRoadPosting = new TemporalLocation(ashbourneRoad, new FuzzyDateRange(new FuzzyDateTime(new DateTime(1939, 11, 1), "yyyy/MM"), new FuzzyDateTime(new DateTime(1940, 05, 1), "yyyy/MM")), GetCitationPage(2, scrapBook), audit); firstDerbyshireYeomanry.AddLocation(ashbourneRoadPosting); mccHarrison.AddLocation(ashbourneRoadPosting); var cavalryDivison = new TemporalRole( new Cavalry(), new FuzzyDateRange( mobilisationDate), GetCitationPage(4, scrapBook), audit); var catterickGarrision = new SimplePostalAddress(null, null, catterick, null, null, uk, null, null); var catterickGarrisionPosting = new TemporalLocation(catterickGarrision, new FuzzyDateRange(mobilisationDate, new FuzzyDateTime(new DateTime(1940, 05, 1), "yyyy/MM")), GetCitationPage(4, scrapBook), audit); var firstCavalryDivision = new Division("1st Cavalry", armouredCar, uk, GetCitationPage(4, scrapBook), audit); firstCavalryDivision.AddLocation(catterickGarrisionPosting); var cocFirstDerbyshireYeomanry = new TemporalChainOfCommand(firstCavalryDivision, firstDerbyshireYeomanry, new FuzzyDateRange(mobilisationDate, new FuzzyDateTime(new DateTime(1940, 05, 1), "yyyy/MM")), GetCitationPage(4, scrapBook), audit); firstCavalryDivision.AddHierarchy(cocFirstDerbyshireYeomanry); firstDerbyshireYeomanry.AddHierarchy(cocFirstDerbyshireYeomanry); var search = new FuzzyDateRange(new FuzzyDateTime(new DateTime(1939, 1, 1), "yyyy/MM/dd"), new FuzzyDateTime(new DateTime(1940, 12, 31), "yyyy/MM/dd")); var aSquadron = new Squadron("A", armouredCar, uk, GetCitationPage(7, scrapBook), audit); var bSquadron = new Squadron("B", armouredCar, uk, GetCitationPage(7, scrapBook), audit); var cSquadron = new Squadron("C", armouredCar, uk, GetCitationPage(7, scrapBook), audit); var dSquadron = new Squadron("D", armouredCar, uk, GetCitationPage(7, scrapBook), audit); EstablishChainOfCommand(firstDerbyshireYeomanry, aSquadron, mobilisationDate, veDay, GetCitationPage(4, scrapBook), audit); EstablishChainOfCommand(firstDerbyshireYeomanry, bSquadron, mobilisationDate, veDay, GetCitationPage(4, scrapBook), audit); EstablishChainOfCommand(firstDerbyshireYeomanry, cSquadron, mobilisationDate, veDay, GetCitationPage(4, scrapBook), audit); EstablishChainOfCommand(firstDerbyshireYeomanry, dSquadron, mobilisationDate, veDay, GetCitationPage(4, scrapBook), audit); var caistor = new Municipality("Caistor"); var talbotArms = new SimplePostalAddress(null, new SimpleStreetAddress("16 High Street"), caistor, null, new SimplePostalCode("LN7 6QF"), uk, null, null); var rotationStart = new DateTime(1939, 11, 27); var rotationEnd = new DateTime(1940, 5, 24); int rotation = 0; while (rotationStart < rotationEnd) { var talbotArmsPostingRotation = new TemporalLocation(talbotArms, new FuzzyDateRange(new FuzzyDateTime(rotationStart, "yyyy/MM/dd"), 14), GetCitationPage(2, scrapBook), audit); rotationStart = rotationStart.AddDays(14); int i = rotation % 4; switch (i) { case 0: aSquadron.AddLocation(talbotArmsPostingRotation); entries.Add(GetEntry(aSquadron, talbotArmsPostingRotation)); break; case 1: bSquadron.AddLocation(talbotArmsPostingRotation); entries.Add(GetEntry(bSquadron, talbotArmsPostingRotation)); break; case 2: cSquadron.AddLocation(talbotArmsPostingRotation); entries.Add(GetEntry(cSquadron, talbotArmsPostingRotation)); break; case 3: dSquadron.AddLocation(talbotArmsPostingRotation); entries.Add(GetEntry(dSquadron, talbotArmsPostingRotation)); break; } rotation++; } entries.Add(GetEntry(firstDerbyshireYeomanry, firstDerbyshireYeomanry.Locations[0])); entries.Add(GetEntry(firstDerbyshireYeomanry, firstDerbyshireYeomanry.Locations[1])); entries.Add(GetEntry(mccHarrison, mccHarrison.Locations[0])); entries.Add(GetEntry(firstCavalryDivision, firstCavalryDivision.Locations[0])); return(entries); }