private void AdicionaEndereco(object objParam)
        {
            tbClienteEndereco objClienteEndereco = new tbClienteEndereco();

            objClienteEndereco.est_codigo = FrameworkUtil.objConfigStorage.objEmpresa.est_codigo;
            objClienteEndereco.cid_codigo = FrameworkUtil.objConfigStorage.objEmpresa.cid_codigo;
            objClienteEndereco.tbBairro   = new tbBairro();
            EntregaPedidoEnderecoViewModel objEntregaPedidoEnderecoViewModel = new EntregaPedidoEnderecoViewModel(objClienteEndereco);

            if (arrEntregaPedidoEnderecoViewModel.Count() == 0)
            {
                objEntregaPedidoEnderecoViewModel.blnSelecionado = true;
            }
            objEntregaPedidoEnderecoViewModel.blnLogradouroFocus = true;
            objEntregaPedidoEnderecoViewModel.OnDispose         += ObjEntregaPedidoEnderecoViewModel_OnDispose;
            objEntregaPedidoEnderecoViewModel.PropertyChanged   += ObjEntregaPedidoEnderecoViewModel_PropertyChanged;
            arrEntregaPedidoEnderecoViewModel.Add(objEntregaPedidoEnderecoViewModel);
        }
        private void Cliente(object objParam)
        {
            int intNumero;

            if (objParam != null)
            {
                if (objParam.GetType() == typeof(tbCliente))
                {
                    objPedido.tbCliente  = (tbCliente)objParam;
                    objPedido.cli_codigo = objPedido.tbCliente.cli_codigo;
                    if (objPedido.tbCliente.cli_codigo > 0)
                    {
                        ObservableCollection <EntregaPedidoEnderecoViewModel> arrEntregaPedidoEnderecoViewModelAux = new ObservableCollection <EntregaPedidoEnderecoViewModel>();
                        foreach (tbClienteEndereco objClienteEndereco in objPedido.tbCliente.tbClienteEndereco)
                        {
                            EntregaPedidoEnderecoViewModel objEntregaPedidoEnderecoViewModel = new EntregaPedidoEnderecoViewModel(objClienteEndereco);
                            objEntregaPedidoEnderecoViewModel.OnDispose       += ObjEntregaPedidoEnderecoViewModel_OnDispose;
                            objEntregaPedidoEnderecoViewModel.PropertyChanged += ObjEntregaPedidoEnderecoViewModel_PropertyChanged;
                            arrEntregaPedidoEnderecoViewModelAux.Add(objEntregaPedidoEnderecoViewModel);
                        }
                        _arrEntregaPedidoEnderecoViewModel = arrEntregaPedidoEnderecoViewModelAux;
                        _arrEntregaPedidoEnderecoViewModel.FirstOrDefault().blnSelecionado = true;

                        objPedido.ped_nomeCliente = objPedido.tbCliente.cli_nome;
                        if (objPedido.tbCliente.tbClienteTelefone.Where(ctl => ctl.ctl_numero == objPedido.ped_telefone).Count() == 0)
                        {
                            objPedido.ped_telefone = objPedido.tbCliente.tbClienteTelefone.FirstOrDefault().ctl_numero;
                        }
                    }
                    else
                    {
                        objPedido.tbCliente.cli_tipo   = "F";
                        objPedido.tbCliente.cli_sexo   = "M";
                        objPedido.tbCliente.cgr_codigo = FrameworkUtil.objConfigStorage.objConfiguracao.cgr_codigo;

                        objPedido.tbCliente.tbClienteTelefone = new List <tbClienteTelefone>();
                        objPedido.tbCliente.tbClienteTelefone.Add(new tbClienteTelefone {
                            ctl_numero = objPedido.ped_telefone
                        });

                        objPedido.tbCliente.tbClienteEndereco = new List <tbClienteEndereco>();
                        tbClienteEndereco objClienteEndereco = new tbClienteEndereco();
                        objClienteEndereco.est_codigo      = FrameworkUtil.objConfigStorage.objEmpresa.est_codigo;
                        objClienteEndereco.cid_codigo      = FrameworkUtil.objConfigStorage.objEmpresa.cid_codigo;
                        objClienteEndereco.tbBairro        = new tbBairro();
                        _arrEntregaPedidoEnderecoViewModel = new ObservableCollection <EntregaPedidoEnderecoViewModel>();
                        EntregaPedidoEnderecoViewModel objEntregaPedidoEnderecoViewModel = new EntregaPedidoEnderecoViewModel(objClienteEndereco);
                        objEntregaPedidoEnderecoViewModel.OnDispose       += ObjEntregaPedidoEnderecoViewModel_OnDispose;
                        objEntregaPedidoEnderecoViewModel.PropertyChanged += ObjEntregaPedidoEnderecoViewModel_PropertyChanged;
                        objEntregaPedidoEnderecoViewModel.blnSelecionado   = true;
                        _arrEntregaPedidoEnderecoViewModel.Add(objEntregaPedidoEnderecoViewModel);

                        objPedido.ped_nomeCliente = string.Empty;
                    }
                    RaisePropertyChanged("ped_telefone");
                    RaisePropertyChanged("ped_nomeCliente");
                    RaisePropertyChanged("arrEntregaPedidoEnderecoViewModel");
                }
                else if (objParam.ToString() == "Pesquisar")
                {
                    winCadastro      objTelaCadastro     = new winCadastro();
                    ClienteViewModel objClienteViewModel = new ClienteViewModel();
                    objClienteViewModel.OnDispose += (sen1, eve1) => { objTelaCadastro.Close(); };
                    objClienteViewModel.blnJanela  = true;
                    objTelaCadastro.Title          = "Cadastro - " + objClienteViewModel.strNomeTela;
                    objTelaCadastro.DataContext    = objClienteViewModel;
                    objTelaCadastro.Owner          = (Window)Application.Current.MainWindow;
                    objTelaCadastro.Closed        += (sen, eve) =>
                    {
                        if (objClienteViewModel.objCliente != null)
                        {
                            Cliente(objClienteViewModel.objCliente.cli_codigo);
                        }
                        objClienteViewModel = null;
                        objTelaCadastro     = null;
                    };
                    objTelaCadastro.ShowDialog();
                }
                else if (int.TryParse(objParam.ToString(), out intNumero))
                {
                    objPedido.ped_telefone = objParam.ToString();

                    Retorno objRetorno;
                    using (var objBLL = new Clientes())
                    {
                        objRetorno = objBLL.RetornaCliente(intNumero, null);
                    }
                    if (objRetorno.intCodigoErro == 0)
                    {
                        Cliente((tbCliente)objRetorno.objRetorno);
                    }
                    else
                    {
                        if (objRetorno.intCodigoErro == 48)
                        {
                            Cliente(new tbCliente());
                        }
                        else
                        {
                            MessageBox.Show(objRetorno.strMsgErro, "Atenção", MessageBoxButton.OK, Util.GetMessageImage(objRetorno.intCodigoErro));
                        }
                    }
                }
                else
                {
                    Cliente("Pesquisar");
                }
            }
        }