예제 #1
0
        async Task ExecuteOnSendCommand()
        {
            IsBusy = true;
            try
            {
                if (!string.IsNullOrEmpty(TextToSend) && Blokujtxt == "Zablokuj")
                {
                    newMessage = new Messages()
                    {
                        Date = DateTime.Now, IdSender = zalogowany.IdUser, IdReceiver = rUser.IdUser, Text = TextToSend, Received = false, Blocked = false
                    };
                    DataStoreMessages.AddItemAsync(newMessage);
                    TextToSend = string.Empty;
                }
                else if (Blokujtxt == "Odblokuj" || Blokujtxt == "Zablokowany")
                {
                    UserDialogs.Instance.Toast("Nie możesz wysłać wiadomości", TimeSpan.FromSeconds(2));
                }
            }
            catch (Exception e)
            {
                await UserDialogs.Instance.AlertAsync("Błąd", "Wystąpił błąd.", "OK");

                Debug.WriteLine(e);
            }
            finally
            {
                IsBusy = false;
            }
        }
예제 #2
0
        async Task ExecuteLoadItemsCommand()
        {
            IsBusy = true;

            try
            {
                var items = await DataStoreMessages.GetItemsAsync(zalogowany.IdUser, rUser.IdUser);

                foreach (var item in items)
                {
                    if (item.IdSender == zalogowany.IdUser)
                    {
                        if (item.Blocked == false)
                        {
                            Blokujtxt = "Zablokuj";
                        }
                        else
                        {
                            Blokujtxt = "Odblokuj";
                        }
                    }
                    else
                    {
                        if (item.Blocked == true)
                        {
                            Blokujtxt = "Zablokowany";
                            return;
                        }
                    }
                }



                if (items.Count() > Messages.Count() && blokujtxt == "Zablokuj")
                {
                    for (int i = Messages.Count; i < items.Count(); i++)
                    {
                        Messages.Insert(0, items.ElementAt(i));
                    }
                }
            }
            catch (Exception ex)
            {
                await UserDialogs.Instance.AlertAsync("Błąd", "Wystąpił błąd.", "OK");

                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }
예제 #3
0
        async Task ExecuteBlokujCommand()
        {
            IsBusy = true;

            try
            {
                var items = await DataStoreMessages.GetItemsAsync(zalogowany.IdUser, rUser.IdUser);

                if (Blokujtxt == "Zablokuj")
                {
                    Messages item = items.FirstOrDefault(x => x.IdSender == zalogowany.IdUser);
                    item.Blocked = true;
                    await DataStoreMessages.UpdateItemAsync(item);

                    UserDialogs.Instance.Toast("Konwersacja zablokowana", TimeSpan.FromSeconds(2));
                    return;
                }
                if (Blokujtxt == "Odblokuj")
                {
                    Messages item = items.FirstOrDefault(x => x.IdSender == zalogowany.IdUser);
                    item.Blocked = false;
                    await DataStoreMessages.UpdateItemAsync(item);

                    UserDialogs.Instance.Toast("Konwersacja odblokowana", TimeSpan.FromSeconds(2));
                    return;
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine(ex);
            }
            finally
            {
                IsBusy = false;
            }
        }