Esempio n. 1
0
		public async Task<User> RegisterAsync (RegisterViewModel registerViewModel)
		{
//			client = clientFactory.CreateHttpClient ();

			HttpClient client = new HttpClient ();
			client.BaseAddress = new Uri("http://spotvox.azurewebsites.net/");
			client.DefaultRequestHeaders.Clear ();
			client.DefaultRequestHeaders.Accept.Clear ();
			client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

			using (client) {
				
				string userJson = JsonConvert.SerializeObject (registerViewModel);
				HttpContent content = new StringContent (userJson, Encoding.UTF8, "application/json");
				HttpResponseMessage response = await client.PostAsync ("api/account/register", content);

				if (response.IsSuccessStatusCode) {
					string jsonMessage;
					using (Stream responseStream = await response.Content.ReadAsStreamAsync ()) {
						jsonMessage = new StreamReader (responseStream).ReadToEnd ();
					}

					User user = (User)JsonConvert.DeserializeObject (jsonMessage, typeof(User));

					LoginViewModel loginModel = new LoginViewModel ();
					loginModel.Email = user.Email;
					loginModel.Password = registerViewModel.Password;

					user = await LoginAsync(loginModel);
					return user;
				} else {
					return null;
				}
			}
		}
		private async Task<User> Login()
		{
			HttpClientFactory factory = new HttpClientFactory();
			UserRepository repository = new UserRepository(factory);

			LoginViewModel loginModel = new LoginViewModel();
			loginModel.Email = txtEmail.Text;
			loginModel.Password = txtPassword.Text;


			return await repository.LoginAsync(loginModel);
			//string token = response.Result;
		}
Esempio n. 3
0
		/// <summary>
		/// Logins the async.
		/// </summary>
		/// <returns>String</returns>
		/// <param name="loginViewModel">Login view model.</param>
		public async Task<User> LoginAsync (LoginViewModel loginViewModel)
		{
			client = clientFactory.CreateHttpClient ();

			HttpContent requestBody = new StringContent (string.Format ("grant_type=password&username={0}&password={1}", loginViewModel.Email, loginViewModel.Password));

			HttpResponseMessage response = await client.PostAsync("Token", requestBody);
			if (response.IsSuccessStatusCode) {
				string jsonMessage;
				using (Stream responseStream = await response.Content.ReadAsStreamAsync ()) {
					jsonMessage = new StreamReader (responseStream).ReadToEnd ();
				}

				tokenResponse = (TokenModel)JsonConvert.DeserializeObject (jsonMessage, typeof(TokenModel));
				User user = new User ();
				user = await GetUserByUserName(loginViewModel.Email);
				user.UserAccessToken = tokenResponse;
				return user;
			} else {
				return null;
			}
		}