public void SalvarExecute()
        {
            this.IsBusy = true;
#pragma warning disable CS4014 // Como esta chamada não é esperada, a execução do método atual continua antes de a chamada ser concluída
            Task.Run(async() =>
            {
                using (DAO.DAOFichaFamilia DAOFichaFamilia = new DAO.DAOFichaFamilia())
                    using (DAO.DAOFichaUnicaLotacaoHeader DAOFichaUnicaLotacaoHeader = new DAO.DAOFichaUnicaLotacaoHeader())
                        using (DAO.DAOFichaCadastroDomiciliarTerritorial DAOFichaCadastroDomiciliar = new DAO.DAOFichaCadastroDomiciliarTerritorial())
                        {
                            try
                            {
                                this.Ficha.Header = new Models.FichaUnicaLotacaoHeader()
                                {
                                    Cbo             = this.RootPage.MenuPage.ViewModel.Cbo.CodCbo,
                                    CnsProfissional = this.RootPage.MenuPage.ViewModel.Profissional.CnsProfissional,
                                    Cnes            = this.RootPage.MenuPage.ViewModel.Estabelecimento.ImpCnes,
                                    Ine             = this.RootPage.MenuPage.ViewModel.Equipe.CodEquipe,
                                    DataAtendimento = DateTime.Now
                                };

                                this.Ficha.Familias = this.Familias.Select(o => (Models.FichaFamilia)o).ToList();

                                DAOFichaFamilia.Insert(this.Ficha.Familias);
                                DAOFichaUnicaLotacaoHeader.Insert(this.Ficha.Header);
                                DAOFichaCadastroDomiciliar.Insert(this.Ficha);

                                Xamarin.Forms.Device.BeginInvokeOnMainThread(async() =>
                                {
                                    var BackCount = this.RootPage.Navigation.NavigationStack.Count - 2;
                                    for (var counter = 1; counter < BackCount; counter++)
                                    {
                                        this.RootPage.Navigation.RemovePage(this.RootPage.Navigation.NavigationStack[this.RootPage.Navigation.NavigationStack.Count - 2]);
                                    }
                                    ;

                                    await this.RootPage.Navigation.PopAsync();
                                    //await this.RootPage.Navigation.PopToRootAsync();
                                });
                            }
                            catch (Exception e)
                            {
                                System.Diagnostics.Debug.WriteLine(e);
                            }
                            finally
                            {
                                this.IsBusy = false;
                            };
                        };
            });
#pragma warning restore CS4014 // Como esta chamada não é esperada, a execução do método atual continua antes de a chamada ser concluída
        }
Exemple #2
0
        private void ContinuarExecute()
        {
            this.IsBusy = true;
            Task.Run(async() => {
                this.Ficha.MotivosVisita = this.MotivosSelecionados.Select(o => (Models.MotivoVisita)o).ToList();

                using (DAO.DAOFichaUnicaLotacaoHeader DAOFichaUnicaLotacaoHeader = new DAO.DAOFichaUnicaLotacaoHeader())
                    using (DAO.DAOFichaVisitaDomiciliar DAOFichaVisitaDomiciliar = new DAO.DAOFichaVisitaDomiciliar()) {
                        try {
                            if (!this.Ficha.Id.HasValue)
                            {
                                this.Ficha.Header = new Models.FichaUnicaLotacaoHeader()
                                {
                                    Cbo             = this.RootPage.MenuPage.ViewModel.Cbo.CodCbo,
                                    CnsProfissional = this.RootPage.MenuPage.ViewModel.Profissional.CnsProfissional,
                                    Cnes            = this.RootPage.MenuPage.ViewModel.Estabelecimento.ImpCnes,
                                    Ine             = this.RootPage.MenuPage.ViewModel.Equipe.CodEquipe,
                                    DataAtendimento = DateTime.Now
                                };
                                DAOFichaUnicaLotacaoHeader.Insert(this.Ficha.Header);
                                DAOFichaVisitaDomiciliar.Insert(this.Ficha);
                            }
                            else
                            {
                                DAOFichaVisitaDomiciliar.Update(this.Ficha);
                            };

                            Xamarin.Forms.Device.BeginInvokeOnMainThread(async() => {
                                try {
                                    //var BackCount = this.RootPage.Navigation.NavigationStack.Count - 2;
                                    //for (var counter = 1; counter < BackCount; counter++) {
                                    //    this.RootPage.Navigation.RemovePage(this.RootPage.Navigation.NavigationStack[this.RootPage.Navigation.NavigationStack.Count - 2]);
                                    //}
                                    await this.RootPage.Navigation.PopAsync();
                                } catch (Exception e) {
                                };
                            });
                        } catch (Exception e) {
                            System.Diagnostics.Debug.WriteLine(e);
                        } finally {
                            this.IsBusy = false;
                        };
                    };
            });
        }