Пример #1
0
        public Task TestSendPush()
        {
            MutableServiceHub hub = new MutableServiceHub {
            };
            ParseClient client    = new ParseClient(new ServerConnectionData {
                Test = true
            }, hub);

            MutablePushState state = new MutablePushState
            {
                Query = Client.GetInstallationQuery()
            };

            ParsePush thePush = new ParsePush(client);

            hub.PushController = GetMockedPushController(state);

            thePush.Alert = "Alert";
            state.Alert   = "Alert";

            return(thePush.SendAsync().ContinueWith(task =>
            {
                Assert.IsTrue(task.IsCompleted);
                Assert.IsFalse(task.IsFaulted);

                thePush.Channels = new List <string> {
                    { "channel" }
                };
                state.Channels = new List <string> {
                    { "channel" }
                };

                return thePush.SendAsync();
            }).Unwrap().ContinueWith(task =>
            {
                Assert.IsTrue(task.IsCompleted);
                Assert.IsFalse(task.IsFaulted);

                ParseQuery <ParseInstallation> query = new ParseQuery <ParseInstallation>(client, "aClass");

                thePush.Query = query;
                state.Query = query;

                return thePush.SendAsync();
            }).Unwrap().ContinueWith(task =>
            {
                Assert.IsTrue(task.IsCompleted);
                Assert.IsFalse(task.IsFaulted);
            }));
        }
Пример #2
0
        private async void sysMessage(String msg)
        {
            if (ApplicationData.Current.RoamingSettings.Values.ContainsKey("UserName"))
            {
                UserName = (String)ApplicationData.Current.RoamingSettings.Values["UserName"];
            }
            else
            {
                UserName = "******";
            }

            String    message = msg;
            ParsePush push    = new ParsePush();

            push.Channels = new List <String> {
                "testing"
            };
            IDictionary <string, object> dic = new Dictionary <string, object>();

            dic.Add("sound", ".");
            dic.Add("alert", message);
            push.Data = dic;
            await push.SendAsync();


            ParseObject internal_tweets = new ParseObject("TweetsInternal");

            internal_tweets["content"] = message;
            internal_tweets["sender"]  = UserName;
            await internal_tweets.SaveAsync();
        }
Пример #3
0
        private void mousedMoved(object sender, PointerRoutedEventArgs e)
        {
            if (entered == true && exited == false)
            {
                running_counter++;
                if (running_counter == internal_counter)
                {
                    running_counter = 0;
                    counter--;
                    String location = "ms-appx:///Assets/" + counter + ".png";
                    (sender as Button).Background = new ImageBrush {
                        ImageSource = new BitmapImage(new Uri(location))
                    };
                }

                if (counter == 1)
                {
                    Debug.WriteLine("Trigger execution!!!!!!!!");
                    (sender as Button).Background = new ImageBrush {
                        ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Sent.png"))
                    };
                    Button but     = (sender as Button);
                    String message = "Neil -- " + but.Content.ToString();

                    //var push = new ParsePush();
                    //push.Channels = new List<string> { "Giants" };
                    //push.Alert = "The Giants just scored!";
                    //await push.SendAsync();



                    //Short version sending
                    //ParsePush.SendAlertAsync(message, "testing");

                    ParsePush push = new ParsePush();
                    push.Channels = new List <String> {
                        "global"
                    };
                    //    push.Alert = message;
                    IDictionary <string, object> dic = new Dictionary <string, object>();
                    dic.Add("sound", ".");
                    dic.Add("alert", message);
                    push.Data = dic;
                    push.SendAsync();


                    ParseObject internal_tweets = new ParseObject("TweetsInternal");
                    internal_tweets["content"] = message;
                    internal_tweets["sender"]  = "Neil";
                    internal_tweets.SaveAsync();



                    entered = false;
                    exited  = true;
                }
            }
            //Debug.WriteLine(sender.GetHashCode() + "     Still in the button   " + running_counter);
        }
