public async void CheckLoginCorrectness()
 {
     if (Login != null)
     {
         string loginPattern = @"^[a-zA-Z_][a-zA-Z0-9_\-\.]{1,255}$";
         Login = Login.Trim();
         if (Login.Length < 2)
         {
             LoginError     = "Login should be at least 2 charachters long";
             LoginIsCorrect = false;
         }
         else if (char.IsDigit(Login[0]))
         {
             LoginError     = "Login can only start with a letter or underscore";
             LoginIsCorrect = false;
         }
         else if (Login.Length > 255)
         {
             LoginError     = "Login should be no longer than 255 characters";
             LoginIsCorrect = false;
         }
         else if (!Regex.IsMatch(Login, loginPattern, RegexOptions.CultureInvariant))
         {
             LoginError     = "Login should contain only latin letters, numbers and _ . -";
             LoginIsCorrect = false;
         }
         else if (!await serverWorker.TaskCheckLogin(Login))
         {
             LoginError     = "This login is already used";
             LoginIsCorrect = false;
         }
         else
         {
             LoginError     = " ";
             LoginIsCorrect = true;
         }
     }
     else
     {
         LoginError     = "Login cannot be empty";
         LoginIsCorrect = false;
     }
 }