Beispiel #1
0
 private void DeleteExecute(object item)
 {
     Task.Run(() => {
         try {
             var objFicha = (Models.FichaCadastroIndividual)item;
             using (DAO.DAOFichaCadastroIndividual DAO = new DAO.DAOFichaCadastroIndividual()) {
                 DAO.Delete(objFicha);
                 this.Fichas = new ObservableRangeCollection <object>(DAO.Select());
             };
         } catch (Exception e) {
         };
     });
 }
        private void SendExecute()
        {
            this.IsBusy = true;
            Task.Run(async() => {
                try {
                    using (DAO.DAOFichaCadastroIndividual DAOFichaCadastroIndividual = new DAO.DAOFichaCadastroIndividual())
                        using (DAO.DAOFichaCadastroDomiciliarTerritorial DAOFichaCadastroDomiciliar = new DAO.DAOFichaCadastroDomiciliarTerritorial())
                            using (DAO.DAOFichaVisitaDomiciliar DAOFichaVisitaDomiciliar = new DAO.DAOFichaVisitaDomiciliar())
                                using (DAO.DAOSincronizacaoConfig DAOSincronizacaoConfig = new DAO.DAOSincronizacaoConfig()) {
                                    var fichasCadastroIndividual = DAOFichaCadastroIndividual.Select();
                                    var fichasCadastroDomiciliar = DAOFichaCadastroDomiciliar.Select();
                                    var fichasVisitaDomiciliar   = DAOFichaVisitaDomiciliar.Select();

                                    var sincronizacaoConfig = DAOSincronizacaoConfig.Select().FirstOrDefault();
                                    if (sincronizacaoConfig == null)
                                    {
                                        return;
                                    }

                                    using (var api = new RestAPI($"http://{sincronizacaoConfig.DesEndereco}/Governa.Saude.AtencaoBasica.Ministerio/Handlers/Mobile/Send.ashx")) {
                                        PostResult result;
                                        List <Tuple <object, string> > Erros = new List <Tuple <object, string> >();

                                        #region Envia as fichas de cadastro individual
                                        foreach (var o in fichasCadastroIndividual)
                                        {
                                            if ((result = await api.PostAsync(o)).Status)
                                            {
                                                DAOFichaCadastroIndividual.Delete(o);
                                            }
                                            else
                                            {
                                                Erros.Add(Tuple.Create <object, string>(o, result.Message));
                                            };
                                        }
                                        ;
                                        #endregion

                                        #region Envia as fichas de visita domiciliar
                                        foreach (var o in fichasVisitaDomiciliar)
                                        {
                                            if ((result = await api.PostAsync(o)).Status)
                                            {
                                                DAOFichaVisitaDomiciliar.Delete(o);
                                            }
                                            else
                                            {
                                                Erros.Add(Tuple.Create <object, string>(o, result.Message));
                                            };
                                        }
                                        ;
                                        #endregion

                                        #region Envia as fichas de cadastro domiciliar
                                        foreach (var o in fichasCadastroDomiciliar)
                                        {
                                            if ((result = await api.PostAsync(o)).Status)
                                            {
                                                DAOFichaCadastroDomiciliar.Delete(o);
                                            }
                                            else
                                            {
                                                Erros.Add(Tuple.Create <object, string>(o, result.Message));
                                            };
                                        }
                                        ;
                                        #endregion

                                        this.LoadSend();

                                        if (Erros.Any())
                                        {
                                            Xamarin.Forms.Device.BeginInvokeOnMainThread(async() =>
                                                                                         await this.MenuPage.Navigation.PushAsync(new ListErro(new ListErroViewModel(Erros.Select(o => new ErroItem(o)).ToList())))
                                                                                         );
                                        }
                                        ;
                                    };
                                };
                } catch (Exception e) { } finally { this.IsBusy = false; };
            });
        }