private bool processItem(XmlNode node) { int?guid = null; foreach (XmlNode attributeNode in node.ChildNodes) { if (attributeNode.Name == "guid") { if (int.TryParse(attributeNode.InnerText, out int nodeValue)) { guid = nodeValue; } } } if (guid == null) { return(false); } Incident incidentWithId = IncidentDatabase.Instance.Context.Incidents.FirstOrDefault(i => (i.ID == (int)guid)); if (incidentWithId != null) { return(false); } SingleIncidentProcessor sproc = new SingleIncidentProcessor((int)guid); return(sproc.Do()); }
public int Do() { int updated = 0; DateTime todayStart = DateTime.Now - DateTime.Now.TimeOfDay; TimeSpan maximalDifference = new TimeSpan(maximalAge, 0, 0, 0); DateTime lookupStart = todayStart - maximalDifference; int lookupStartTimestamp = lookupStart.UnixTimestamp(); List <Incident> incidentsToUpdate = new List <Incident>(); incidentsToUpdate.AddRange(IncidentDatabase.Instance.Context.Incidents.Where(i => (i.UpdateTimestamp >= lookupStartTimestamp))); foreach (Incident incident in incidentsToUpdate) { SingleIncidentProcessor sproc = new SingleIncidentProcessor(incident.ID); sproc.Do(force); } return(updated); }