Example #1
0
        private DropDownList criarCarroceriaEntry(TipoCarroceriaInfo carroceria = null)
        {
            var carroceriaEntry = new DropDownList
            {
                VerticalOptions   = LayoutOptions.Start,
                HorizontalOptions = LayoutOptions.Fill,
                //Margin = 5,
                Placeholder      = "Tipo de Carroceria",
                TextColor        = Color.Black,
                PlaceholderColor = Color.Silver,
                Value            = carroceria
            };

            carroceriaEntry.Clicked += (sender, e) =>
            {
                var carroceriaPage = new CarroceriaSelecionaPage();
                carroceriaPage.AoSelecionar += (object s2, TipoCarroceriaInfo e2) =>
                {
                    ((DropDownList)sender).Value = e2;
                };
                Navigation.PushAsync(carroceriaPage);
            };
            return(carroceriaEntry);
        }
        private async void CadastroClicked(object sender, EventArgs e)
        {
            var usuario = Usuario;

            var regraUsuario = UsuarioFactory.create();

            /*
             * var antt = usuario.Preferencias.Where(x => x.Chave == "ANTT").FirstOrDefault();
             * if (!String.IsNullOrEmpty(_ANTTEntry.Text)) {
             *  if (antt != null) {
             *      antt.Valor = _ANTTEntry.Text;
             *  }
             *  else {
             *      usuario.Preferencias.Add(new UsuarioPreferenciaInfo {
             *          Chave = "ANTT",
             *          Valor = _ANTTEntry.Text
             *      });
             *  }
             * }
             */

            if (Gravar)
            {
                UserDialogs.Instance.ShowLoading("Enviando...");
            }
            try
            {
                if (String.IsNullOrEmpty(_CNHEntry.Text))
                {
                    await DisplayAlert("Aviso", "Preencha a CNH", "Fechar");

                    return;
                }

                /*
                 * var regraUsuario = UsuarioFactory.create();
                 * _usuario.Preferencias.Add(new UsuarioPreferenciaInfo
                 * {
                 *  Chave = "ANTT",
                 *  Valor = _ANTTEntry.Text
                 * });
                 */
                TipoVeiculoInfo    tipo       = (TipoVeiculoInfo)_TipoVeiculoEntry.Value;
                TipoCarroceriaInfo carroceria = (TipoCarroceriaInfo)_CarroceriaEntry.Value;

                var motorista = new MotoristaInfo
                {
                    Id       = _usuario.Id,
                    IdTipo   = tipo.Id,
                    Placa    = _PlacaEntry.Text,
                    Veiculo  = _VeiculoEntry.Text,
                    ANTT     = _ANTTEntry.Text,
                    Situacao = MotoristaSituacaoEnum.Ativo
                };
                if (carroceria != null)
                {
                    motorista.IdCarroceria = carroceria.Id;
                }

                if (Gravar)
                {
                    await regraUsuario.alterar(_usuario);

                    var regraMotorista = MotoristaFactory.create();
                    var motorista      = new MotoristaInfo
                    {
                        Id       = _usuario.Id,
                        Usuario  = _usuario,
                        IdTipo   = tipo.Id,
                        CNH      = _CNHEntry.Text,
                        Placa    = _PlacaEntry.Text,
                        ANTT     = _ANTTEntry.Text,
                        Situacao = MotoristaSituacaoEnum.Ativo,
                    };
                    if (carroceria != null)
                    {
                        motorista.IdCarroceria = carroceria.Id;
                    }
                    if (motorista.Id > 0)
                    {
                        await regraMotorista.alterar(motorista);
                    }
                    else
                    {
                        motorista.Id = await regraMotorista.inserir(motorista);
                    }
                    motorista = await regraMotorista.pegar(motorista.Id);

                    /*
                     * var motoristaAtual = await regraMotorista.pegar(_usuario.Id);
                     * if (motoristaAtual != null)
                     * {
                     *  await regraMotorista.alterar(motorista);
                     * }
                     * else
                     * {
                     *  await regraMotorista.inserir(motorista);
                     * }
                     */
                    //var usuarioCadastrado = await regraUsuario.pegar(_usuario.Id);
                    //motorista = await regraMotorista.pegar(_usuario.Id);
                    var regraUsuario = UsuarioFactory.create();
                    regraUsuario.gravarAtual(motorista.Usuario);
                    regraMotorista.gravarAtual(motorista);
                    UserDialogs.Instance.HideLoading();
                    AoCompletar?.Invoke(this, motoristaCadastrado);
                }
                else
                {
                    //UserDialogs.Instance.HideLoading();
                    AoCompletar?.Invoke(this, motorista);
                }
            }
            catch (Exception erro)
            {
                if (Gravar)
                {
                    UserDialogs.Instance.HideLoading();
                }
                await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi");
            }
        }