Exemple #1
0
 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);
         }
     }
 }
Exemple #2
0
        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();
            }
        }