private async void EditarLembrete(LembreteDAO lembreteSelecionado) { Debug.WriteLine("Editar: " + lembreteSelecionado.Titulo); // Vamos editar await App._navigationService.NavigateToFormularioLembreteEditar(this, lembreteSelecionado); }
public FormularioLembreteView(ListaLembretesViewModel listaLembretesViewModel, LembreteDAO lembrete) { InitializeComponent(); this.BindingContext = new FormularioLembreteViewModel(listaLembretesViewModel,lembrete); }
public VisualizarLembretePopupViewModel(LembreteDAO _lembrete) { // recebe o lembrete lembrete = _lembrete; // exibe os valores CarregaValues(); }
public async Task NavigateToPopupVisualizar(LembreteDAO lembrete) { try { await Application.Current.MainPage.Navigation.PushPopupAsync(new VisualizarLembretePopupView(lembrete)); } catch (Exception e) { Debug.WriteLine(e.Message); return; } }
public FormularioLembreteViewModel(ListaLembretesViewModel _listaLembretesViewModel, LembreteDAO _lembrete) { // recebo o objeto para atualizar atela de list depois listaLembretesViewModel = _listaLembretesViewModel; // recebemos um lembrete para editar lembreteEditar = _lembrete; this.CadastrarCommand = new Command(this.Cadastrar); // é para editar o lembrete ou para criar um novo? if (lembreteEditar != null) { this.ExibeValoresLembrete(); } }
private async void DeletarLembrete(LembreteDAO lembreteSelecionado) { Debug.WriteLine("Deletar: " + lembreteSelecionado.Titulo); var realm = Realm.GetInstance(); var lembreteDel = realm.All <LembreteDAO>().First(b => b.Titulo == lembreteSelecionado.Titulo); // Delete an object with a transaction using (var trans = realm.BeginWrite()) { realm.Remove(lembreteDel); trans.Commit(); } // atualzia a lista this.CarregarListaLembretes(); }
private async void Cadastrar() { try { Load = true; //verifica se preencheu os campos corretamente if (string.IsNullOrEmpty(Titulo) || string.IsNullOrEmpty(Descricao)) { await App._alertService.ShowAsync("Atenção", "Informe pelo menos um Título e uma Descrição.", "Ok"); return; } // converto a hora timespam em datetime DateTime HrLimite = Convert.ToDateTime(Hora.ToString()); // Data limite DateTime dataLimite = Convert.ToDateTime(Data.ToString()); // gero a data/hora do lembrete a ser executado DateTime dataHoraLimite = new DateTime(dataLimite.Year, dataLimite.Month, dataLimite.Day, HrLimite.Hour, HrLimite.Minute, 01); int idLembrete = 0; // instancio o realm var realm = Realm.GetInstance(); var myLembreteCount = realm.All <LembreteDAO>(); // esta populada a base de dados if (myLembreteCount.Count() > 0) { var lemb = realm.All <LembreteDAO>().OrderByDescending(l => l.Id).First(); idLembrete = lemb.Id + 1; } else // primeiro cadasatro... { idLembrete = 1; } if (lembreteEditar == null) { // vamos gravar um novo realm.Write(() => { realm.Add(new LembreteDAO { Id = idLembrete, Titulo = Titulo, Descricao = Descricao, DataLimite = dataHoraLimite.ToString(), Cor = "" }); }); } else // vamos editar { LembreteDAO lem = new LembreteDAO { Id = lembreteEditar.Id, Titulo = Titulo, Descricao = Descricao, DataLimite = dataHoraLimite.ToString(), Cor = "" }; // update na base de dados realm.Write(() => realm.Add(lem, update: true)); } // Registra o Lembrete para ser notificado! CrossLocalNotifications.Current.Show(Titulo, Descricao, idLembrete, dataHoraLimite); // agendo um lembrete no operacional conforme a sua plataforma //DependencyService.Get<IReminderService>().Remind(Convert.ToDateTime(lembrete.DataLimite),lembrete.Titulo,lembrete.Descricao); // exibe para a interface Debug.WriteLine("Adicionado um novo lembrete: " + Titulo); await App._alertService.ShowAsync("Informativo", "Lembrete Adicionado com sucesso", "Ok"); } catch (Exception ex) { await App._alertService.ShowAsync("Atenção", "Erro ao gravar o lembrete: " + ex.Message, "Ok"); Debug.WriteLine("Erro ao cadastrar um Lembrete: " + ex.Message); } finally { Load = false; // atualiza a lista de lembretes listaLembretesViewModel.CarregarListaLembretes(); } }
public VisualizarLembretePopupView(LembreteDAO lembrete) { InitializeComponent(); BindingContext = new VisualizarLembretePopupViewModel(lembrete); }
public async Task NavigateToFormularioLembreteEditar(ListaLembretesViewModel listaLembretesViewModel, LembreteDAO lembrete) { try { // Abre view mas para editar await Application.Current.MainPage.Navigation.PushAsync(new FormularioLembreteView(listaLembretesViewModel, lembrete)); } catch (Exception e) { Debug.WriteLine(e.Message); return; } }