private async void SendCommandAction(object obj) { try { if (IsBusy) { return; } IsBusy = true; if (Valid()) { Saved = await InboxServices.AddItemAsync(Model); if (Saved) { await Navigation.PopModalAsync(); throw new SystemException("Pesan Terkirim"); } else { throw new SystemException("Pesan Tidak Terikirm"); } } else { throw new SystemException("Input Pesan Anda"); } } catch (Exception ex) { Helper.ShowMessageError(ex.Message); } finally { IsBusy = false; } }
private async void RefreshAction(object obj) { try { await Task.Delay(300); IsBusy = true; SourceView.Clear(); var results = await InboxServices.GetItemsAsync(PermohonanId); foreach (var item in results) { SourceView.Add(item); } } catch (Exception ex) { Helper.ShowMessageError(ex.Message); } finally { IsBusy = false; } }
private async void LoadAsync() { try { await Task.Delay(300); if (IsBusy) { return; } IsBusy = true; if (lastPermohonan == null) { lastPermohonan = await PermohonanService.GetLastPermohonan(); CurrentItem = lastPermohonan; } if (CurrentItem != null) { CurrentItem = await PermohonanService.GetPermohonanById(CurrentItem.Id); var layanan = await LayananServices.GetItemAsync(CurrentItem.IdLayanan.ToString()); if (layanan != null) { StepBar.Steps = 0; StepBar.Children.Clear(); StepBar.StepSelected = 0; StepBar.Steps = layanan.Tahapans.Count(); NextTahapan = null; if (CurrentItem.NextTahapan != null) { NextTahapan = CurrentItem.NextTahapan; } ShowSertifikat = false; if (CurrentItem.Tahapans != null && layanan.Tahapans.Count == CurrentItem.Tahapans.Count) { NextTahapan = new tahapan { Nama = "Tidak Ada", Keterangan = "Proses Telah Selesai" }; ShowSertifikat = true; StepBar.Complete(); } if (CurrentItem.CurrentTahapan != null && layanan.Tahapans.Count > CurrentItem.Tahapans.Count) { var c = layanan.Tahapans.Where(O => O.Id == CurrentItem.CurrentTahapan.Id).FirstOrDefault(); if (c != null) { var index = layanan.Tahapans.IndexOf(c); StepBar.StepSelected = index + 1; } } } } var result = await PermohonanService.GetPermohonans(); Permohonans.Clear(); if (result != null) { foreach (var item in result) { Permohonans.Add(item); } } var message = await InboxServices.GetItemsAsync(CurrentItem.Id); LastMessage = null; if (message != null && message.Count() > 0) { LastMessage = message.FirstOrDefault(); } } catch (Exception ex) { Helper.ShowMessageError(ex.Message); } finally { IsBusy = false; } }