title: Pass data from Service do ViewModel
body: <p><strong>Model:</strong></p>
  
  <pre><code>class UserModel
  {
      public string FirstName { get; set; }
  }
  </code></pre>
  
  <p><strong>Service:</strong></p>
  
  <pre><code>class UserService
  {
      private async Task&lt;string&gt; DirectoryEntry()
      {
          SearchResult rs = await Task.Run(() =&gt;
          {
              DirectoryEntry de = new DirectoryEntry("xxx");
              DirectorySearcher ds = new DirectorySearcher(de)
              {
                  Filter = "(&amp;((&amp;(objectCategory=Person)(objectClass=User)))(sAMAccountName=" + "xxx" + "))",
                  SearchScope = SearchScope.Subtree
              };
              return ds.FindOne();
          });
          var value = (rs.GetDirectoryEntry().Properties["businessCategory"].Value ?? "BRAK").ToString();
          return value;
     }
  }
  </code></pre>
  
  <p><strong>ViewModel:</strong></p>
  
  <pre><code>class UserViewModel : INotifyPropertyChanged
  {
      UserModel user = new UserModel();
  
      public string FirstName
      {
          ??
      }
  
      public event PropertyChangedEventHandler PropertyChanged;
  
      protected void OnPropertyChange(string propertyName)
      {
          PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
      }
  }
  </code></pre>
  
  <p>So, how to pass <code>value</code> to ViewModel?
  I checked some examples but I can't achieve it between Service and VM. 
  I totally don't know how to relate between them.
  Or maybe is it incorrect use of mvvm?</p>