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"); } } }; }