Esempio n. 1
0
        public Task <bool> UpdateResult(Poll poll)
        {
            TaskCompletionSource <bool> ResultCompletionSource = new TaskCompletionSource <bool>();

            Android.Runtime.JavaDictionary <string, Java.Lang.Object> Result = new Android.Runtime.JavaDictionary <string, Java.Lang.Object>();
            foreach (string email in poll.Result.Keys)
            {
                Result.Add(email, poll.Result[email].ToString());
            }

            var Path = Conn.Collection(pollCollection).Document(poll.PollId);

            Path.Update("result", Result).AddOnCompleteListener(new OnCompleteEventHandleListener((Android.Gms.Tasks.Task obj) =>
            {
                if (obj.IsSuccessful)
                {
                    ResultCompletionSource.SetResult(true);
                }
                else
                {
                    ResultCompletionSource.SetResult(false);
                }
            }));
            return(ResultCompletionSource.Task);
        }
Esempio n. 2
0
        public Task <bool> SetRead(Message message)
        {
            TaskCompletionSource <bool> ResultCompletionSource = new TaskCompletionSource <bool>();
            var ReadMessage = new Android.Runtime.JavaDictionary <string, Java.Lang.Object>();

            if (message.IsRead.Count != 0)
            {
                foreach (string key in message.IsRead.Keys)
                {
                    ReadMessage.Add(key, message.IsRead[key]);
                }
            }
            ReadMessage.Add(UserSetting.UserEmail.Replace(".", ":"), false);

            Conn.Collection("messages").Document(message.MessageId).Update("UserRead", ReadMessage)
            .AddOnCompleteListener(new OnCompleteEventHandleListener((Android.Gms.Tasks.Task obj) => {
                if (obj.IsSuccessful)
                {
                    ResultCompletionSource.SetResult(true);
                }
                else
                {
                    ResultCompletionSource.SetResult(false);
                }
            }));
            return(ResultCompletionSource.Task);
        }
Esempio n. 3
0
        //Create
        public Task <IndividualChatRoom> AddIndividualChatRoom(User user)
        {
            TaskCompletionSource <IndividualChatRoom> ResultCompletionSource = new TaskCompletionSource <IndividualChatRoom>();

            Android.Runtime.JavaDictionary <string, Java.Lang.Object> chatRoomUser = new Android.Runtime.JavaDictionary <string, Java.Lang.Object>
            {
                { user.Email.Replace(".", ":"), true },
                { UserSetting.UserEmail.Replace(".", ":"), true }
            };

            var chatRoom = new Dictionary <string, Java.Lang.Object>
            {
                { "image", null },
                { "roomTitle", null },
                { "users", chatRoomUser },
                { "isGroup", false },
                { "isDestruct", false }
            };

            Conn.Collection("roomList").Add(chatRoom).AddOnCompleteListener(new OnCompleteEventHandleListener((Android.Gms.Tasks.Task obj) => {
                if (obj.IsSuccessful)
                {
                    DocumentReference documentReference = (DocumentReference)obj.Result;
                    IndividualChatRoom temp             = new IndividualChatRoom(documentReference.Id, null, user, false);
                    ResultCompletionSource.SetResult(temp);
                }
                else
                {
                    ResultCompletionSource.SetResult(null);
                }
            }));
            return(ResultCompletionSource.Task);
        }
Esempio n. 4
0
        public Task <bool> AddPoll(Poll poll)
        {
            TaskCompletionSource <bool> ResultCompletionSource = new TaskCompletionSource <bool>();

            var Option = new Android.Runtime.JavaDictionary <string, Java.Lang.Object>();
            var Result = new Android.Runtime.JavaDictionary <string, Java.Lang.Object>();

            foreach (string _Option in poll._Option)
            {
                Option.Add(_Option, true);
            }

            var Poll = new Dictionary <string, Java.Lang.Object>
            {
                { "roomID", poll.RoomId },
                { "title", poll.Title },
                { "isClose", poll.IsClose },
                { "option", Option },
                { "result", Result },
                { "dateTime", new Java.Util.Date() }
            };

            Conn.Collection(pollCollection).Add(Poll).AddOnCompleteListener(new OnCompleteEventHandleListener((Android.Gms.Tasks.Task obj) => {
                if (obj.IsSuccessful)
                {
                    ResultCompletionSource.SetResult(true);
                }
                else
                {
                    ResultCompletionSource.SetResult(false);
                }
            }));
            return(ResultCompletionSource.Task);
        }
Esempio n. 5
0
        public void SaveFromResponse(HttpUrl url, IList <Cookie> cookies)
        {
            var cookieStrings = new Android.Runtime.JavaList <string>();

            foreach (var cookie in cookies)
            {
                cookieStrings.Add(CookieToString(cookie));
            }
            var map = new Android.Runtime.JavaDictionary <string, IList <string> > {
                { "Set-Cookie", cookieStrings }
            };

            _cookieManager.Put(url.Uri(), map);
        }
Esempio n. 6
0
        public Task <GroupChatRoom> AddGroupChatRoom(GroupChatRoom groupChat)
        {
            TaskCompletionSource <GroupChatRoom> ResultCompletionSource = new TaskCompletionSource <GroupChatRoom>();
            var members = new Android.Runtime.JavaDictionary <string, Java.Lang.Object> {
                { UserSetting.UserEmail.ToLower().Replace(".", ":"), true }
            };

            foreach (User user in groupChat._Users)
            {
                members.Add(user.Email.ToLower().Replace(".", ":"), true);
            }

            var GroupChatRoom = new Dictionary <string, Java.Lang.Object> {
                { "image", null },
                { "roomTitle", groupChat.RoomTilte },
                { "admin", UserSetting.UserEmail.ToLower() },
                { "users", members },
                { "isGroup", true },
                { "isDestruct", false }
            };

            Conn.Collection("roomList").Add(GroupChatRoom)
            .AddOnCompleteListener(new OnCompleteEventHandleListener((Android.Gms.Tasks.Task task) => {
                if (task.IsSuccessful)
                {
                    DocumentReference documentReference = (DocumentReference)task.Result;
                    GroupChatRoom temp =
                        new GroupChatRoom(documentReference.Id, groupChat.RoomTilte,
                                          UserSetting.UserEmail.ToLower(), groupChat._Users, false);
                    ResultCompletionSource.SetResult(temp);
                }
                else
                {
                    ResultCompletionSource.SetResult(null);
                }
            }));
            return(ResultCompletionSource.Task);
        }
Esempio n. 7
0
        public Task <bool> CreateMoment(Moment moment)
        {
            TaskCompletionSource <bool> ResultCompletionSource = new TaskCompletionSource <bool>();

            var receiver = new Android.Runtime.JavaDictionary <string, bool>();

            foreach (string key in moment.Receiver.Keys)
            {
                receiver.Add(key, false);
            }

            var _Moment = new Dictionary <string, Java.Lang.Object>
            {
                { "sender", moment.Sender },
                { "senderName", moment.SenderName },
                { "receivers", receiver },
                { "dateTime", new Java.Util.Date() },
                { "description", moment.Description },
                { "attachment", moment._Attachment.AttachmentUri }
            };

            var Path = Conn.Collection(momentCollection).Add(_Moment);

            Path.AddOnCompleteListener(new OnCompleteEventHandleListener((Android.Gms.Tasks.Task obj) =>
            {
                if (obj.IsSuccessful)
                {
                    ResultCompletionSource.SetResult(true);
                }
                else
                {
                    ResultCompletionSource.SetResult(false);
                }
            }));
            return(ResultCompletionSource.Task);
        }