Beispiel #1
0
		public async Task RegisterEmployerAsync(Usuario user)
		{
			string json = JsonConvert.SerializeObject (user);
			StringContent content = new StringContent (json, Encoding.UTF8, "application/json");

			using (HttpClient client = new HttpClient ()) {
				client.BaseAddress = new Uri(Constants.ApiUrl);
				client.DefaultRequestHeaders.Clear ();
				client.DefaultRequestHeaders.Add("X-Auth-Token", 
					((LoginResponse)App.Current.Properties ["Session"]).Token);

				var response = await client.PostAsync ("Usuario", content);

				if (!response.IsSuccessStatusCode) {
					string strContent = await response.Content.ReadAsStringAsync ();

					Regex rxMessage = new Regex ("\"Message\": ?\"([^\"]+)\"", RegexOptions.IgnoreCase);
					Match m = rxMessage.Match (strContent);

					if (m.Success)
						throw new Exception (m.Groups[1].Value);
					else
						throw new Exception (response.StatusCode.ToString());
				}
			}
		}
		public EmployerRegisterPage2 (string email, string senha)
		{
			InitializeComponent ();

			_email = email;
			_senha = senha;

			pckSexo.Items.Add ("Masculino");
			pckSexo.Items.Add ("Feminino");

			pckDtNasc.Date = DateTime.Now.AddYears (-20);

			btnRegistrar.Clicked += async (sender, e) => {
				if (IsValid()) {
					try 
					{
						if (_user == null)
							_user = new Usuario();

						_user.Nome = txtNome.Text.Trim();
						_user.Sobrenome = txtSobrenome.Text.Trim();
						_user.Cpf = txtCpf.Text.Trim();
						_user.DataNascimento = pckDtNasc.Date;
						_user.Email = _email;
						_user.Senha = _senha;
						_user.IdPerfil = 1; // Contratante

						// Chamar o método para gravar na API
						RestService service = new RestService();
						await service.RegisterEmployerAsync(_user);

						await DisplayAlert("Parabéns", "Seu registro foi efetuado!", "OK");
						App.Current.ShowMainPage();
					}
					catch (Exception ex)
					{
						await DisplayAlert("Ops ... :(", "Occoreu um problema durante o registro: " + ex.Message, "OK");
					}
				}
			};
		}