public override bool Update(Employee entity)
        {
            if (entity.Addresses != null)
            {
                var addressIdList       = entity.Addresses.Select(c => c.Id);
                var existingEmployee    = FindById(entity.Id);
                var updateableAddresses = entity.Addresses.Where(c => c.Id > 0);
                var addeableAddresses   = entity.Addresses.Where(c => c.Id == 0);
                var deleteableAddresses = existingEmployee.Addresses.Where(c => !addressIdList.Contains(c.Id));

                if (addeableAddresses != null)
                {
                    _addressManager.AddOrUpdate(addeableAddresses.ToList());
                }
                if (updateableAddresses != null)
                {
                    _addressManager.AddOrUpdate(updateableAddresses.ToList());
                }
            }

            return(_Repository.Update(entity));
        }