Пример #4
0
        public Task TestSendPush()
        {
            MutablePushState state = new MutablePushState
            {
                Query = ParseInstallation.Query
            };

            ParsePush thePush = new ParsePush();

            ParsePushPlugins.Instance = new ParsePushPlugins
            {
                PushController = GetMockedPushController(state)
            };

            thePush.Alert = "Alert";
            state.Alert   = "Alert";

            return(thePush.SendAsync().ContinueWith(t =>
            {
                Assert.IsTrue(t.IsCompleted);
                Assert.IsFalse(t.IsFaulted);

                thePush.Channels = new List <string> {
                    { "channel" }
                };
                state.Channels = new List <string> {
                    { "channel" }
                };

                return thePush.SendAsync();
            }).Unwrap().ContinueWith(t =>
            {
                Assert.IsTrue(t.IsCompleted);
                Assert.IsFalse(t.IsFaulted);

                ParseQuery <ParseInstallation> query = new ParseQuery <ParseInstallation>("aClass");
                thePush.Query = query;
                state.Query = query;

                return thePush.SendAsync();
            }).Unwrap().ContinueWith(t =>
            {
                Assert.IsTrue(t.IsCompleted);
                Assert.IsFalse(t.IsFaulted);
            }));
        }
Пример #5
0
        async void SubmittOrders(double prices)
        {
            orderWaitTime.GetOrdersTotal = Source.ordersList.Count;
            time = orderWaitTime.CalculateWaitTime();
            AlertPopUp("Order on the way", "Your order will take about " + time + " minutes", "OK");
            string[] arrSplit = VouchersLabel.Text.Split(' ');
            voucherUpdate = int.Parse(arrSplit[0]);

            loadingOverlay = new LoadingOverlay(UIScreen.MainScreen.Bounds);
            View.Add(loadingOverlay);

            try
            {
                TableNameOrders = new ParseObject("Orders");
                TableNameOrders["PersonOrdered"]        = GetName;
                TableNameOrders["OrderList"]            = items;
                TableNameOrders["Price"]                = prices;
                TableNameOrders["IsOrderDone"]          = false;
                TableNameOrders["OrderReceivedByAdmin"] = false;
                TableNameOrders["Time"]        = "" + time;
                TableNameOrders["UserChannel"] = GetUserChannelName;
                CurrentUser["Vouchers"]        = voucherUpdate;

                await TableNameOrders.SaveAsync();

                await CurrentUser.SaveAsync();

                items.Clear();

                //send push

                var push = new ParsePush();
                push.Channels = new List <string> {
                    "Admin"
                };

                push.Data = new Dictionary <string, object>
                {
                    { "alert", "New order from " + (GetName + " " + GetSurname).ToUpper() },
                    { "sound", "default" },
                    { "badge", "Increment" }
                };

                await push.SendAsync();

                Source.Ordered           = true;
                Source.GetInitialVoucher = voucherUpdate + " vouchers";
            }
            catch (ParseException q)
            {
                Debug.WriteLine(q.StackTrace);
            }

            ResetScreen();
            loadingOverlay.Hide();
        }
