private void CheckResidenceCensusDate() { if (FactDate.IsKnown && CensusDate.IsCensusYear(FactDate, true) && !CensusDate.IsCensusYear(FactDate, false)) { // residence isn't a normal census year but it is a census year if tolerate is on if (CensusDate.IsCensusCountry(FactDate, Location) || !Location.IsKnownCountry) { // this.FactErrorNumber = (int) FamilyTree.Dataerror.RESIDENCE_CENSUS_DATE; this.FactErrorLevel = Fact.FactError.WARNINGALLOW; this.FactErrorMessage = "Warning : Residence date " + FactDate + " is in a census year but doesn't overlap census date."; if (!Properties.GeneralSettings.Default.TolerateInaccurateCensusDate) { this.FactErrorMessage += " This would be accepted as a census fact with Tolerate slightly inaccurate census dates option."; } } } }
private void CheckCensusDate(string tag) { FactDate yearAdjusted = FactDate; // check if census fails to overlaps a census date if ((tag == "Census 1841" && !FactDate.Overlaps(CensusDate.UKCENSUS1841)) || (tag == "Census 1851" && !FactDate.Overlaps(CensusDate.UKCENSUS1851)) || (tag == "Census 1861" && !FactDate.Overlaps(CensusDate.UKCENSUS1861)) || (tag == "Census 1871" && !FactDate.Overlaps(CensusDate.UKCENSUS1871)) || (tag == "Census 1881" && !FactDate.Overlaps(CensusDate.UKCENSUS1881)) || (tag == "Census 1891" && !FactDate.Overlaps(CensusDate.UKCENSUS1891)) || (tag == "Census 1901" && !FactDate.Overlaps(CensusDate.UKCENSUS1901)) || (tag == "Census 1911" && !FactDate.Overlaps(CensusDate.UKCENSUS1911)) || (tag == "Census 1939" && !FactDate.Overlaps(CensusDate.UKCENSUS1939)) || (tag == "Census" && !CensusDate.IsUKCensusYear(FactDate, false)) || ((tag == "Lost Cousins" || tag == "LostCousins") && !CensusDate.IsLostCousinsCensusYear(FactDate, false)) && FactDate.DateString.Length >= 4) { // if not a census overlay then set date to year and try that instead string year = FactDate.DateString.Substring(FactDate.DateString.Length - 4); int result = 0; if (Int32.TryParse(year, out result)) { yearAdjusted = new FactDate(year); if (Properties.GeneralSettings.Default.TolerateInaccurateCensusDate) { // this.FactErrorNumber = (int)FamilyTree.Dataerror.RESIDENCE_CENSUS_DATE; this.FactErrorMessage = "Warning: Inaccurate Census date '" + FactDate + "' treated as '" + yearAdjusted + "'"; this.FactErrorLevel = Fact.FactError.WARNINGALLOW; } else { // this.FactErrorNumber = (int)FamilyTree.Dataerror.RESIDENCE_CENSUS_DATE; this.FactErrorLevel = Fact.FactError.WARNINGIGNORE; this.FactErrorMessage = "Inaccurate Census date '" + FactDate + "' fact ignored in strict mode. Check for incorrect date entered or try Tolerate slightly inaccurate census date option."; } } } if ((tag == "Census 1841" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1841)) || (tag == "Census 1851" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1851)) || (tag == "Census 1861" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1861)) || (tag == "Census 1871" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1871)) || (tag == "Census 1881" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1881)) || (tag == "Census 1891" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1891)) || (tag == "Census 1901" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1901)) || (tag == "Census 1911" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1911)) || (tag == "Census 1939" && !yearAdjusted.Overlaps(CensusDate.UKCENSUS1939))) { this.FactErrorMessage = "UK Census fact error date '" + FactDate + "' doesn't match '" + tag + "' tag. Check for incorrect date entered."; this.FactErrorLevel = FactError.ERROR; // this.FactErrorNumber = (int)FamilyTree.Dataerror.CENSUS_COVERAGE; return; } if (tag == "Census" || tag == "LostCousins" || tag == "Lost Cousins") { TimeSpan ts = FactDate.EndDate - FactDate.StartDate; if (ts.Days > 3650) { // this.FactErrorNumber = (int)FamilyTree.Dataerror.CENSUS_COVERAGE; this.FactErrorLevel = FactError.ERROR; this.FactErrorMessage = "Date covers more than one census."; return; } } if (tag == "Census") { if (!CensusDate.IsCensusYear(yearAdjusted, false)) { // this.FactErrorNumber = (int)FamilyTree.Dataerror.CENSUS_COVERAGE; this.FactErrorMessage = "Census fact error date '" + FactDate + "' isn't a supported census date. Check for incorrect date entered or try Tolerate slightly inaccurate census date option."; this.FactErrorLevel = FactError.ERROR; return; } if (Properties.GeneralSettings.Default.TolerateInaccurateCensusDate && yearAdjusted.IsKnown && !CensusDate.IsCensusYear(yearAdjusted, true)) { // this.FactErrorNumber = (int)FamilyTree.Dataerror.CENSUS_COVERAGE; this.FactErrorMessage = "Warning : Census fact error date '" + FactDate + "' overlaps census date but is vague. Check for incorrect date entered."; this.FactErrorLevel = FactError.WARNINGALLOW; } if (!FactDate.Equals(yearAdjusted)) { FactDate = yearAdjusted; } } if (tag == "Lost Cousins" || tag == "LostCousins") { if (Properties.GeneralSettings.Default.TolerateInaccurateCensusDate && yearAdjusted.IsKnown && !CensusDate.IsLostCousinsCensusYear(yearAdjusted, true)) { // this.FactErrorNumber = (int)FamilyTree.Dataerror.CENSUS_COVERAGE; this.FactErrorMessage = "Lost Cousins fact error date '" + FactDate + "' overlaps Lost Cousins census year but is vague. Check for incorrect date entered."; this.FactErrorLevel = Fact.FactError.WARNINGALLOW; } if (!CensusDate.IsLostCousinsCensusYear(yearAdjusted, false)) { // this.FactErrorNumber = (int)FamilyTree.Dataerror.CENSUS_COVERAGE; this.FactErrorMessage = "Lost Cousins fact error date '" + FactDate + "' isn't a supported Lost Cousins census year. Check for incorrect date entered or try Tolerate slightly inaccurate census date option."; this.FactErrorLevel = Fact.FactError.ERROR; } if (!FactDate.Equals(yearAdjusted)) { FactDate = yearAdjusted; } } }