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);
            }
        }
예제 #2
0
 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);
            }
        }