示例#1
0
 private async void UserList_SelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
 {
     if (this.UserList.SelectedIndex >= 0)
     {
         ChatUserControl userControl = (ChatUserControl)this.UserList.SelectedItem;
         this.UserList.SelectedIndex = -1;
         await this.ShowUserDialog(userControl.User);
     }
 }
示例#2
0
        private async void CommandBinding_PageUp_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            ChapIndex--;
            _chapid = bookdir.Volumelists[VolumeIndex].Chapterlist[ChapIndex].ChapId;

            await ReLoad();

            ChatUserControl.ScrollToHome();
        }
示例#3
0
        private async void CommandBinding_OpenDirDialog_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            DirChoosePage dialog = new DirChoosePage(bookdir, _volumeid, _chapid);

            NavigationService.Navigate(dialog);

            await ReLoad();

            ChatUserControl.ScrollToHome();
        }
示例#4
0
        public async Task Add(UserViewModel user)
        {
            if (user != null)
            {
                await this.collectionChangeSemaphore.WaitAndRelease(() =>
                {
                    if (user != null && !this.existingUsers.ContainsKey(user.ID))
                    {
                        this.cachedUserRoles[user.ID] = user.PrimarySortableRole;

                        int insertIndex = 0;
                        for (insertIndex = 0; insertIndex < this.collection.Count; insertIndex++)
                        {
                            ChatUserControl userControl = this.collection[insertIndex];
                            if (userControl != null)
                            {
                                UserViewModel currentUser = userControl.User;
                                if (currentUser != null)
                                {
                                    if (!this.cachedUserRoles.ContainsKey(currentUser.ID))
                                    {
                                        this.cachedUserRoles[currentUser.ID] = currentUser.PrimarySortableRole;
                                    }

                                    if (this.cachedUserRoles[currentUser.ID] == this.cachedUserRoles[user.ID])
                                    {
                                        if (!string.IsNullOrEmpty(user.UserName) && currentUser.UserName.CompareTo(user.UserName) > 0)
                                        {
                                            break;
                                        }
                                    }
                                    else if (this.cachedUserRoles[currentUser.ID] < this.cachedUserRoles[user.ID])
                                    {
                                        break;
                                    }
                                }
                            }
                        }

                        ChatUserControl control     = new ChatUserControl(user);
                        this.existingUsers[user.ID] = control;

                        if (insertIndex < this.collection.Count)
                        {
                            this.collection.Insert(insertIndex, control);
                        }
                        else
                        {
                            this.collection.Add(control);
                        }
                    }
                    return(Task.FromResult(0));
                });
            }
        }
        private async void ReportunAuthorized_Click(object sender, RoutedEventArgs e)
        {
            clickingImages = false;
            ChatUserControl control = new ChatUserControl();

            control.setControlProperties(250, "SECURITY VIOLATION", "Unauthorized user was Reported successfully", "peach", null, false);
            ChatStack.Children.Add(control);

            // createsystemWarning("UNAUTHORIZED USER : REPORTED", 200, 200, "Unauthorized user was Reported successfully", false, false, "sdf", false, "sdf");
            await Task.Delay(200);

            myScroll.ChangeView(0, myScroll.ExtentHeight, 1);
        }
