public void SetReasonListBasedOnDirection(string direction) { if (SelectedReasonList != null && SelectedReasonList.Count > 0) { var reasonlist = SelectedReasonList.Where(x => x.reasonDirection.Equals(direction)).ToList(); ReasonList = new ObservableCollection <clsReasons>(); foreach (var item in reasonlist) { var data = new clsReasons(); data.code = item.code; data.name = item.name; data.imageUrl = item.imageUrl; data.reasonDirection = item.reasonDirection; var name = "{" + item.name + "}"; data.langData = JsonConvert.DeserializeObject <ReasonLanguage>(name); ReasonList.Add(data); } } }
public async void GetReasonList() { try { ReasonList = new ObservableCollection <clsReasons>(); SelectedReasonList = new ObservableCollection <clsReasons>(); if (!HttpRequest.CheckConnection()) { var objReason = App.Database.GetReason(); if (objReason.Count > 0) { foreach (var item in objReason) { var data = new clsReasons(); data.code = item.code; data.name = item.name; data.imageUrl = item.imageUrl; data.reasonDirection = item.reasonDirection; var name = "{" + item.name + "}"; data.langData = JsonConvert.DeserializeObject <ReasonLanguage>(name); ReasonList.Add(data); SelectedReasonList.Add(data); } } else { await DependencyService.Get <IXSnack>().ShowMessageAsync("Please get Reason atleast first in net connectivity."); } return; } DependencyService.Get <IProgressBar>().Show(Resx.AppResources.pleaseWait); var menuItem = await CommonMethods.GetReasons(); if (menuItem != null) { if (menuItem.Count > 0) { App.Database.ClearReason(); DependencyService.Get <IProgressBar>().Hide(); foreach (var item in menuItem) { var data = new clsReasons(); data.code = item.code; data.name = item.name; data.imageUrl = item.imageUrl; data.reasonDirection = item.reasonDirection; var name = "{" + item.name + "}"; data.langData = JsonConvert.DeserializeObject <ReasonLanguage>(name); ReasonList.Add(data); SelectedReasonList.Add(data); DBReasonLanguage dbdata = new DBReasonLanguage(); dbdata.code = data.code; dbdata.name = data.name; dbdata.imageUrl = data.imageUrl; dbdata.reasonDirection = data.reasonDirection; App.Database.SaveReason(dbdata); } } } else { await DependencyService.Get <IXSnack>().ShowMessageAsync(Resx.AppResources.ErrorLoadingData); } } catch (Exception ex) { DependencyService.Get <IProgressBar>().Hide(); await DependencyService.Get <IXSnack>().ShowMessageAsync(ex.Message); } finally { DependencyService.Get <IProgressBar>().Hide(); } }