public void DeletePerson(int personInternalId) { var serviceInstanceQuery = ServiceInstances.Where(a => a.InternalParentId == personInternalId); if (serviceInstanceQuery.Any()) { foreach (var serviceInstance in serviceInstanceQuery) { DeleteServiceInstance(serviceInstance.InternalId); } } var personFollowUpQuery = PersonFollowUps.Where(a => a.InternalParentId == personInternalId); if (personFollowUpQuery.Any()) { foreach (var personFollowUp in personFollowUpQuery) { DeletePersonFollowUp(personFollowUp.InternalId); } } DeletePersonCustomValues(personInternalId); var personQuery = People.Where(a => a.InternalId == personInternalId); if (personQuery.Any()) { People.RemoveRange(personQuery); } }
public virtual void Run() { ServiceInstances .Where(kv => kv.Value is IExecService) .Select(kv => new { a = Attr.Get <ExecOrderAttribute>(GetServiceType(kv.Key)), s = (IExecService)kv.Value }) .OrderBy(t => t.a.Order) .ForEach(t => t.s.Run()); }
// Deletes (calls require SaveChanges() from usage) public void DeleteServiceInstance(int serviceInstanceInternalId) { var serviceInstanceQuery = ServiceInstances.Where(a => a.InternalId == serviceInstanceInternalId); if (serviceInstanceQuery.Any()) { ServiceInstances.RemoveRange(serviceInstanceQuery); } }