function dragNdropPunch($src_punch_id, $dst_punch_id, $dst_status_id = NULL, $position = 0, $action = 0, $dst_date = NULL)
 {
     if (!$this->getPermissionObject()->Check('punch', 'enabled') or !($this->getPermissionObject()->Check('punch', 'add') and ($this->getPermissionObject()->Check('punch', 'delete') or $this->getPermissionObject()->Check('punch', 'delete_child') or $this->getPermissionObject()->Check('punch', 'delete_own')))) {
         return $this->getPermissionObject()->PermissionDenied();
     }
     return $this->returnHandler(PunchControlFactory::dragNdropPunch($this->getCurrentCompanyObject()->getId(), $src_punch_id, $dst_punch_id, $dst_status_id, $position, $action, $dst_date));
 }