/// <summary>
        /// TABELAS FIXAS.
        /// </summary>
        private void CargaDados()
        {
            //CRIA OS ENUMERADORES E SALVA OS VALORES PADROES DO ESUS

            using (DAO.DAOSexo DAOSexo = new DAO.DAOSexo()) { DAOSexo.CreateTable(); }
            using (DAO.DAOPais DAOPais = new DAO.DAOPais()) { DAOPais.CreateTable(); }
            using (DAO.DAORacaCor DAORacaCor = new DAO.DAORacaCor()) { DAORacaCor.CreateTable(); }
            using (DAO.DAOEtnia DAOEtnia = new DAO.DAOEtnia()) { DAOEtnia.CreateTable(); }
            using (DAO.DAOOrientacaoSexual DAOOrientacaoSexual = new DAO.DAOOrientacaoSexual()) { DAOOrientacaoSexual.CreateTable(); }
            using (DAO.DAOCursoMaisElevado DAOCursoMaisElevado = new DAO.DAOCursoMaisElevado()) { DAOCursoMaisElevado.CreateTable(); }
            using (DAO.DAORelacaoParentesco DAORelacaoParentesco = new DAO.DAORelacaoParentesco()) { DAORelacaoParentesco.CreateTable(); }
            using (DAO.DAOResponsavelCrianca DAOResponsavelCrianca = new DAO.DAOResponsavelCrianca()) { DAOResponsavelCrianca.CreateTable(); }
            using (DAO.DAOMotivoSaida DAOMotivoSaida = new DAO.DAOMotivoSaida()) { DAOMotivoSaida.CreateTable(); }
            using (DAO.DAONacionalidade DAONacionalidade = new DAO.DAONacionalidade()) { DAONacionalidade.CreateTable(); }
            using (DAO.DAOSituacaoMercadoTrabalho DAOSituacaoMercadoTrabalho = new DAO.DAOSituacaoMercadoTrabalho()) { DAOSituacaoMercadoTrabalho.CreateTable(); }
            using (DAO.DAOIdentidadeGeneroCidadao DAOIdentidadeGenero = new DAO.DAOIdentidadeGeneroCidadao()) { DAOIdentidadeGenero.CreateTable(); }
            using (DAO.DAOConsideracaoPeso DAOConsideracaoPeso = new DAO.DAOConsideracaoPeso()) { DAOConsideracaoPeso.CreateTable(); }
            using (DAO.DAODoencaCardiaca DAODoencaCardiaca = new DAO.DAODoencaCardiaca()) { DAODoencaCardiaca.CreateTable(); }
            using (DAO.DAOProblemaRins DAOProblemaRins = new DAO.DAOProblemaRins()) { DAOProblemaRins.CreateTable(); }
            using (DAO.DAODoencaRespiratoria DAODoencaRespiratoria = new DAO.DAODoencaRespiratoria()) { DAODoencaRespiratoria.CreateTable(); }
            using (DAO.DAODeficienciaCidadao DAODeficienciaCidadao = new DAO.DAODeficienciaCidadao()) { DAODeficienciaCidadao.CreateTable(); }
            using (DAO.DAOAcessoHigiene DAOAcessoHigiene = new DAO.DAOAcessoHigiene()) { DAOAcessoHigiene.CreateTable(); }
            using (DAO.DAOQuantasVezesAlimentacao DAOQuantasVezesAlimentacao = new DAO.DAOQuantasVezesAlimentacao()) { DAOQuantasVezesAlimentacao.CreateTable(); }
            using (DAO.DAOOrigemAlimentacao DAOOrigemAlimentacao = new DAO.DAOOrigemAlimentacao()) { DAOOrigemAlimentacao.CreateTable(); }
            using (DAO.DAOTempoSituacaoDeRua DAOTempoSituacaoDeRua = new DAO.DAOTempoSituacaoDeRua()) { DAOTempoSituacaoDeRua.CreateTable(); }

            using (DAO.DAOTipoDeImovel DAOTipoDeImovel = new DAO.DAOTipoDeImovel()) { DAOTipoDeImovel.CreateTable(); }
            using (DAO.DAOSituacaoDeMoradia DAOSituacaoDeMoradia = new DAO.DAOSituacaoDeMoradia()) { DAOSituacaoDeMoradia.CreateTable(); }
            using (DAO.DAOTipoDeDomicilio DAOTipoDeDomicilio = new DAO.DAOTipoDeDomicilio()) { DAOTipoDeDomicilio.CreateTable(); }
            using (DAO.DAOTipoDeAcessoAoDomicilio DAOTipoDeAcessoAoDomicilio = new DAO.DAOTipoDeAcessoAoDomicilio()) { DAOTipoDeAcessoAoDomicilio.CreateTable(); }
            using (DAO.DAOCondicaoDePosseEUsoDaTerra DAOCondicaoDePosseEUsoDaTerra = new DAO.DAOCondicaoDePosseEUsoDaTerra()) { DAOCondicaoDePosseEUsoDaTerra.CreateTable(); }
            using (DAO.DAOMaterialPredominanteNaConstrucao DAOMaterialPredominanteNaConstrucao = new DAO.DAOMaterialPredominanteNaConstrucao()) { DAOMaterialPredominanteNaConstrucao.CreateTable(); }
            using (DAO.DAOLocalizacaoDaMoradia DAOLocalizacaoDaMoradia = new DAO.DAOLocalizacaoDaMoradia()) { DAOLocalizacaoDaMoradia.CreateTable(); }
            using (DAO.DAOAbastecimentoDeAgua DAOAbastecimentoDeAgua = new DAO.DAOAbastecimentoDeAgua()) { DAOAbastecimentoDeAgua.CreateTable(); }
            using (DAO.DAOAguaConsumoDomicilio DAOAguaConsumoDomicilio = new DAO.DAOAguaConsumoDomicilio()) { DAOAguaConsumoDomicilio.CreateTable(); }
            using (DAO.DAOFormaDeEscoamentoDoBanheiroOuSanitario DAOFormaDeEscoamentoDoBanheiroOuSanitario = new DAO.DAOFormaDeEscoamentoDoBanheiroOuSanitario()) { DAOFormaDeEscoamentoDoBanheiroOuSanitario.CreateTable(); }
            using (DAO.DAODestinoDoLixo DAODestinoDoLixo = new DAO.DAODestinoDoLixo()) { DAODestinoDoLixo.CreateTable(); }
            using (DAO.DAOAnimalNoDomicilio DAOAnimalNoDomicilio = new DAO.DAOAnimalNoDomicilio()) { DAOAnimalNoDomicilio.CreateTable(); }
            using (DAO.DAORendaFamiliar DAORendaFamiliar = new DAO.DAORendaFamiliar()) { DAORendaFamiliar.CreateTable(); }

            using (DAO.DAOTurno DAOTurno = new DAO.DAOTurno()) { DAOTurno.CreateTable(); }
            using (DAO.DAODesfecho DAODesfecho = new DAO.DAODesfecho()) { DAODesfecho.CreateTable(); }
            using (DAO.DAOMotivoVisita DAOMotivoVisita = new DAO.DAOMotivoVisita()) { DAOMotivoVisita.CreateTable(); }

            using (DAO.DAOOcupacao DAOOcupacao = new DAO.DAOOcupacao()) { DAOOcupacao.CreateTable(); };
            using (DAO.DAOUnidadeFederal DAOUnidadeFederal = new DAO.DAOUnidadeFederal()) { DAOUnidadeFederal.CreateTable(); };
            using (DAO.DAOMunicipio DAOMunicipio = new DAO.DAOMunicipio()) { DAOMunicipio.CreateTable(); };
            using (DAO.DAOBairro DAOBairro = new DAO.DAOBairro()) { DAOBairro.CreateTable(); };
            using (DAO.DAOLogradouro DAOLogradouro = new DAO.DAOLogradouro()) { DAOLogradouro.CreateTable(); };
            using (DAO.DAOTipoLogradouro DAOTipoLogradouro = new DAO.DAOTipoLogradouro()) { DAOTipoLogradouro.CreateTable(); };
            using (DAO.DAOLocalizacao DAOLocalizacao = new DAO.DAOLocalizacao()) { DAOLocalizacao.CreateTable(); }

            using (DAO.DAOFichaUnicaLotacaoHeader DAOFichaUnicaLotacaoHeader = new DAO.DAOFichaUnicaLotacaoHeader()) { DAOFichaUnicaLotacaoHeader.CreateTable(); }
            using (DAO.DAOFichaCadastroIndividual DAOFichaCadastroIndividual = new DAO.DAOFichaCadastroIndividual()) { DAOFichaCadastroIndividual.CreateTable(); }
            using (DAO.DAOFichaCadastroDomiciliarTerritorial DAOFichaCadastroDomiciliar = new DAO.DAOFichaCadastroDomiciliarTerritorial()) { DAOFichaCadastroDomiciliar.CreateTable(); }
            using (DAO.DAOFichaVisitaDomiciliar DAOFichaVisitaDomiciliar = new DAO.DAOFichaVisitaDomiciliar()) { DAOFichaVisitaDomiciliar.CreateTable(); }
            using (DAO.DAOFichaFamilia DAOFichaFamilia = new DAO.DAOFichaFamilia()) { DAOFichaFamilia.CreateTable(); }
        }
        private void SyncExecute()
        {
            this.IsBusy = true;
            Task.Run(async() => {
                try {
                    this.SincronizacaoConfig.CodEstabelecimento = this.Estabelecimento.CodUnidade;

                    var TaskGetProfissionais = new RestAPI($"http://{this.SincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/Profissional.ashx?codUnidade={this.Estabelecimento.CodUnidade}").GetAsync <Models.Profissional>();
                    var TaskGetOcupacoes     = new RestAPI($"http://{this.SincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/Cbo.ashx").GetAsync <Models.Ocupacao>();

                    var TaskGetUnidadeFederal = new RestAPI($"http://{this.SincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/UnidadeFederal.ashx").GetAsync <Models.UnidadeFederal>();
                    var TaskGetMunicipio      = new RestAPI($"http://{this.SincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/Municipio.ashx").GetAsync <Models.Municipio>();
                    var TaskGetBairro         = new RestAPI($"http://{this.SincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/Bairro.ashx?codMunicipio={this.Estabelecimento.CodMunicipio}").GetAsync <Models.Bairro>();
                    var TaskGetLogradouro     = new RestAPI($"http://{this.SincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/Logradouro.ashx?codUnidade={this.Estabelecimento.CodUnidade}").GetAsync <Models.Logradouro>();
                    var TaskGetTipoLogradouro = new RestAPI($"http://{this.SincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/TipoLogradouro.ashx").GetAsync <Models.TipoLogradouro>();
                    var TaskGetLocalizacao    = new RestAPI($"http://{this.SincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/Localizacao.ashx").GetAsync <Models.Localizacao>();

                    this.CargaDados();

                    #region Profissionais
                    using (DAO.DAOProfissional DAOProfissional = new DAO.DAOProfissional()) {
                        var profissionais = await TaskGetProfissionais;
                        //profissionais.ForEach(o => o.DesSenha = "123456");

                        using (DAO.DAOEquipe DAOEquipe = new DAO.DAOEquipe()) {
                            DAOEquipe.CreateTable();
                        };
                        using (DAO.DAOCbo DAOCbo = new DAO.DAOCbo()) {
                            DAOCbo.CreateTable();
                        };

                        DAOProfissional.CreateTable();
                        DAOProfissional.Insert(profissionais);
                    };
                    #endregion

                    #region Ocupacoes
                    var ocupacoes = await TaskGetOcupacoes;
                    using (DAO.DAOOcupacao DAOOcupacao = new DAO.DAOOcupacao()) {
                        var result = DAOOcupacao.Insert(ocupacoes);
                    };
                    #endregion

                    #region UFs
                    var UFs = await TaskGetUnidadeFederal;
                    using (DAO.DAOUnidadeFederal DAOUnidadeFederal = new DAO.DAOUnidadeFederal()) {
                        var result = DAOUnidadeFederal.Insert(UFs);
                    };
                    #endregion

                    #region Municipios
                    var Municipios = await TaskGetMunicipio;
                    using (DAO.DAOMunicipio DAOMunicipio = new DAO.DAOMunicipio()) {
                        var result = DAOMunicipio.Insert(Municipios);
                    };
                    #endregion

                    #region Bairros
                    var Bairros = await TaskGetBairro;
                    using (DAO.DAOBairro DAOBairro = new DAO.DAOBairro()) {
                        DAOBairro.Insert(Bairros);
                    };
                    #endregion

                    #region Logradouros
                    var Logradouros = await TaskGetLogradouro;
                    using (DAO.DAOLogradouro DAOLogradouro = new DAO.DAOLogradouro()) {
                        var result = DAOLogradouro.Insert(Logradouros);
                    };
                    #endregion

                    #region TipoLogradouro
                    var TiposLogradouro = await TaskGetTipoLogradouro;
                    using (DAO.DAOTipoLogradouro DAOTipoLogradouro = new DAO.DAOTipoLogradouro()) {
                        DAOTipoLogradouro.Insert(TiposLogradouro);
                    };
                    #endregion

                    #region Localizacao
                    var Localizacao = await TaskGetLocalizacao;
                    using (DAO.DAOLocalizacao DAOLocalizacao = new DAO.DAOLocalizacao()) {
                        var result = DAOLocalizacao.Insert(Localizacao);
                    };
                    #endregion

                    using (DAO.DAOEstabelecimento DAOEstabelecimento = new DAO.DAOEstabelecimento()) {
                        DAOEstabelecimento.CreateTable();
                        this.Estabelecimento.Municipio = new Models.Municipio()
                        {
                            CodMunicipio = this.Estabelecimento.CodMunicipio
                        };
                        DAOEstabelecimento.Insert(this.Estabelecimento);
                    }

                    #region SyncConfig
                    using (DAO.DAOSincronizacaoConfig DAOSync = new DAO.DAOSincronizacaoConfig()) {
                        DAOSync.CreateTable();
                        DAOSync.Insert(this.SincronizacaoConfig);
                    };
                    #endregion

                    Xamarin.Forms.Device.BeginInvokeOnMainThread(() => App.Current.MainPage = new NavigationPage(new Views.Login.LoginPage())
                    {
                        BarBackgroundColor = Color.FromHex("#003264")
                    });
                } catch (Exception ex) {
                    System.Diagnostics.Debug.WriteLine(ex);
                } finally {
                    IsBusy = false;
                };
            });
        }
        private void SyncOfflineExecute()
        {
            this.IsBusy = true;
            Task.Run(() => {
                try {
                    this.CargaDados();

                    #region Profissionais
                    using (DAO.DAOProfissional DAOProfissional = new DAO.DAOProfissional()) {
                        using (DAO.DAOEquipe DAOEquipe = new DAO.DAOEquipe()) {
                            DAOEquipe.CreateTable();
                        };
                        using (DAO.DAOCbo DAOCbo = new DAO.DAOCbo()) {
                            DAOCbo.CreateTable();
                        };


                        DAOProfissional.CreateTable();
                        DAOProfissional.Insert(new Models.Profissional()
                        {
                            CpfProfissional = "123456",
                            CnsProfissional = "123456",
                            DesLogin        = "******",
                            DesSenha        = "123456",
                            NomProfissional = "ADM Saude",
                            Cbos            = new List <Models.Cbo>()
                            {
                                new Models.Cbo()
                                {
                                    CodCbo  = "352210", NomCbo = "AGENTE DE SAÚDE PÚBLICA",
                                    Equipes = new List <Models.Equipe>()
                                    {
                                        new Models.Equipe()
                                        {
                                            CodEquipe = "123456",
                                            DesEquipe = "EQUIPE TESTE"
                                        },
                                        new Models.Equipe()
                                        {
                                            CodEquipe = "123457",
                                            DesEquipe = "EQUIPE TESTE2"
                                        }
                                    }
                                },
                                new Models.Cbo()
                                {
                                    CodCbo = "225125", NomCbo = "MÉDICO CLÍNICO", Equipes = new List <Models.Equipe>()
                                    {
                                        new Models.Equipe()
                                        {
                                            CodEquipe = "123458",
                                            DesEquipe = "EQUIPE TESTE3"
                                        }
                                    }
                                },
                                new Models.Cbo()
                                {
                                    CodCbo = "223505", NomCbo = "ENFERMEIRO", Equipes = new List <Models.Equipe>()
                                }
                            }
                        });
                    };
                    #endregion

                    #region Ocupacoes
                    var ocupacoes = new List <Models.Ocupacao>()
                    {
                        new Models.Ocupacao()
                        {
                            CodOcupacao = "123456",
                            DesOcupacao = "Ocupação Teste"
                        },
                        new Models.Ocupacao()
                        {
                            CodOcupacao = "1234567",
                            DesOcupacao = "Testando"
                        }
                    };

                    using (DAO.DAOOcupacao DAOOcupacao = new DAO.DAOOcupacao()) {
                        DAOOcupacao.Insert(ocupacoes);
                    };
                    #endregion

                    #region UFs
                    var UFs = new List <Models.UnidadeFederal>()
                    {
                        new Models.UnidadeFederal()
                        {
                            CodUnidadeFederal = 1,
                            NomUnidadeFederal = "Minas gerais",
                            SglUnidadeFederal = "MG"
                        }
                    };
                    using (DAO.DAOUnidadeFederal DAOUnidadeFederal = new DAO.DAOUnidadeFederal()) {
                        DAOUnidadeFederal.Insert(UFs);
                    };
                    #endregion

                    #region Municipios
                    var Municipios = new List <Models.Municipio>()
                    {
                        new Models.Municipio()
                        {
                            CodUnidadeFederal = 1,
                            CodMunicipio      = 1,
                            NomMunicipio      = "Uberlândia"
                        }
                    };
                    using (DAO.DAOMunicipio DAOMunicipio = new DAO.DAOMunicipio()) {
                        DAOMunicipio.Insert(Municipios);
                    };
                    #endregion

                    using (DAO.DAOEstabelecimento DAOEstabelecimento = new DAO.DAOEstabelecimento()) {
                        DAOEstabelecimento.CreateTable();
                        var Estabelecimento = new Models.Estabelecimento()
                        {
                            CodUnidade = 1, CodMunicipio = 1, DesNomFantasia = "Unidade fixa", ImpCnes = "1111", Municipio = new Models.Municipio()
                            {
                                CodMunicipio = 1
                            }
                        };
                        DAOEstabelecimento.Insert(Estabelecimento);

                        this.SincronizacaoConfig.CodEstabelecimento = 1;
                    };

                    #region Bairros
                    var Bairros = new List <Models.Bairro>()
                    {
                        new Models.Bairro()
                        {
                            CodBairro    = 1,
                            NomBairro    = "Centro",
                            CodMunicipio = 1
                        }
                    };
                    using (DAO.DAOBairro DAOBairro = new DAO.DAOBairro()) {
                        DAOBairro.Insert(Bairros);
                    };
                    #endregion

                    #region TipoLogradouro
                    var TiposLogradouro = new List <Models.TipoLogradouro>()
                    {
                        new Models.TipoLogradouro()
                        {
                            CodTipoLogradouro = 2,
                            NomTipoLogradouro = "AVENIDA"
                        }
                    };
                    using (DAO.DAOTipoLogradouro DAOTipoLogradouro = new DAO.DAOTipoLogradouro()) {
                        DAOTipoLogradouro.Insert(TiposLogradouro);
                    };
                    #endregion

                    #region Logradouros
                    var Logradouros = new List <Models.Logradouro>()
                    {
                        new Models.Logradouro()
                        {
                            CodLogradouro     = 1,
                            CodTipoLogradouro = 1,
                            NomLogradouro     = "Av. Rondom Pacheco"
                        }
                    };
                    using (DAO.DAOLogradouro DAOLogradouro = new DAO.DAOLogradouro()) {
                        DAOLogradouro.Insert(Logradouros);
                    };
                    #endregion

                    #region Localizacao
                    var Localizacao = new List <Models.Localizacao>()
                    {
                        new Models.Localizacao()
                        {
                            CodLocalizacao = 1, CodCep = "11111111", CodBairro = 1, CodLogradouro = 1, DesComplemento = "Teste"
                        }
                    };

                    using (DAO.DAOLocalizacao DAOLocalizacao = new DAO.DAOLocalizacao()) {
                        var result = DAOLocalizacao.Insert(Localizacao);
                    };
                    #endregion

                    #region SyncConfig
                    using (DAO.DAOSincronizacaoConfig DAOSync = new DAO.DAOSincronizacaoConfig()) {
                        DAOSync.CreateTable();
                        DAOSync.Insert(this.SincronizacaoConfig);
                    };
                    #endregion


                    Xamarin.Forms.Device.BeginInvokeOnMainThread(() => App.Current.MainPage = new NavigationPage(new Views.Login.LoginPage())
                    {
                        BarBackgroundColor = Color.FromHex("#003264")
                    });
                } catch (Exception ex) {
                    System.Diagnostics.Debug.WriteLine(ex);
                } finally {
                    IsBusy = false;
                };
            });
        }