public virtual async Task CreateAsync(TreeUnit treeUnit) { treeUnit.Code = await GetNextChildCodeAsync(treeUnit.ParentId); await ValidateTreeUnitAsync(treeUnit); await TreeUnitRepository.InsertAsync(treeUnit); }
protected virtual async Task ValidateTreeUnitAsync(TreeUnit treeUnit) { var siblings = (await FindChildrenAsync(treeUnit.ParentId)) .Where(ou => ou.Id != treeUnit.Id) .ToList(); if (siblings.Any(ou => ou.DisplayName == treeUnit.DisplayName)) { throw new UserFriendlyException(L("TreeUnitDuplicateDisplayNameWarning", treeUnit.DisplayName)); } }
public virtual async Task UpdateAsync(TreeUnit treeUnit) { await ValidateTreeUnitAsync(treeUnit); await TreeUnitRepository.UpdateAsync(treeUnit); }