示例#6
0
        private static void OnChatChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
        {
            GestorRedUserControl controlRed = (GestorRedUserControl)d;

            if (e.OldValue != null)
            {
                ChatUserControl controlChatOld = (ChatUserControl)e.NewValue;
                controlChatOld.EnviandoTexto -= new EventHandler <ChatChangedEventArgs>(controlRed.Chat_EnviarMensajeTexto);
            }
            ChatUserControl controlChatNew = (ChatUserControl)e.NewValue;

            controlChatNew.EnviandoTexto += new EventHandler <ChatChangedEventArgs>(controlRed.Chat_EnviarMensajeTexto);
        }
        public void Execute(object parameter)
        {
            App.CurrentUser = App.UserModel.Users.SingleOrDefault(x => x.Email == LoginViewModel.Email);
            if (App.CurrentUser.Id == 1)
            {
                App.NetworkHelper.User_Id = 0;
            }
            else
            {
                App.NetworkHelper.User_Id = 1;
            }
            if (App.CurrentUser != null)
            {
                Task.Run(() =>
                {
                    App.NetworkHelper.ConnectToServer();
                });
                LoginViewModel.MyGrid.Children.Clear();
                FirstChatViewModel firstChatViewModel = new FirstChatViewModel();
                firstChatViewModel.IsClickedToChat = true;
                FirstChatUserControl firstChatUserControl = new FirstChatUserControl(firstChatViewModel);
                LoginViewModel.MyGrid.Children.Add(firstChatUserControl);
                var           allchats      = App.CurrentUser.AllConversations;
                ChatViewModel chatViewModel = new ChatViewModel();
                chatViewModel.AllChats           = new ObservableCollection <Chat>();
                chatViewModel.FirstChatViewModel = firstChatViewModel;
                var count = App.UserModel.Users.Count;
                App.CurrentUser.AllConversations = new List <Conversation>();
                for (int i = 0; i < count; i++)
                {
                    Conversation conversation = new Conversation();
                    conversation.User        = App.UserModel.Users[i];
                    conversation.AllMessages = new ObservableCollection <Message>();
                    App.CurrentUser.AllConversations.Add(conversation);
                    Chat chat = new Chat()
                    {
                        Id          = i + 1,
                        ImageSource = @"/Images\personWhiteSmoke.png",
                        User        = App.CurrentUser.AllConversations[i].User,
                        Message     = new Message() //App.CurrentUser.AllConversations[i].AllMessages[App.CurrentUser.AllConversations[i].AllMessages.Count - 1]
                    };

                    chatViewModel.AllChats.Add(chat);
                }
                ChatUserControl chatUserControl = new ChatUserControl(chatViewModel);
                firstChatViewModel.MyChatGrid.Children.Clear();
                firstChatViewModel.MyChatGrid.Children.Add(chatUserControl);
            }
        }
        private async void ScrollTextBtnClick(object sender, RoutedEventArgs e)
        {
            //IEnumerable<PersonGroup> personGroups = await FaceServiceHelper.ListPersonGroupsAsync(SettingsHelper.Instance.WorkspaceKey);
            //await FaceServiceHelper.TrainPersonGroupAsync(personGroups.FirstOrDefault().PersonGroupId);


            ChatUserControl control = new ChatUserControl();

            control.setControlProperties(250, "SUCCESS", "A new User has been Authorized", "green", null, false);
            ChatStack.Children.Add(control);

            //createsystemWarning("AUTHORIZATION : SUCCESS", 200, 200, "A new User has been Authorized", false, false, "sdf", false, "dark");
            await Task.Delay(200);

            myScroll.ChangeView(0, myScroll.ExtentHeight, 1);
        }
        private async void AddPersonBtnclick(object sender, RoutedEventArgs e)
        {
            IEnumerable <PersonGroup> personGroups = await FaceServiceHelper.ListPersonGroupsAsync(SettingsHelper.Instance.WorkspaceKey);

            clickingImages = false;
            //Person[] personsInGroup = await FaceServiceHelper.GetPersonsAsync(personGroups.FirstOrDefault().PersonGroupId);

            //CreatePersonResult result = await FaceServiceHelper.CreatePersonAsync(personGroups.FirstOrDefault().PersonGroupId, "Saeed");

            //foreach (var item in imagelist)
            //{
            //    AddPersistedFaceResult addResult;
            //    addResult = await FaceServiceHelper.AddPersonFaceAsync(
            //            personGroups.FirstOrDefault().PersonGroupId,
            //            result.PersonId,
            //             imageUrl: item,
            //             userData: item,
            //             targetFace: null);

            //}



            await FaceServiceHelper.TrainPersonGroupAsync(personGroups.FirstOrDefault().PersonGroupId);

            UnauthorizedGrid.Visibility = Visibility.Collapsed;



            ChatUserControl control = new ChatUserControl();

            control.setControlProperties(250, "AUTHORIZATION : SUCCESS", "A new User has been Authorized", "green", null, false);
            ChatStack.Children.Add(control);


            //createsystemWarning("", 200, 200, "", false, false, "sdf", false, "sdf");
            await Task.Delay(200);

            myScroll.ChangeView(0, myScroll.ExtentHeight, 1);
        }
        public void Execute(object parameter)
        {
            ContactViewModel.MyGrid.Children.Clear();
            FirstChatViewModel firstChatViewModel = new FirstChatViewModel();

            firstChatViewModel.IsClickedToChat = true;
            FirstChatUserControl firstChatUserControl = new FirstChatUserControl(firstChatViewModel);

            ContactViewModel.MyGrid.Children.Add(firstChatUserControl);
            var           allchats      = App.CurrentUser.AllConversations;
            ChatViewModel chatViewModel = new ChatViewModel();

            chatViewModel.AllChats           = new ObservableCollection <Chat>();
            chatViewModel.FirstChatViewModel = firstChatViewModel;
            var count = App.UserModel.Users.Count;

            App.CurrentUser.AllConversations = new List <Conversation>();
            for (int i = 0; i < count; i++)
            {
                Conversation conversation = new Conversation();
                conversation.User        = App.UserModel.Users[i];
                conversation.AllMessages = new ObservableCollection <Message>();
                App.CurrentUser.AllConversations.Add(conversation);
                Chat chat = new Chat()
                {
                    Id          = i + 1,
                    ImageSource = @"/Images\personWhiteSmoke.png",
                    User        = App.CurrentUser.AllConversations[i].User,
                    Message     = App.CurrentUser.AllConversations[i].AllMessages[App.CurrentUser.AllConversations[i].AllMessages.Count - 1]
                };

                chatViewModel.AllChats.Add(chat);
            }

            ChatUserControl chatUserControl = new ChatUserControl(chatViewModel);

            firstChatViewModel.MyChatGrid.Children.Clear();
            firstChatViewModel.MyChatGrid.Children.Add(chatUserControl);
        }
        public void Execute(object parameter)
        {
            var correctCode = VerificationViewModel.VerificationCode;
            var userCode    = VerificationViewModel.Code;

            if (correctCode == userCode)
            {
                App.UserModel.Users.Add(VerificationViewModel.NewUser);
                App.Config.Users = App.UserModel.Users;
                App.Config.SeriailizeWordsToJson();
                VerificationViewModel.Notification = "You completed registriation successfully";
                VerificationViewModel.MyGrid.Children.Clear();
                FirstChatViewModel firstChatViewModel = new FirstChatViewModel();
                firstChatViewModel.IsClickedToChat = true;
                FirstChatUserControl firstChatUserControl = new FirstChatUserControl(firstChatViewModel);
                VerificationViewModel.MyGrid.Children.Add(firstChatUserControl);
                ChatViewModel chatViewModel = new ChatViewModel();
                chatViewModel.AllChats = new ObservableCollection <Chat>()
                {
                    new Chat()
                    {
                        Id = 1
                        ,
                        User = new User()
                        {
                            Id         = 1,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 1,
                            Content  = "Salam brat",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = true
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    },
                    new Chat()
                    {
                        Id   = 2,
                        User = new User()
                        {
                            Id         = 1,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 2,
                            Content  = "sag ol qaqa sen necesen ?",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = true
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    }
                    ,
                    new Chat()
                    {
                        Id = 3
                        ,
                        User = new User()
                        {
                            Id         = 2,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 3,
                            Content  = "oldu qaqa",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = false
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    }
                    ,
                    new Chat()
                    {
                        Id = 1
                        ,
                        User = new User()
                        {
                            Id         = 1,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 1,
                            Content  = "Salam brat",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = true
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    },
                    new Chat()
                    {
                        Id   = 2,
                        User = new User()
                        {
                            Id         = 1,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 2,
                            Content  = "sag ol qaqa sen necesen ?",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = true
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    }
                    ,
                    new Chat()
                    {
                        Id = 3
                        ,
                        User = new User()
                        {
                            Id         = 2,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 3,
                            Content  = "oldu qaqa",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = false
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    },
                    new Chat()
                    {
                        Id = 1
                        ,
                        User = new User()
                        {
                            Id         = 1,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 1,
                            Content  = "Salam brat",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = true
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    },
                    new Chat()
                    {
                        Id   = 2,
                        User = new User()
                        {
                            Id         = 1,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 2,
                            Content  = "sag ol qaqa sen necesen ?",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = true
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    }
                    ,
                    new Chat()
                    {
                        Id = 3
                        ,
                        User = new User()
                        {
                            Id         = 2,
                            Email      = ""
                            , Username = "******"
                        },
                        Message = new Message()
                        {
                            Id       = 3,
                            Content  = "oldu qaqa",
                            DateTime = DateTime.Now.ToShortTimeString(),
                            IsRed    = false
                        },
                        ImageSource = @"/Images\personWhiteSmoke.png"
                    }
                };
                chatViewModel.FirstChatViewModel = firstChatViewModel;
                ChatUserControl chatUserControl = new ChatUserControl(chatViewModel);
                firstChatViewModel.MyChatGrid.Children.Clear();
                firstChatViewModel.MyChatGrid.Children.Add(chatUserControl);
            }
            else
            {
                VerificationViewModel.Notification = "You verification code is not right  please try again";
            }
        }
示例#12
0
 public void Execute(object parameter)
 {
     if (!FirstChatViewModel.IsClickedToChat)
     {
         FirstChatViewModel.IsClickedToChat   = true;
         FirstChatViewModel.IsClickedToCall   = false;
         FirstChatViewModel.IsClickedToCamera = false;
         FirstChatViewModel.IsClickedToStatus = false;
         ChatViewModel chatViewModel = new ChatViewModel();
         chatViewModel.FirstChatViewModel = FirstChatViewModel;
         chatViewModel.AllChats           = new ObservableCollection <Chat>()
         {
             new Chat()
             {
                 Id = 1
                 ,
                 User = new User()
                 {
                     Id         = 1,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 1,
                     Content  = "Salam brat",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = true
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             },
             new Chat()
             {
                 Id   = 2,
                 User = new User()
                 {
                     Id         = 1,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 2,
                     Content  = "sag ol qaqa sen necesen ?",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = true
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             }
             ,
             new Chat()
             {
                 Id = 3
                 ,
                 User = new User()
                 {
                     Id         = 2,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 3,
                     Content  = "oldu qaqa",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = false
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             }
             ,
             new Chat()
             {
                 Id = 1
                 ,
                 User = new User()
                 {
                     Id         = 1,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 1,
                     Content  = "Salam brat",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = true
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             },
             new Chat()
             {
                 Id   = 2,
                 User = new User()
                 {
                     Id         = 1,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 2,
                     Content  = "sag ol qaqa sen necesen ?",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = true
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             }
             ,
             new Chat()
             {
                 Id = 3
                 ,
                 User = new User()
                 {
                     Id         = 2,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 3,
                     Content  = "oldu qaqa",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = false
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             },
             new Chat()
             {
                 Id = 1
                 ,
                 User = new User()
                 {
                     Id         = 1,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 1,
                     Content  = "Salam brat",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = true
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             },
             new Chat()
             {
                 Id   = 2,
                 User = new User()
                 {
                     Id         = 1,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 2,
                     Content  = "sag ol qaqa sen necesen ?",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = true
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             }
             ,
             new Chat()
             {
                 Id = 3
                 ,
                 User = new User()
                 {
                     Id         = 2,
                     Email      = ""
                     , Username = "******"
                 },
                 Message = new Message()
                 {
                     Id       = 3,
                     Content  = "oldu qaqa",
                     DateTime = DateTime.Now.ToShortTimeString(),
                     IsRed    = false
                 },
                 ImageSource = @"/Images\personWhiteSmoke.png"
             }
         };
         ChatUserControl chatUserControl = new ChatUserControl(chatViewModel);
         FirstChatViewModel.MyChatGrid.Children.Clear();
         FirstChatViewModel.MyChatGrid.Children.Add(chatUserControl);
     }
 }
        private async Task ProcessCameraCapture(ImageAnalyzer e)
        {
            try
            {
                if (e == null)
                {
                    this.lastDetectedFaceSample         = null;
                    this.lastIdentifiedPersonSample     = null;
                    this.lastSimilarPersistedFaceSample = null;
                    this.lastEmotionSample = null;
                    this.debugText.Text    = "";

                    this.isProcessingPhoto = false;
                    return;
                }
                await Task.WhenAll(e.DetectFacesAsync(detectFaceAttributes: true));

                //await Task.WhenAll(e.DetectFacesAsync(detectFaceAttributes: true), e.AnalyzeImageAsync(detectCelebrities: false));


                DateTime start = DateTime.Now;
                await Task.Run(() => SavePicturesToServer(e));

                // Compute Emotion, Age and Gender
                //await Task.WhenAll(e.DetectEmotionAsync(), e.DetectFacesAsync(detectFaceAttributes: true));



                //check tags



                //foreach (var item in e.AnalysisResult.Description.Tags)
                //{
                //    if (item.Contains("fire"))
                //    {
                //        isfiredetected = true;
                //    }

                //}

                if (Constants.isFireDetected)
                {
                    if (isfiredetected)
                    {
                        var stream = new InMemoryRandomAccessStream();
                        await stream.WriteAsync(e.Data.AsBuffer());

                        stream.Seek(0);
                        await fireimage.SetSourceAsync(stream);

                        await Task.Delay(300);

                        ChatUserControl control = new ChatUserControl();
                        control.setControlProperties(500, "HAZARD", "Fire detected in sector 7", "peach", fireimage, true);
                        ChatStack.Children.Add(control);
                        // createsystemWarning("SYSTEM : ALERT", 400, 400, "Fire Detected in the meeting room", false, false, "sdf", true, "dark");

                        await Task.Delay(200);

                        myScroll.ChangeView(0, myScroll.ExtentHeight, 1);
                        isfiredetected = false;
                    }
                }



                if (e.DetectedFaces == null || !e.DetectedFaces.Any())
                {
                    this.lastDetectedFaceSample = null;
                    LastPersistedCount          = 0;
                }
                else
                {
                    this.lastDetectedFaceSample = e.DetectedFaces;
                    //analysis image can be taken here and done
                    if (!ishelmet)
                    {
                        ishelmet = true;

                        ChatUserControl control = new ChatUserControl();
                        control.setControlProperties(280, "SAFETY VIOLATION", "Personnel with no Helmet", "blue", null, false);
                        ChatStack.Children.Add(control);

                        await Task.Delay(200);

                        myScroll.ChangeView(0, myScroll.ExtentHeight, 1);


                        var data = await getData("http://gitex2017backend.azurewebsites.net/api/ServiceRequest/AnswerQuestion?Answer=Personnel with no Helmet&Session=" + SessionID);
                    }



                    if (LastUpdatedDateTime.AddMinutes(4) < DateTime.Now)
                    {
                        ishelmet = true;
                    }
                }

                // Compute Face Identification and Unique Face Ids
                await Task.WhenAll(e.IdentifyFacesAsync(), e.FindSimilarPersistedFacesAsync());

                if (!e.IdentifiedPersons.Any())
                {
                    this.lastIdentifiedPersonSample = null;
                }
                else
                {
                    this.lastIdentifiedPersonSample = e.DetectedFaces.Select(f => new Tuple <Face, IdentifiedPerson>(f, e.IdentifiedPersons.FirstOrDefault(p => p.FaceId == f.FaceId)));
                }

                if (!e.SimilarFaceMatches.Any())
                {
                    this.lastSimilarPersistedFaceSample = null;
                }
                else
                {
                    this.lastSimilarPersistedFaceSample = e.SimilarFaceMatches;
                }

                int count = 0;
                unauth = true;
                if (lastIdentifiedPersonSample == null && e.DetectedFaces.Count() > 0)
                {
                    var croppedimage = await GetPrimaryFaceFromCameraCaptureAsync(e, e.DetectedFaces.FirstOrDefault().FaceRectangle);

                    if (croppedimage != null)
                    {
                        this.OnImageSearchCompleted(croppedimage);
                    }
                }
                else
                {
                    foreach (var item in lastIdentifiedPersonSample)
                    {
                        try
                        {
                            if (item.Item2 == null)
                            {
                                count++;
                                var croppedImage = e;

                                croppedImage = await GetPrimaryFaceFromCameraCaptureAsync(e, item.Item1.FaceRectangle);

                                if (croppedImage != null)
                                {
                                    this.OnImageSearchCompleted(croppedImage);
                                }
                            }
                        }
                        catch (Exception ex)
                        {
                        }
                    }
                }
                if (!unauth)
                {
                    unauth = true;

                    ChatUserControl control = new ChatUserControl();
                    control.setControlProperties(200, "SECURITY VIOLATION", "Unauthorized personnel on Sector 7", "peach", null, false);
                    ChatStack.Children.Add(control);
                    myScroll.ChangeView(0, myScroll.ExtentHeight, 1);
                }

                if (LastPersistedCount < count)
                {
                    // PopToast(string.Format("{0} Unauthorized faces found", count));
                }
                LastPersistedCount = count;
                //this.UpdateDemographics(e);

                this.debugText.Text    = string.Format("Latency: {0}ms", (int)(DateTime.Now - start).TotalMilliseconds);
                this.ErrorText.Text    = e.ErrorMessage;
                this.isProcessingPhoto = false;
            }
            catch (Exception ex)
            {
                this.isProcessingPhoto = false;
            }
        }
        private async void LoadingChats(object sender, object e)
        {
            try
            {
                //Calling the webservices
                CurrentTime.Text = DateTime.Now.ToString(@"HH:mm:ss");



                await Task.Run(() => GetMaterials());

                await Task.Run(() => getNewChats());

                if (messages != null && messages.Count > 0)
                {
                    ChatUserControl control = new ChatUserControl();
                    control.setControlProperties(350, "USER", messages.FirstOrDefault().Question, "green", null, false);
                    ChatStack.Children.Add(control);

                    await Task.Delay(200);

                    myScroll.ChangeView(0, myScroll.ExtentHeight, 1);
                }
            }
            catch (Exception ex)
            {
            }

            try
            {
                //if any answer do it here
                if (PenQuestions != null && PenQuestions.Count > 0)
                {
                    switch (PenQuestions.FirstOrDefault().Type)
                    {
                    case "person":
                        var count = lastIdentifiedPersonSample.Count();
                        if (count > 0)
                        {
                            foreach (var item in lastIdentifiedPersonSample)
                            {
                                if (item.Item2 != null)
                                {
                                    if (item.Item2.Person.Name.ToLower().Contains("rami"))
                                    {
                                        answertext = "Yes,Rami is on site in sector 7";
                                    }
                                }
                            }
                            if (answertext == "")
                            {
                                answertext = "No, Rami is not currently on site in Sector 7";
                            }
                        }


                        break;

                    case "object":
                        break;

                    case "hammer":

                        if (Constants.materials.Count > 0)
                        {
                            foreach (var item in Constants.materials)
                            {
                                if (item.Confidence.ToLower().Contains("hammer"))
                                {
                                    ishammer = true;
                                }
                            }
                        }

                        if (ishammer)
                        {
                            answertext = "Yes, the Hammer is on stand in Sector 7";
                        }
                        else
                        {
                            answertext = "No, The Hammer is not detected in Sector 7";
                        }
                        break;

                    default:
                        answertext = "Sorry, I cannot detect right now";
                        PenQuestions.Clear();


                        break;
                    }
                }
                if (answertext != "")
                {
                    ChatUserControl control = new ChatUserControl();
                    control.setControlProperties(280, "USER RESPONSE", answertext, "blue", null, false);
                    ChatStack.Children.Add(control);

                    await Task.Delay(200);

                    myScroll.ChangeView(0, myScroll.ExtentHeight, 1);
                }
            }
            catch (Exception ex)
            {
            }
        }
示例#15
0
        private void ClientListener(object client)
        {
            TcpClient     tcpClient     = (TcpClient)client;
            NetworkStream clientStream  = tcpClient.GetStream();
            IFormatter    formatter     = new BinaryFormatter();
            String        userTreadName = "";

            // TEMP
            //ChatMessage cms = new ChatMessage("Gancho", "1", "test message 1");
            //this.sendToTcpClient(cms, tcpClient);
            //System.Threading.Thread.Sleep(5000);
            //cms = new ChatMessage("Gancho", "1", "test message 2");
            //this.sendToTcpClient(cms, tcpClient);
            //System.Threading.Thread.Sleep(5000);
            //cms = new ChatMessage("Gancho", "", "test message 3");
            //this.sendToTcpClient(cms, tcpClient);

            while (true)
            {
                try
                {
                    Object userObj = getFromClient(tcpClient);

                    if (userObj is ChatUserControl)
                    {
                        String  userName = ((ChatUserControl)userObj).UserName;
                        Boolean add      = ((ChatUserControl)userObj).Active;

                        if (add)
                        {
                            if (userName == "Admin" || this.userList.ContainsKey(userName))
                            {
                                ChatMessage cm = new ChatMessage("Admin", "", "Name already taken");
                                this.sendToTcpClient(cm, tcpClient);
                                break;
                            }

                            this.userList.Add(userName, tcpClient);
                            userTreadName = userName;
                            this.mainW.AddTextRow(userName + " logged");

                            this.sendToTcpClient(new ChatMessage("Admin", "", "Welcome, " + userName + "!"), tcpClient);

                            ChatUserControl cc;

                            foreach (KeyValuePair <string, TcpClient> item in this.userList)
                            {
                                cc = new ChatUserControl(item.Key, true);
                                this.sendToTcpClient(cc, tcpClient);

                                //send the user to other users list
                                if (!item.Key.Equals(userName))
                                {
                                    cc = new ChatUserControl(userName, true);
                                    this.sendToClient(cc, item.Key);
                                }
                            }
                        }
                        else
                        {
                            //logout event
                            ChatUserControl cc;

                            this.userList.Remove(userName);
                            this.mainW.AddTextRow(userName + " logged out");

                            foreach (KeyValuePair <string, TcpClient> item in this.userList)
                            {
                                cc = new ChatUserControl(userName, false);
                                this.sendToClient(cc, item.Key);
                            }

                            break;
                        }
                    }
                    else if (userObj is ChatMessage)
                    {
                        ChatMessage cm = ((ChatMessage)userObj);

                        String sender   = cm.SenderName;
                        String receiver = cm.ReceiverName;
                        String message  = cm.Message;


                        if (receiver.Equals("Admin"))
                        {
                            //@TODO
                            //Action message
                            //DO: Auth, Topic, Ban, Rename ...
                        }
                        else if (receiver.Equals(""))
                        {
                            //broadcast to all
                            this.mainW.AddTextRow(sender + " broadcast a message");


                            foreach (KeyValuePair <string, TcpClient> item in this.userList)
                            {
                                this.sendToTcpClient(cm, item.Value);
                            }
                        }
                        else
                        {
                            //private message - forward
                            this.mainW.AddTextRow("Private: " + sender + "->" + receiver);

                            if (this.userList.ContainsKey(receiver))
                            {
                                this.sendToClient(userObj, receiver);
                            }
                            else
                            {
                                cm = new ChatMessage(receiver, sender, "Admin: User is offline!");
                                this.sendToTcpClient(cm, tcpClient);
                            }
                        }
                    }
                    else
                    {
                        //error;
                        break;
                    }
                }
                catch
                {
                    //a socket error has occured

                    this.mainW.AddTextRow("Socket error for: " + userTreadName);
                    userList.Remove(userTreadName);
                    break;
                }


                // Console.WriteLine("To: " + tcpClient.Client.LocalEndPoint);
                // Console.WriteLine("From: " + tcpClient.Client.RemoteEndPoint);
            }

            //  tcpClient.Close();
        }