Ejemplo n.º 1
0
 public void OnRepeater(object sender, RepeaterEventArgs e)
 {
     if (Repeater != null)
     {
         Repeater(this, e);
     }
 }
Ejemplo n.º 2
0
        public void ProceedCommand(object sender, RepeaterEventArgs e)
        {
            if (e.Type == ActionTypes.Login)
            {
                if (e.Result)
                {
                    DispatchService.Invoke(() =>
                    {
                        _logicClient.Login                    = Login;
                        var communicatorWindow                = new CommunicatorWindow();
                        var communicatorViewModel             = new CommunicatorViewModel(_logicClient);
                        communicatorViewModel.OnRequestClose += (s, ee) => communicatorWindow.Close();
                        communicatorWindow.DataContext        = communicatorViewModel;
                        communicatorWindow.Show();
                        communicatorViewModel.Inicialize();

                        if (OnRequestClose != null)
                        {
                            OnRequestClose(this, new EventArgs());
                        }
                    });
                }
                else
                {
                    Result = "Niepoprawne hało lub login";
                }
            }
        }
Ejemplo n.º 3
0
        public void ProceedCommand(object sender, RepeaterEventArgs e)
        {
            if (e.Type == ActionTypes.History)
            {
                if (e.Result)
                {
                    var history = (HistoryResponse)e.Data;
                    History = history.Messages;

                    GetAllUsers();
                }
            }
        }
Ejemplo n.º 4
0
 public void ProceedCommand(object sender, RepeaterEventArgs e)
 {
     if (e.Type == ActionTypes.UserCreate)
     {
         if (e.Result)
         {
             Result            = "Zarejestrowano";
             Login             = string.Empty;
             Password          = string.Empty;
             ConfirmedPassword = string.Empty;
         }
         else
         {
             Result = "Błąd podczas rejestracji";
         }
     }
 }
Ejemplo n.º 5
0
        public void ProceedCommand(object sender, RepeaterEventArgs e)
        {
            if (e.Type == ActionTypes.Message)
            {
                if (e.Result)
                {
                    var message = (MessageReq)e.Data;
                    if (message.Login == Recipeint)
                    {
                        DispatchService.Invoke(() =>
                        {
                            var messageModel = new MessageModel
                            {
                                DateTimeDelivery = message.SendTime.ToString("yy-MM-dd hh:mm"),
                                Message          = message.Message,
                                Sender           = message.Login,
                                Image            = GetImageFromAttach(message.Attachment)
                            };

                            Messages.Add(messageModel);
                        });
                    }
                }
            }
            else if (e.Type == ActionTypes.UserWriting)
            {
                if (e.Result)
                {
                    var notification = (ActivityNotification)e.Data;
                    if (notification.Sender == Recipeint)
                    {
                        Task.Factory.StartNew(() =>
                        {
                            DispatchService.Invoke(
                                () => { UserWriting = notification.IsWriting ? "Użytkownik pisze..." : ""; });

                            Thread.Sleep(3000);
                            DispatchService.Invoke(() => { UserWriting = ""; });
                        });
                    }
                }
            }
        }
Ejemplo n.º 6
0
        public void ProceedCommand(object sender, RepeaterEventArgs e)
        {
            if (e.Type == ActionTypes.ContactList)
            {
                if (e.Result)
                {
                    var users = (List <User>)e.Data;

                    DispatchService.Invoke(() =>
                    {
                        Contacts.Clear();
                        users.ForEach(u =>
                        {
                            var contactViewModel =
                                new ContactViewModel(new ContactModel
                            {
                                Login          = u.Login,
                                Status         = u.Status,
                                StatusImageUri = getStatusImage(u.Status)
                            });
                            Contacts.Add(contactViewModel);
                        });
                    });
                }
            }
            else if (e.Type == ActionTypes.Message)
            {
                if (e.Result)
                {
                    var messageReq = (MessageReq)e.Data;
                    if (!ConversationWindows.Any(cmv => cmv.Recipeint == messageReq.Login))
                    {
                        DispatchService.Invoke(() =>
                        {
                            var conversationWindow                = new ConversationWindow();
                            var conversationViewModel             = new ConversationViewModel(_logicClient);
                            conversationViewModel.OnRequestClose += (s, ee) =>
                            {
                                conversationWindow.Close();
                                DeleteFromConversationList(conversationViewModel.Recipeint);
                            };

                            var messageModel = new MessageModel
                            {
                                DateTimeDelivery = messageReq.SendTime.ToString("yy-MM-dd hh:dd"),
                                Message          = messageReq.Message,
                                Sender           = messageReq.Login,
                                Image            = GetImageFromAttach(messageReq.Attachment)
                            };
                            conversationViewModel.Initialize(messageReq.Login);
                            conversationViewModel.AddMessage(messageModel);
                            conversationWindow.DataContext = conversationViewModel;
                            conversationWindow.Show();

                            ConversationWindows.Add(conversationViewModel);
                        });
                    }
                }
            }
            else if (e.Type == ActionTypes.PresenceNotification)
            {
                var presenceNotification = (PresenceStatusNotification)e.Data;

                ContactViewModel contact = Contacts.SingleOrDefault(c => c.Login == presenceNotification.Login);
                if (contact != null)
                {
                    contact.Status         = presenceNotification.PresenceStatus;
                    contact.StatusImageUri = getStatusImage(presenceNotification.PresenceStatus);
                }
            }
        }