public WindowsViewModel()
        {
            ITcpEndPoint TcpEndPoint = Factory.CreateEndPoint();

            IChatting chatting = Factory.CreateConnectingToServer();

            IMessageContent messageContent = Factory.CreateMessageContent();

            IPerson person = Factory.CreatePerson();

            MessageList.Items = new System.Collections.ObjectModel.ObservableCollection <IMessageContent>();

            IJsonContainer container = Factory.CreateJsonContainer();

            IUserContent userContent = Factory.CreateUserContent();

            IUserValidationData userValidationData = new UserValidationData();

            ViewModels = new List <object>
            {
                new SignInViewModel(this, chatting, messageContent, person, TcpEndPoint, container, userContent),
                new LogInViewModel(this, chatting, messageContent, person, TcpEndPoint, container, userContent, userValidationData),
                new ChatViewModel(messageContent, this)
            };

            currentView = ViewModels[1];
        }
Exemplo n.º 2
0
        public LogInViewModel(IWindowsViewModel windowsViewModel,
                              IChatting chatting,
                              IMessageContent messageContent,
                              IPerson person,
                              ITcpEndPoint tcpEndPoint,
                              IJsonContainer container,
                              IUserContent userContent,
                              IUserValidationData userValidationData)
        {
            _person             = person;
            _windowsViewModel   = windowsViewModel;
            _userValidationData = userValidationData;

            //firstTime = true;

            //////////////////Vecaic variant priekš sarkanās bultas
            //IsNameSet = false;
            //ArrowVisibility = "Hidden";
            ///////////////

            //GetData = new RelayCommand(GetAppruval);//already is excecuted in LogInCommand
            SwitchToSignIn = new RelayCommand(ToSignIn);

            LogInCommand = new LogInRelayCommand(Login, _windowsViewModel, GetAppruval, chatting.Receiving2,
                                                 this, messageContent, tcpEndPoint, container);



            //SetPicFamele = new RelayCommand(SetDefoultFamelePic);
            //SetPicMale = new RelayCommand(SetDefoultMalePic);
            //AddPic = new RelayCommand(AddPicture);
        }