Пример #6
0
        private void mousedMoved(object sender, PointerRoutedEventArgs e)
        {
            if (entered == true && exited == false)
            {
                running_counter++;
                if (running_counter == internal_counter)
                {
                    running_counter = 0;
                    counter--;
                    String location = "ms-appx:///Assets/" + counter + ".png";
                    (sender as Windows.UI.Xaml.Controls.Button).Background = new ImageBrush {
                        ImageSource = new BitmapImage(new Uri(location))
                    };
                }

                if (counter == 1)
                {
                    if (ApplicationData.Current.RoamingSettings.Values.ContainsKey("UserName"))
                    {
                        UserName = (String)ApplicationData.Current.RoamingSettings.Values["UserName"];
                    }
                    else
                    {
                        UserName = "******";
                    }

                    Debug.WriteLine("Trigger execution!!!!!!!!");
                    (sender as Windows.UI.Xaml.Controls.Button).Background = new ImageBrush {
                        ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Sent.png"))
                    };
                    Windows.UI.Xaml.Controls.Button but = (sender as Windows.UI.Xaml.Controls.Button);
                    String message = but.Content.ToString();

                    ParsePush push = new ParsePush();
                    push.Channels = new List <String> {
                        "global"
                    };
                    IDictionary <string, object> dic = new Dictionary <string, object>();
                    dic.Add("sound", ".");
                    dic.Add("alert", UserName + ": " + message);
                    // dic.Add("time", UserName);
                    push.Data = dic;
                    push.SendAsync();


                    ParseObject internal_tweets = new ParseObject("TweetsInternal");
                    internal_tweets["content"] = message;
                    internal_tweets["sender"]  = UserName;
                    internal_tweets.SaveAsync();

                    entered = false;
                    exited  = true;
                }
            }
        }
        private async void Button_Click(object sender, RoutedEventArgs e)
        {
            ResultsPanel.Children.Clear();
            PrintString("Starting tests!");
            var query = ParseObject.GetQuery("GameScore");

            PrintString("Cleaning data");
            var gameScores = await query.FindAsync();

            if (gameScores != null)
            {
                foreach (var score in gameScores)
                {
                    await score.DeleteAsync();
                }
            }

            PrintString("Adding new GameScore {123, Anton}");
            var gameScore = new ParseObject("GameScore");

            gameScore["score"]      = 123;
            gameScore["playerName"] = "Anton";
            await gameScore.SaveAsync();

            PrintString("Added data");
            query     = ParseObject.GetQuery("GameScore");
            gameScore = await query.FirstAsync();

            Debug.Assert(gameScore.Get <string>("playerName").Equals("Anton"));
            Debug.Assert(gameScore.Get <int>("score").Equals(123));
            PrintString(string.Format("Retrieved data score : {0}, name: {1}", gameScore.Get <int>("score"),
                                      gameScore.Get <string>("playerName")));
            PrintString("Testing push");
            ParsePush.ToastNotificationReceived += (s, args) =>
            {
                var json = ParsePush.PushJson(args);
                Debug.Assert(json["title"].Equals("My test PN"));
                Debug.Assert(json["alert"].Equals("Hello Anton!"));
                PrintString(string.Format("Got push title: {0}, content: {1}", json["title"], json["alert"]));
            };

            var push = new ParsePush
            {
                Data = new Dictionary <string, object> {
                    { "title", "My test PN" }, { "alert", "Hello Anton!" }
                },
                Channels = new List <string> {
                    "myTesthannel"
                }
            };
            await push.SendAsync();

            PrintString("Push sent");
        }
		protected override void OnCreate (Bundle bundle)
		{
			base.OnCreate (bundle);
			chatroom = DatabaseAccessors.ChatRoomDatabaseAccessor.GetChatRoom (Intent.GetStringExtra ("chatroom"));
			SetContentView (Resource.Layout.ChatRoom);
			chatsAdapter = new ChatAdapter (this);
			var chatsListView = FindViewById<ListView> (Resource.Id.chatsListView);
			chatsListView.Adapter = chatsAdapter;
			chatsListView.ItemClick += (object sender, AdapterView.ItemClickEventArgs e) => {

			};

			var sendButton = FindViewById<Button> (Resource.Id.send_message_button);
			var textBoxEdit = FindViewById<EditText> (Resource.Id.chatInputTextBox);
			textBoxEdit.Click += (sender, e) => {
				RunOnUiThread( () => FindViewById<ListView>(Resource.Id.chatsListView).SmoothScrollToPosition(chatsAdapter.GetCount() - 1));
			};
			sendButton.Click += async (sender, e) => {
				EditText textEdit = FindViewById<EditText>(Resource.Id.chatInputTextBox);
				string messageContent = textEdit.Text.ToString();
				RunOnUiThread( () => textEdit.Text = "");
				ParseChatItemDatabase parseItemDB = new ParseChatItemDatabase();
				ChatItem chat = new ChatItem();
				chat.chatroomID = chatroom.webID;
				chat.senderID = DatabaseAccessors.CurrentUser().webID;
				chat.content = messageContent;

				await parseItemDB.SaveChatItemAsync(chat);
				DatabaseAccessors.ChatDatabaseAccessor.SaveItem(chat);
				RunOnUiThread(() => chatsAdapter.NotifyDataSetChanged());
				RunOnUiThread( () => FindViewById<ListView>(Resource.Id.chatsListView).SmoothScrollToPosition(chatsAdapter.GetCount() - 1));

				var push = new ParsePush();
				push.Channels = new List<string> {chatroom.webID};
				push.Alert = "Your men might be requesting help!";
				await push.SendAsync();
			};

			Task getUpdatedInfo = new Task (async () => {
				await SynchronizeWithParse ();
			});

			ParsePush.ParsePushNotificationReceived += async (sender, args) => {
				Console.WriteLine("push");
				await SynchronizeWithParse();
			};

			getUpdatedInfo.Start ();
		}
        protected override void OnCreate(Bundle bundle)
        {
            base.OnCreate(bundle);
            SetContentView(Resource.Layout.Contacts);
            Button searchContactsBtn = FindViewById <Button> (Resource.Id.search_contacts);

            searchContactsBtn.Click += async(sender, e) => {
                GetParseUsers();
                contactsAdapter = new ContactsAdapter(this);
                var contactsListView = FindViewById <ListView> (Resource.Id.contactsListView);
                contactsListView.Adapter    = contactsAdapter;
                contactsListView.ItemClick += async(object sender2, AdapterView.ItemClickEventArgs e2) => {
                    User curritem = contactsAdapter.GetUserAt(e2.Position);
                    ParseChatRoomDatabase pcrd = new ParseChatRoomDatabase();
                    ChatRoom newchatroom       = new ChatRoom();
                    await pcrd.SaveChatRoomAsync(newchatroom);

                    DatabaseAccessors.ChatRoomDatabaseAccessor.SaveChatRoom(newchatroom);
                    List <User> chatroomUsers = new List <User>();
                    chatroomUsers.Add(curritem);
                    chatroomUsers.Add(DatabaseAccessors.CurrentUser());
                    DatabaseAccessors.ChatRoomDatabaseAccessor.SaveChatRoomUsers(chatroomUsers, newchatroom);
                    var crus = DatabaseAccessors.ChatRoomDatabaseAccessor.GetChatRoomUsers(newchatroom.webID);
                    foreach (ChatRoomUser cru in crus)
                    {
                        await pcrd.SaveChatRoomUsersAsync(cru);

                        var push = new ParsePush();
                        push.Channels = new List <string> {
                            cru.userID
                        };
                        push.Alert = "Your men might be requesting help!";
                        await push.SendAsync();
                    }
                    ChatsActivity.NotifyChatRoomsUpdate();

                    var intent = new Intent(this, typeof(ChatRoomActivity));
                    intent.PutExtra("chatroom", newchatroom.webID);
                    StartActivity(intent);

                    this.Finish();
                };
            };
        }
