コード例 #1
0
        async public Task <bool> LogIn(string username, string apiKey)
        {
            // Primero se consulta https://snipt.net/api/public/user/?username=:username
            // para recuperar el ID del usuario.
            //
            // Seguidamente se consulta https://snipt.net/api/private/user/{userId}/
            // para recuperar los datos privados del usuaro.
            // Si los recuperamos correctamente hemos hecho Log In correctamente.
            Model.Public.User basicUser = await this.UserRepository.FindByUsername(username);

            if (basicUser == null)
            {
                return(false);
            }

            Model.Public.User completeUser = await this.UserRepository.FindPrivate(basicUser.id, username, apiKey);

            if (completeUser == null)
            {
                return(false);
            }

            // TODO: Securizar apiKey del usuario
            SettingsService.UsernameSetting = username;
            SettingsService.ApikeySetting   = apiKey;
            basicUser = null;
            // App.Current.Resources["LoggedUser"] = completeUser; -- No implementado para Windows Phone

            bool saved = false;

            try
            {
                saved = await this.PersistentResourceService.Save <Model.Public.User>("loggedUser", completeUser);
            }
            catch (System.IO.IsolatedStorage.IsolatedStorageException ise)
            {
                System.Diagnostics.Debug.WriteLine(ise.Message + ": " + ise.StackTrace);
                saved = false;
                SettingsService.Clear();
            }
            return(saved);
        }
コード例 #2
0
 public void Update(Model.Public.User obj)
 {
     throw new NotImplementedException();
 }
コード例 #3
0
 public Task<Model.Public.User> Create(Model.Public.User obj)
 {
     throw new NotImplementedException();
 }