Exemplo n.º 3
0
 private bool TryCreateGuestSocket(ITcpEndPoint connectEndpoint, out IConnectedSocket client)
 {
     try {
         client = networkingProxy.CreateConnectedSocket(connectEndpoint);
         return(true);
     } catch (SocketException) {
         client = null;
         return(false);
     }
 }
 public LogInRelayCommand(Action <object> login, IWindowsViewModel windowsViewModel, Action execute2, Action <IWindowsViewModel, /* ILogInViewModel, */ IMessageContent, /* ITcpEndPoint, */ IJsonContainer> execute3,
                          ILogInViewModel userData, IMessageContent messageContent, ITcpEndPoint tcpEndPoint, IJsonContainer container)
 {
     _login            = login;
     _execute2         = execute2;
     _execute3         = execute3;
     _userData         = userData;
     _messageContent   = messageContent;
     _tcpEndPoint      = tcpEndPoint;
     _container        = container;;
     _windowsViewModel = windowsViewModel;
 }
 public ParameterRelayCommand(IWindowsViewModel windowsViewModel, Action execute2, Action <IWindowsViewModel, ISignInViewModel, IMessageContent, ITcpEndPoint, IJsonContainer> execute3,
                              SignInViewModel userData, IMessageContent messageContent, ITcpEndPoint tcpEndPoint, IJsonContainer container, Action noNameCheck)
 {
     _execute2         = execute2;
     _execute3         = execute3;
     _userData         = userData;
     _messageContent   = messageContent;
     _tcpEndPoint      = tcpEndPoint;
     _container        = container;;
     _windowsViewModel = windowsViewModel;
     _noNameCheck      = noNameCheck;
 }
        public NestResult Start(IEggParameters parameters)
        {
            var thumbnailGenerationParameters = parameters == null ? null : pofSerializer.Deserialize <ThumbnailGenerationParameters>(new MemoryStream(parameters.Arguments));

            this.parameters = parameters;
            if (parameters == null || thumbnailGenerationParameters == null)
            {
                // construct libdargon.management dependencies
                ITcpEndPoint managementServerEndpoint = networkingProxy.CreateAnyEndPoint(kDaemonManagementPort);
                var          managementFactory        = new ManagementFactoryImpl(collectionFactory, threadingProxy, networkingProxy, pofContext, pofSerializer);
                var          localManagementServer    = managementFactory.CreateServer(new ManagementServerConfiguration(managementServerEndpoint));
                keepalive.Add(localManagementServer);
                localManagementServer.RegisterInstance(new ThumbnailGenerationMob(thumbnailGeneratorService));
                shutdownLatch.WaitOne();
            }
            else
            {
                thumbnailGeneratorService.GenerateThumbnails(thumbnailGenerationParameters);
            }
            return(NestResult.Success);
        }
        public SignInViewModel(IWindowsViewModel windowsViewModel,
                               IChatting chatting,
                               IMessageContent messageContent,
                               IPerson person,
                               ITcpEndPoint tcpEndPoint,
                               IJsonContainer container,
                               IUserContent userContent)
        {
            _person           = person;
            _windowsViewModel = windowsViewModel;

            firstTime       = true;
            IsNameSet       = false;
            ArrowVisibility = "Hidden";

            SetView = new ParameterRelayCommand(_windowsViewModel, GetUserData, chatting.Receiving,
                                                this, messageContent, tcpEndPoint, container, NoNameCheck);

            SetPicFamele = new RelayCommand(SetDefoultFamelePic);
            SetPicMale   = new RelayCommand(SetDefoultMalePic);
            AddPic       = new RelayCommand(AddPicture);

            SwitchToLogin = new RelayCommand(ToLogin);
        }
Exemplo n.º 8
0
        public void Receiving(IWindowsViewModel windowsViewModel, ISignInViewModel loginViewModel, IMessageContent messageContent,
                              ITcpEndPoint tcpEndPoint, IJsonContainer container)
        {
            _tcpEndPoint      = tcpEndPoint;
            _windowsViewModel = windowsViewModel;

            FirstTime = true;

            IsConnected = true;

            var uiContext = SynchronizationContext.Current;

            Task.Run(() =>
            {
                ConnectingToServer();

                TcpSocket.tcpSocket.BeginSend(ConverData.ToSend(PersonList.GetPersonInfo()), 0, ConverData.ToSend(PersonList.GetPersonInfo()).Length, 0, new AsyncCallback(SendCallback), TcpSocket.tcpSocket);
                connectDone.WaitOne();

                while (IsConnected)
                {
                    _windowsViewModel.ChangeView(2);

                    var textFromServer = ReceivData(uiContext, container);

                    try
                    {
                        container = ConverData.ToReceiv <JsonContainer>(textFromServer.ToString());
                    }
                    catch (Exception ex)
                    {
                        Console.Write(ex.ToString());
                    }

                    if (FirstTime)
                    {
                        if (container.CurrentPersonId != null)
                        {
                            User.Id = container.CurrentPersonId.Id;
                        }

                        AddToOnlineUserList(uiContext, container);

                        GetAllMessages(messageContent, container, uiContext);


                        FirstTime = false;
                    }
                    else
                    {
                        // Detect if OnlineUsers changed
                        if (container?.Persons?.Count > OnlineUsers.UserList.Count || container?.Persons?.Count < OnlineUsers.UserList.Count)
                        {
                            ChangeOnlineUserList(uiContext, container, textFromServer.ToString());
                        }
                        else
                        {
                            AddNewMessage(uiContext, messageContent, textFromServer.ToString());
                        }
                    }
                }
            });
        }