Пример #10
0
        public async void entered(int x, int y)
        {
            //With some analysis we came up with this padding

            //x = x - 180;
            //y = y - 350;
            x = x - 175;
            y = y - 300;

            if (init_x <= x && x <= out_x && init_y <= y && y <= out_y)
            {
                //Debug.WriteLine("Init_X " + init_x + "  Init_Y " + init_y);
                //Debug.WriteLine("OUT_X " + out_x + "  OUT_Y " + out_y);
                //Debug.WriteLine("X  " + x + "     Y= " + y);
                //Debug.WriteLine("WOWOWOW ::::: we are in the regoin " + this.name);

                if (entered_button == false && exited_button == true)
                {
                    //counter = 6;
                    //Abhi - Testing if CountDown Testing Works
                    if (ApplicationData.Current.RoamingSettings.Values.ContainsKey("CountDown"))
                    {
                        counter = (int)ApplicationData.Current.RoamingSettings.Values["CountDown"];
                        counter++;
                    }
                    else
                    {
                        counter = 6;
                    }

                    running_counter = 0;
                    entered_button  = true;
                    hover_button    = true;
                    exited_button   = false;
                }

                else if (entered_button == true && hover_button == true)
                {
                    running_counter++;
                    if (running_counter == internal_counter)
                    {
                        running_counter = 0;
                        counter--;
                        String location = "ms-appx:///Assets/" + counter + ".png";
                        await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                                                                      () =>
                        {
                            this.button.Background = new ImageBrush {
                                ImageSource = new BitmapImage(new Uri(location))
                            };
                        });
                    }


                    entered_button = true;
                    hover_button   = true;
                    exited_button  = false;

                    if (counter == 1)
                    {
                        await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                                                                      () =>
                        {
                            this.button.Background = new ImageBrush {
                                ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Sent.png"))
                            };

                            if (this.button.Name == "b4")
                            {
                                this.button.Background = new ImageBrush {
                                    ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Like.png"))
                                };
                            }

                            if (this.button.Name == "b5")
                            {
                                this.button.Background = new ImageBrush {
                                    ImageSource = new BitmapImage(new Uri("ms-appx:///Assets/Dislike.png"))
                                };
                            }

                            if (ApplicationData.Current.RoamingSettings.Values.ContainsKey("UserName"))
                            {
                                userName = (String)ApplicationData.Current.RoamingSettings.Values["UserName"];
                            }
                            else
                            {
                                userName = "******";
                            }

                            if (hover_button == true)
                            {
                                String message = this.content;
                                ParsePush push = new ParsePush();
                                push.Channels  = new List <String> {
                                    "global"
                                };
                                IDictionary <string, object> dic = new Dictionary <string, object>();

                                //Abhishek: Changes for Hard Notification
                                if (name.Equals("b1"))
                                {
                                    dic.Add("sound", "emergency.caf");
                                }
                                else
                                {
                                    dic.Add("sound", ".");
                                }
                                dic.Add("alert", userName + ": " + message);
                                push.Data = dic;
                                push.SendAsync();


                                ParseObject internal_tweets = new ParseObject("TweetsInternal");
                                internal_tweets["content"]  = message;
                                internal_tweets["sender"]   = userName;
                                internal_tweets.SaveAsync();
                            }
                        });

                        hover_button = false;
                    }
                }
            }
            else
            {
                if (entered_button == true && exited_button == false)
                {
                    await CoreApplication.MainView.CoreWindow.Dispatcher.RunAsync(CoreDispatcherPriority.Normal,
                                                                                  () =>
                    {
                        this.button.Background = null;
                    });

                    exited_button  = true;
                    hover_button   = false;
                    entered_button = false;
                }
            }
        }
