public ProfileViewModel()
        {
            _userId          = AuthDataProvider.GetUserId();
            _usersService    = DependencyService.Resolve <UsersService>();
            AvailableRegions = _usersService.AvailabelRegions;

            SaveCommand    = new AsyncCommand(SaveAsync);
            LogoutCommand  = new AsyncCommand(LogoutAsync);
            RefreshCommand = new AsyncCommand(RefreshAsync);
        }
        public App()
        {
            InitializeComponent();

            RegisterDependencies();

            bool isUserCredsExists = AuthDataProvider.HasAuthData();
            Page initialPage       = isUserCredsExists
                ? (Page) new MainPage()
                : new NavigationPage(new AuthPage());

            MainPage = initialPage;
        }
        public async Task <RequestResult <string> > LoginAsync(string login, string password)
        {
            var loginDto = new LoginDto {
                Login = login, Password = password
            };
            var result = await _webClient.ExecuteRequestAsync(webApi => webApi.Login(loginDto));

            if (result.IsSuccess)
            {
                AuthDataProvider.SetUserId(result.Result);
            }

            return(result);
        }