protected virtual void efetuarCadastro(UsuarioInfo usuario) { AoCadastrar?.Invoke(this, usuario); }
private void inicializarComponente() { _PassageiroEntry = new XfxEntry { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Placeholder = "Qtd. Passageiros", Keyboard = Keyboard.Numeric, ErrorDisplay = ErrorDisplay.None }; _ObservacaoEntry = new XfxEntry { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Placeholder = "Qual a carga?", ErrorDisplay = ErrorDisplay.None }; _TipoVeiculoLayout = new StackLayout { Orientation = StackOrientation.Vertical, VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Children = { criarTipoVeiculoEntry() } }; _UsaCargaSwitch = new Switch { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Start, IsToggled = false }; _UsaCargaSwitch.Toggled += (sender, e) => { _cargaStackLayout.Children.Clear(); if (e.Value) { _cargaStackLayout.Children.Add(new Label { HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.Start, Style = Estilo.Current[Estilo.TITULO2], Text = "Informações de carga:" }); _cargaStackLayout.Children.Add(_PesoEntry); _cargaStackLayout.Children.Add(_AlturaEntry); _cargaStackLayout.Children.Add(_ProfundidadeEntry); _cargaStackLayout.Children.Add(_LarguraEntry); } }; _cargaStackLayout = new StackLayout { Orientation = StackOrientation.Vertical, VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill }; _PesoEntry = new XfxEntry { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Keyboard = Keyboard.Numeric, Style = Estilo.Current[Estilo.ENTRY_PADRAO], Placeholder = "Peso em Toneladas", ErrorDisplay = ErrorDisplay.None }; _LarguraEntry = new XfxEntry { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Keyboard = Keyboard.Numeric, Style = Estilo.Current[Estilo.ENTRY_PADRAO], Placeholder = "Largura total (m)", ErrorDisplay = ErrorDisplay.None }; _AlturaEntry = new XfxEntry { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Keyboard = Keyboard.Numeric, Style = Estilo.Current[Estilo.ENTRY_PADRAO], Placeholder = "Altura total (m)", ErrorDisplay = ErrorDisplay.None }; _ProfundidadeEntry = new XfxEntry { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Keyboard = Keyboard.Numeric, Style = Estilo.Current[Estilo.ENTRY_PADRAO], Placeholder = "Comprimento total (m)", ErrorDisplay = ErrorDisplay.None }; _AgendandoSwitch = new Switch { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Start, IsToggled = false }; _AgendandoSwitch.Toggled += (sender, e) => { _agendadoStackLayout.Children.Clear(); if (e.Value) { _agendadoStackLayout.Children.Add(new Label { HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.Start, Text = "Data hora da Retirada:", Style = Estilo.Current[Estilo.LABEL_CONTROL] }); _agendadoStackLayout.Children.Add(new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.Start, Children = { new IconImage { Icon = "fa-calendar", HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Center, Style = Estilo.Current[Estilo.ICONE_PADRAO] }, _DataRetiradaPicker, new IconImage { Icon = "fa-clock-o", HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Center, Style = Estilo.Current[Estilo.ICONE_PADRAO] }, _HoraRetiradaPicker } }); _agendadoStackLayout.Children.Add(new Label { HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.Start, Text = "Data hora máxima para entrega:", Style = Estilo.Current[Estilo.LABEL_CONTROL] }); _agendadoStackLayout.Children.Add(new StackLayout { Orientation = StackOrientation.Horizontal, HorizontalOptions = LayoutOptions.Fill, VerticalOptions = LayoutOptions.Start, Children = { new IconImage { Icon = "fa-calendar", HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Center, Style = Estilo.Current[Estilo.ICONE_PADRAO] }, _DataEntregaPicker, new IconImage { Icon = "fa-clock-o", HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Center, Style = Estilo.Current[Estilo.ICONE_PADRAO] }, _HoraEntregaPicker } }); } }; _agendadoStackLayout = new StackLayout { Orientation = StackOrientation.Vertical, VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill }; _DataRetiradaPicker = new DatePicker { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start, Style = Estilo.Current[Estilo.ENTRY_DATA] }; _HoraRetiradaPicker = new TimePicker { WidthRequest = 100, HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Start, Style = Estilo.Current[Estilo.ENTRY_TEMPO] }; _DataEntregaPicker = new DatePicker { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start, Style = Estilo.Current[Estilo.ENTRY_DATA] }; _HoraEntregaPicker = new TimePicker { WidthRequest = 100, HorizontalOptions = LayoutOptions.Start, VerticalOptions = LayoutOptions.Start, Style = Estilo.Current[Estilo.ENTRY_TEMPO] }; _PrecoEntry = new XfxEntry { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Keyboard = Keyboard.Numeric, Style = Estilo.Current[Estilo.ENTRY_PADRAO], Placeholder = "Valor do Frete", ErrorDisplay = ErrorDisplay.None }; _EnviarButton = new Button { VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Style = Estilo.Current[Estilo.BTN_PRINCIPAL], Text = "SALVAR" }; _EnviarButton.Clicked += async(sender, e) => { var regraFrete = FreteFactory.create(); UserDialogs.Instance.ShowLoading("Enviando..."); try { var frete = this.Frete; definirTipoPorOrdem(frete); var id_frete = await regraFrete.inserir(frete); frete = await regraFrete.pegar(id_frete); UserDialogs.Instance.HideLoading(); AoCadastrar?.Invoke(this, frete); //await DisplayAlert("Aviso", "Frete cadastro com sucesso.", "Fechar"); //await Navigation.PopAsync(); } catch (Exception erro) { UserDialogs.Instance.HideLoading(); await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi"); } }; }