Пример #11
0
        public override async void CommitEditingStyle(UITableView tableView, UITableViewCellEditingStyle editingStyle, NSIndexPath indexPath)
        {
            switch (editingStyle)
            {
            case UITableViewCellEditingStyle.Delete:

                OrdersAdmin orders   = Items[indexPath.Row];
                string      objectID = orders.ObjectId;

                if (!orders.Price.Equals(0))
                {
                    try
                    {
                        var pObj = new ParseObject("Unpaid");
                        pObj["Name"]        = orders.PersonOrdered;
                        pObj["AmountOwing"] = orders.Price;
                        pObj["UserChannel"] = orders.Channel;
                        pObj["Paid"]        = false;
                        await pObj.SaveAsync();
                    }
                    catch (ParseException ex)
                    {
                        Debug.WriteLine(ex.Message);
                    }
                }

                Items.Remove(orders);
                tableView.DeleteRows(new NSIndexPath[] { indexPath }, UITableViewRowAnimation.Fade);

                //updating isOrderDone

                try
                {
                    ParseQuery <ParseObject> queryForUpdate = from ordersTB in ParseObject.GetQuery("Orders")
                                                              where ordersTB.Get <string>("objectId") == objectID
                                                              select ordersTB;

                    ParseObject obj = await queryForUpdate.FirstAsync();

                    obj["IsOrderDone"] = true;
                    await obj.SaveAsync();

                    //send push

                    var push = new ParsePush();
                    push.Channels = new List <string> {
                        orders.Channel
                    };

                    push.Data = new Dictionary <string, object>
                    {
                        { "alert", UpperCaseFirstCharacterName(orders.PersonOrdered) + ", your order is ready!!!" },
                        { "sound", "default" }
                    };

                    await push.SendAsync();

                    Toast.MakeText("Order updated successfuly").Show();
                }
                catch (ParseException e)
                {
                    Debug.WriteLine(e.StackTrace);
                }

                break;

            case UITableViewCellEditingStyle.None:
                Debug.WriteLine("Nothing");
                break;
            }
        }