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;
                };
            });
        }