public EmployeeMainPage (Empregado empregado, int qtdVisualizacoes) { InitializeComponent (); #if DEBUG bool contains = App.Current.Properties.ContainsKey("Session"); if (contains) lblNome.Text = ((LoginResponse)App.Current.Properties ["Session"]).Token; #else lblNome.Text = "Olá, " + empregado.Nome; #endif if (qtdVisualizacoes == 0) { lblVisualizado.Text = "Seu perfil ainda não foi visualizado."; } else if (qtdVisualizacoes == 1) { lblVisualizado.Text = "Seu perfil foi visualizado apenas uma vez."; } else { lblVisualizado.Text = string.Format ("Seu perfil já foi visualizado {0} vezes.", qtdVisualizacoes); } btnPerfil.Clicked += (object sender, EventArgs e) => { App.Current.MainPage = new EmployeeRegisterPage2(empregado); }; }
public DetailsPage (Empregado empregado) { InitializeComponent (); _empregado = empregado; lblNome.Text = empregado.Nome + " " + empregado.Sobrenome; lblQtdQualificacoes.Text = empregado.QtdAvalicaoes.ToString(); imgEstrelas.Source = "star" + empregado.Estrelas.ToString () + ".png"; lblCelular.Text = empregado.TelCelular; lblTelefone.Text = empregado.TelResidencial; string strEndereco = string.Format ("{0}, {1} {2}, {3}, {4}/{5}", empregado.Endereco.Logradouro, empregado.Endereco.Numero, empregado.Endereco.Complemento, empregado.Endereco.Bairro, empregado.Endereco.Cidade, empregado.Endereco.Estado); lblEndereco.Text = strEndereco; StringBuilder sb = new StringBuilder (); foreach (Especialidade espec in empregado.Especialidades) { sb.AppendLine (espec.TipoEspecialidade); } lblEspecialidades.Text = sb.ToString(); Color color = Color.FromHex ("333333"); foreach (string c in empregado.Comentarios) { Label lbl = new Label (); lbl.HorizontalOptions = LayoutOptions.StartAndExpand; lbl.Text = c; if (color == Color.FromHex ("333333")) color = Color.FromHex ("777777"); else color = Color.FromHex ("333333"); lbl.TextColor = color; stkComentarios.Children.Add (lbl); } if (stkComentarios.Children.Count == 0) { Label lbl = new Label (); lbl.HorizontalOptions = LayoutOptions.StartAndExpand; lbl.Text = "Nenhum comentário."; lbl.TextColor = color; stkComentarios.Children.Add (lbl); } btnAvaliar.Clicked += async (sender, e) => { await Navigation.PushAsync(new EvaluationPage(_empregado)); }; }
public RegisterPage1 () { InitializeComponent (); btnProfissional.Clicked += async (sender, e) => { if (await IsValid ()) { Empregado empregado = new Empregado(){ Email = txtEmail.Text, Senha = txtSenha.Text }; App.Current.MainPage = new EmployeeRegisterPage2 (empregado); } }; btnContratante.Clicked += async (sender, e) => { if (await IsValid ()) { App.Current.MainPage = new EmployerRegisterPage2 (txtEmail.Text, txtSenha.Text); } }; }
public EvaluationPage (Empregado empregado) { InitializeComponent (); _empregado = empregado; lblNome.Text = empregado.Nome; sldEstrelas.Minimum = 0; sldEstrelas.Maximum = 5; sldEstrelas.Value = empregado.Estrelas; imgEstrelas.Source = string.Format ("star{0:N0}.png", empregado.Estrelas); //TODO: Obter avaliação anterior, se existente. btnEnviar.Clicked += async (sender, e) => { try { var rest = new RestService(); var result = await rest.SendEvaluation( empregado.IdEmpregado, swtContrataria.IsToggled, Convert.ToInt32(sldEstrelas.Value), txtComentario.Text); empregado.Estrelas = result.Estrelas; empregado.QtdAvalicaoes = result.QtdAvaliacoes; empregado.Comentarios = result.Comentarios; await DisplayAlert("Pronto!", "Sua avaliação foi enviada com sucesso!", "OK"); var page = await Navigation.PopAsync(); Navigation.RemovePage(page); } catch (Exception ex) { await DisplayAlert("Ops... :(", "Não foi possível salvar sua avaliação devido a um problema: " + ex.Message, "OK"); } }; sldEstrelas.ValueChanged += (sender, e) => { imgEstrelas.Source = string.Format ("star{0:N0}.png", e.NewValue); }; }
public async Task RegisterEmployeeAsync(Empregado empregado) { string json = JsonConvert.SerializeObject (empregado); StringContent content = new StringContent (json, Encoding.UTF8, "application/json"); using (HttpClient client = new HttpClient ()) { client.BaseAddress = new Uri(Constants.ApiUrl); if (empregado.IdEmpregado > 0) client.DefaultRequestHeaders.Add ("X-Auth-Token", ((LoginResponse)App.Current.Properties ["Session"]).Token); var response = empregado.IdEmpregado == 0 ? await client.PostAsync ("Empregado", content) : await client.PutAsync ("Empregado", 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()); } } }
private void Fill(Empregado empregado) { pckSexo.SelectedIndex = empregado.Sexo == 'M' ? 0 : 1; pckDtNasc.Date = empregado.DataNascimento; celNome.Text = empregado.Nome; celSobrenome.Text = empregado.Sobrenome; if (empregado.Endereco != null) { celBairro.Text = empregado.Endereco.Bairro; celCep.Text = empregado.Endereco.Cep; celCidade.Text = empregado.Endereco.Cidade; celComplemento.Text = empregado.Endereco.Complemento; celNumero.Text = empregado.Endereco.Numero; celRua.Text = empregado.Endereco.Logradouro; celUF.Text = empregado.Endereco.Estado; } celCpf.Text = empregado.Cpf; celMiniCV.Text = empregado.Sobre; celTelefone.Text = empregado.TelResidencial; celCelular.Text = empregado.TelCelular; swtAceitaDormir.IsToggled = empregado.AceitaDormir; }
public EmployeeRegisterPage2 (Empregado empregado) { InitializeComponent (); _especialidades = ListarEspecialidades (); pckSexo.Items.Add ("Masculino"); pckSexo.Items.Add ("Feminino"); pckDtNasc.Date = DateTime.Now.AddYears (-20); pckDtNasc.MaximumDate = DateTime.Now.AddYears (-16); int row = 0; foreach (var espec in _especialidades) { gridEspecialidades.RowDefinitions.Add (new RowDefinition () { Height = GridLength.Auto }); var label = new Label (); var swt = new Switch (); if (empregado != null) swt.IsToggled = empregado.Especialidades.Any (X => X.TipoEspecialidade == espec.Key); label.Text = espec.Key; label.HorizontalOptions = LayoutOptions.EndAndExpand; label.VerticalOptions = LayoutOptions.CenterAndExpand; gridEspecialidades.Children.Add (label, 0, row); gridEspecialidades.Children.Add (swt, 1, row); row++; } if (empregado != null) Fill (empregado); btnCancelar.Clicked += (sender, e) => { App.Current.ShowMainPage(); }; btnRegistrar.Clicked += async (sender, e) => { try { if (IsValid ()) { empregado.Nome = celNome.Text; empregado.Sobrenome = celSobrenome.Text; empregado.Sexo = pckSexo.SelectedIndex == 0 ? 'M' : 'F'; empregado.Cpf = celCpf.Text; empregado.IdPerfil = 2; // Fixo para empregado empregado.DataNascimento = pckDtNasc.Date; empregado.Email = empregado.Email.ToLower(); empregado.Senha = empregado.Senha; empregado.Sobre = celMiniCV.Text; empregado.TelCelular = celCelular.Text; empregado.TelResidencial = celTelefone.Text; empregado.AceitaDormir = swtAceitaDormir.IsToggled; if (empregado.Endereco == null) empregado.Endereco = new Endereco(); empregado.Endereco.Cep = celCep.Text; empregado.Endereco.Logradouro = celRua.Text; empregado.Endereco.Complemento = celComplemento.Text; empregado.Endereco.Bairro = celBairro.Text; empregado.Endereco.Cidade = celCidade.Text; empregado.Endereco.Estado = celUF.Text; empregado.Endereco.Numero = celNumero.Text; string label = ""; var especs = new List<Especialidade>(); // Carrega a lista de Especialidades for(int i = 0; i < gridEspecialidades.Children.Count; i++) { var element = gridEspecialidades.Children[i]; if(element is Label) { label = ((Label)element).Text; } else if (element is Switch) { var s = (Switch)element; if (s.IsToggled) especs.Add(new Especialidade(){ IdTipoEspecialidade = _especialidades[label], TipoEspecialidade = label }); } } empregado.Especialidades = especs; RestService service = new RestService(); await service.RegisterEmployeeAsync(empregado); await DisplayAlert("Pronto", "Seus dados foram salvos com sucesso.", "OK"); App.Current.Logout(); } } catch (Exception ex) { await DisplayAlert("Ops... :(", "Não foi possível registrar seu usuário devido a um problema (" + ex.Message + ").", "OK"); } }; celCep.Completed += async (sender, e) => { try { RestService service = new RestService(); CepApiResponse endereco = await service.GetAddressFromApi(celCep.Text); if (!endereco.Ativo) { await DisplayAlert("Atenção", "CEP não encontrado.", "OK"); return; } celCep.Text = endereco.Cep; celRua.Text = endereco.Logradouro; celBairro.Text = endereco.Bairro; celCidade.Text = endereco.Cidade; celUF.Text = endereco.UF; } catch (Exception ex) { await DisplayAlert("Ops ... :(", "Não foi possível obter os dados do CEP fornecido devido a um problema (" + ex.Message + ").", "OK"); } }; }