/// <summary>
        /// </summary>
        protected override void ExcuteSelf()
        {
            try
            {
                List <Account> nextOperators = new List <Account>();
                foreach (OutApplicationItem item in _OutApplication.Item)
                {
                    Account nextOperator;
                    bool    ans =
                        ApproveOutApplicationItem.ApproveOneItem(item, _IsAgree, _Account, _OutApplication, _Remark,
                                                                 _DalOutApplication, _OutDiyProcess, item.Adjust, false, item.AdjustHour, out nextOperator);

                    if (ans)
                    {
                        new OutMailAndPhoneDelegate().ConfirmOperation(_OutApplication.PKID, item.ItemID, nextOperator,
                                                                       _Account);
                        if (!RequestUtility.ContinsAccount(nextOperators, nextOperator))
                        {
                            nextOperators.Add(nextOperator);
                        }
                    }
                }
                foreach (Account account in nextOperators)
                {
                    new OutMailAndPhoneDelegate().ConfirmOperationMail(_OutApplication.PKID, account, _Account);
                }
            }
            catch
            {
                HrmisUtility.ThrowException(HrmisUtility._DbError);
            }
        }