public async Task <ManagerCoreModel> AddAsync(ManagerCoreModel manager) { Locker.EnterWriteLock(); try { if (await Managers.TryAddUniqueManagerAsync(manager).ConfigureAwait(false)) { await Managers.SaveAsync().ConfigureAwait(false); return(await GetAsync(await Managers.GetIdAsync(manager.LastName) .ConfigureAwait(false)).ConfigureAwait(false)); } else { throw new ArgumentException("Manager already exists!"); } } finally { if (Locker.IsWriteLockHeld) { Locker.ExitWriteLock(); } } }
public async Task <ManagerCoreModel> UpdateAsync(ManagerCoreModel manager) { Locker.EnterWriteLock(); try { if (await Managers.DoesManagerExistAsync(manager).ConfigureAwait(false)) { throw new ArgumentException("Manager already exists!"); } var result = Managers.Update(manager); await Managers.SaveAsync().ConfigureAwait(false); return(result); } finally { if (Locker.IsWriteLockHeld) { Locker.ExitWriteLock(); } } }
public async Task <ManagerCoreModel> UpdateAsync(ManagerCoreModel model) { return(await ManagerDbReaderWriter.UpdateAsync(model).ConfigureAwait(false)); }