private static string UseAllIwbValidator(string message, IwbTirAccountData item)
 {
     if (item == null)
     {
         return(null);
     }
     return(item.NotUseAllIwb ? message : null);
 }
        private static string UniqueAccountNumberValidator(string message, ObservableCollection <IwbTirAccountData> source, IwbTirAccountData item)
        {
            if (source == null || item == null)
            {
                return(null);
            }

            foreach (var p in source.Where(p => p.HasErrors(IwbTirAccountData.UniqueAccountNumberValidate) &&
                                           IwbTirAccountData.GetGroupKey(p) == IwbTirAccountData.GetGroupKey(item)).ToArray())
            {
                p.ClearError(IwbTirAccountData.UniqueAccountNumberValidate);
            }

            return(source.Count(p => IwbTirAccountData.GetGroupKey(p) == IwbTirAccountData.GetGroupKey(item)) > 1 ? message : null);
        }
 public static string GetGroupKey(IwbTirAccountData item)
 {
     return(string.Format("{0}_{1}_{2}", item.AccountNumber == null ? null : item.AccountNumber.Trim().ToUpper(),
                          item.AccountDate, item.AccountCurrency));
 }