public async Task <bool> ImplementProcess() { if (_data == null || _data.Count() <= 0) { return(true); } var tasks = new List <Task <bool> >(); if (TargetType.Invoke().Equals(typeof(LocalPushUpdating))) { foreach (var element in _data) { tasks.Add(UpdateProcessing.UpdateWhenStatusOfElementChangeToDeletedAsync(element, _repository)); } } else { foreach (var element in _data) { tasks.Add(UpdateProcessing.ReGenerateElementBelowLocalAsync(element, _repository)); } } await Task.WhenAll(tasks); return(true); }