/// <summary> /// </summary> public List <OutApplication> GetConfirmOutApplicationByNextOperatorID(int accountID) { List <OutApplication> OutApplicationList = _OutApplicationDal.GetNeedConfirmOutApplication(); List <OutApplication> returnlist = new List <OutApplication>(); foreach (OutApplication application in OutApplicationList) { bool error = false; foreach (OutApplicationItem item in application.Item) { Account nextOperator = _OutDiyProcessUtility.GetNextOperator(application.DiyProcess, item, application.Account.Id); if (nextOperator == null || nextOperator.AccountType == VisibleType.None) { if (item.OutApplicationFlow[item.OutApplicationFlow.Count - 1].Step != -1) { _OutApplicationDal.UpdateOutApplicationItemStatusByItemID(item.ItemID, RequestUtility.MakeDisAggree( item.Status)); error = true; continue; } } else if (accountID == nextOperator.Id) { returnlist.Add(application); break; } } if (error) { new OutApplicationMail().SendErrorMail(application.PKID); } } AccountDetail(returnlist); return(returnlist); }