Пример #1
0
        private async Task HomePageAppears()
        {
            var Mainapp  = Application.Current as App;
            var messages = await advertViewModel.GetMessages();

            var myMessages = await advertViewModel.GetMyMessages();



            foreach (var item in messages)
            {
                if (!Messages.Any((arg) => arg.Id == item.Id))
                {
                    if ((item.Receiver.ToString() == Mainapp.Email))
                    {
                        if (item.Sender.ToString() == SenderName.Text && item.SpecialBookName.ToString() == BookName.Text)
                        {
                            item.Location = "0";

                            Messages.Add(item);
                        }
                    }
                }
            }
            foreach (var item in myMessages)
            {
                if (!Messages.Any((arg) => arg.Id == item.Id))
                {
                    if ((item.Sender.ToString() == Mainapp.Email))
                    {
                        if (item.Receiver.ToString() == SenderName.Text && item.SpecialBookName.ToString() == BookName.Text)
                        {
                            item.Location = "1";

                            Messages.Add(item);
                        }
                    }
                }
            }

            listview1.ItemsSource = Messages.OrderBy(i => i.Date);
        }
Пример #2
0
        public HomePage()
        {
            InitializeComponent();
            var myadverts_tap = new TapGestureRecognizer();

            myadverts_tap.Tapped += async(s, e) =>
            {
                await Navigation.PushAsync(new MyAdverts());;
            };
            myAdverts.GestureRecognizers.Add(myadverts_tap);

            Messages        = new ObservableCollection <Message>();
            DonationAdverts = new ObservableCollection <Advert>();
            ExchangeAdverts = new ObservableCollection <Advert>();

            BindingContext = advertViewModel;

            var Categories = new List <Category>
            {
                new Category {
                    CategoryName = "TYT AYT", CategoryImage = "Tyt.png"
                },
                new Category {
                    CategoryName = "LGS", CategoryImage = "Lgs.jpg"
                },
                new Category {
                    CategoryName = "YDS TOEFL", CategoryImage = "Toefl.jpg"
                },
                new Category {
                    CategoryName = "Academic Book", CategoryImage = "Academic.png"
                },
                new Category {
                    CategoryName = "Children's Book", CategoryImage = "Children.png"
                },
                new Category {
                    CategoryName = "Novel", CategoryImage = "Novel.jpg"
                },
                new Category {
                    CategoryName = "Poem", CategoryImage = "Poem.png"
                },
                new Category {
                    CategoryName = "Comic Book", CategoryImage = "comicbook.jpg"
                },
                new Category {
                    CategoryName = "Others", CategoryImage = "Others.png"
                }
            };



            CategoryListView.ItemsSource  = Categories;
            DonationsListView.ItemsSource = DonationAdverts;
            ExchangesListView.ItemsSource = ExchangeAdverts;
            MessageListView.ItemsSource   = Messages;
            OnAppearing();

            DonationsListView.RefreshCommand = new Command(async() =>
            {
                DonationsListView.RefreshControlColor = Color.FromHex("#1B9101");
                DonationsListView.IsRefreshing        = true;
                var donationAdverts = await advertViewModel.GetDonationAdverts();

                foreach (var item in donationAdverts)
                {
                    if (!DonationAdverts.Any((arg) => arg.AdvertID == item.AdvertID))
                    {
                        DonationAdverts.Add(item);
                    }
                }
                DonationsListView.ItemsSource  = DonationAdverts;
                DonationsListView.IsRefreshing = false;
            });

            ExchangesListView.RefreshCommand = new Command(async() =>
            {
                ExchangesListView.RefreshControlColor = Color.FromHex("#00B5B9");
                ExchangesListView.IsRefreshing        = true;
                var exchangeAdverts = await advertViewModel.GetExchangeAdverts();

                foreach (var item in exchangeAdverts)
                {
                    if (!ExchangeAdverts.Any((arg) => arg.AdvertID == item.AdvertID))
                    {
                        ExchangeAdverts.Add(item);
                    }
                }
                ExchangesListView.ItemsSource  = ExchangeAdverts;
                ExchangesListView.IsRefreshing = false;
            });
            ExchangesListView.RefreshCommand = new Command(async() =>
            {
                var Mainapp  = Application.Current as App;
                var messages = await advertViewModel.GetMessages();

                messages.Reverse();
                foreach (var item in messages)
                {
                    if (!Messages.Any((arg) => arg.Id == item.Id))
                    {
                        if (!Messages.Any((arg) => item.Sender == arg.Sender && item.SpecialBookName == arg.SpecialBookName))
                        {
                            if ((item.Receiver.ToString() == Mainapp.Email))
                            {
                                Messages.Add(item);
                            }
                        }
                    }
                }
            });
        }