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");
            }
        }
예제 #2
0
        private void inicializarComponente()
        {
            _nomeEmpresaEntry = new Entry
            {
                Placeholder       = "Nome da Empresa",
                VerticalOptions   = LayoutOptions.Start,
                HorizontalOptions = LayoutOptions.Fill
            };

            _enderecoForm = new EnderecoListaForm
            {
                VerticalOptions   = LayoutOptions.Start,
                HorizontalOptions = LayoutOptions.Fill
            };

            _CadastroButton = new Button()
            {
                Text = "CADASTRAR",
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions   = LayoutOptions.Start,
                Style             = Estilo.Current[Estilo.BTN_SUCESSO]
            };
            _CadastroButton.Clicked += async(sender, e) =>
            {
                var regraUsuario = UsuarioFactory.create();
                _usuario.Preferencias.Add(new UsuarioPreferenciaInfo {
                    Chave = "NOME_EMPRESA",
                    Valor = _nomeEmpresaEntry.Text
                });
                _usuario.Enderecos = new List <UsuarioEnderecoInfo>();
                foreach (var endereco in _enderecoForm.Enderecos)
                {
                    _usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco));
                }

                UserDialogs.Instance.ShowLoading("Enviando...");
                try
                {
                    if (_usuario.Id > 0)
                    {
                        await regraUsuario.alterar(_usuario);
                    }
                    else
                    {
                        _usuario.Id = await regraUsuario.inserir(_usuario);
                    }
                    var usuarioCadastrado = await regraUsuario.pegar(_usuario.Id);

                    regraUsuario.gravarAtual(usuarioCadastrado);
                    UserDialogs.Instance.HideLoading();
                    if (usuarioCadastrado != null)
                    {
                        regraUsuario.gravarAtual(usuarioCadastrado);
                        AoCompletar?.Invoke(this, _usuario);
                    }
                    else
                    {
                        string mensagem = string.Format("Nenhum usuário encontrado com o ID {0}.", _usuario.Id);
                        await DisplayAlert("Aviso", mensagem, "Fechar");
                    }
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi");
                }
            };
        }