public virtual Task <int> Insert(TEntity entity, bool isSave = true) { _unitOfWork.RegisterNew(entity); var query = isSave ? _unitOfWork.Commit() : 0; var taskSource = new TaskCompletionSource <int>(); taskSource.SetResult(query); return(taskSource.Task); }