Drag and drop swap items

I’m following this tutorial


Everything is working, but you aren’t able to drag items into occupied slots. How can I make items swap slots when dragged into each other?

public void OnDrop(PointerEventData eventData){
	if(!item){
		DragHandler.itemBeingDragged.transform.SetParent(transform);
		ExecuteEvents.ExecuteHierarchy<IHasChanged>(gameObject, null, (x,y) => x.HasChanged());
	}else{
		Transform aux = DragHandler.itemBeingDragged.transform.parent; 
		DragHandler.itemBeingDragged.transform.SetParent(transform); 
		DragHandler.itemBeingDragged.transform.SetParent(aux);
	}
}

Look at this asset.
link text