/// <summary>
 /// Search users from repository according searchCriteria
 /// </summary>
 /// <param name="searchCriteria"> interface search criterias</param>
 public IEnumerable<int> SearchForUser(ISearchCriteria searchCriteria)
 {
     if (searchCriteria == null)
         throw new ArgumentNullException();
     return searchCriteria.Search(_users);
 }
 /// <summary>
 /// Search users by search criterias
 /// </summary>
 /// <param name="searchCriteria">interface search criteria</param>
 public IEnumerable<int> SearchForUser(ISearchCriteria searchCriteria)
 {
     if (searchCriteria == null)
     {
         ts.TraceInformation($"Argument null exception in search request at slave in {AppDomain.CurrentDomain.FriendlyName}");
         throw new ArgumentNullException();
     }
     rwls.EnterReadLock();
     try
     {
         ts.TraceInformation($"SearchForUser request in SlaveService at {DateTime.Now} in {AppDomain.CurrentDomain.FriendlyName}");
         return searchCriteria.Search(_tempData);
     }
     finally
     {
         rwls.ExitReadLock();
     }
 }