public async Task Create(Employee employee)
 {
     try
     {
         var employeeRecord = new EmployeeDbModel(employee);
         _dbContext.Add(employeeRecord);
         await _dbContext.SaveChangesAsync();
     }
     catch (DbUpdateConcurrencyException ex)
     {
         throw new InvalidEmployeeDataException("One or more employee records are being updated by another operation.", ex);
     }
 }
 public async Task Delete(string id)
 {
     try
     {
         var employeeRecord = new EmployeeDbModel {
             Id = id
         };
         _dbContext.Employees.Attach(employeeRecord);
         _dbContext.Employees.Remove(employeeRecord);
         await _dbContext.SaveChangesAsync();
     }
     catch (DbUpdateConcurrencyException ex)
     {
         throw new InvalidEmployeeDataException("One or more employee records are being updated by another operation.", ex);
     }
     catch (Exception ex)
     {
         throw;
     }
 }