Exemple #1
0
        private async Task GetFilteredDemandes(FilterStationDemandesModel FilterStationDemandes, int page)
        {
            try
            {
                //if (
                //    FilterStationDemandes.StartDate == default &&
                //    FilterStationDemandes.EndDate == default &&
                //    string.IsNullOrEmpty(FilterStationDemandes?.StatutId))
                //{
                //    return;
                //}

                //if (FilterStationDemandes?.StartDate == null && FilterStationDemandes?.EndDate == null && string.IsNullOrEmpty(FilterStationDemandes?.StatutId))


                if (page < _filterLastPage || _filterLastPage == 0)
                {
                    AppHelper.ALoadingShow("Chargement...");

                    var RequestResult = new RESTServiceResponse <PaginateDemandeModel>();
                    if (Offset != 0)
                    {
                        RequestResult = await ApiCalls.FilterStationDemandes(page, FilterStationDemandes, Offset);
                    }
                    else
                    {
                        RequestResult = await ApiCalls.FilterStationDemandes(page, filterStationDemandes : FilterStationDemandes);
                    }

                    if (RequestResult.success)
                    {
                        _filterCurentPage = RequestResult.data.current_page;
                        _filterLastPage   = RequestResult.data.last_page;

                        if (_filterCurentPage == 1)
                        {
                            StationDemandes.Clear();
                        }

                        if (RequestResult.data.data.Count == 0)
                        {
                            RefreshBtnVisible = true;
                            ContentVisible    = false;
                        }
                        else
                        {
                            foreach (var item in RequestResult.data.data)
                            {
                                StationDemandes.Add(item);
                            }
                            ContentVisible    = true;
                            RefreshBtnVisible = false;
                        }

                        _filterCurentPage++;
                    }
                    else
                    {
                        if (StationDemandes.Count <= 0)
                        {
                            ContentVisible    = false;
                            RefreshBtnVisible = true;
                        }
                        AppHelper.ASnack(message: RequestResult.message, type: SnackType.Error);
                    }
                }
                else
                {
                    AppHelper.ASnack(message: Assets.Strings.NoMoreResultMessage, type: SnackType.Info);
                }
            }
            catch (Exception ex)
            {
                AppHelper.ASnack(message: Assets.Strings.ErreurMessage, type: SnackType.Error);
            }
            finally
            {
                AppHelper.ALoadingHide();
            }
        }