Exemplo n.º 1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            // Login
            var username = tbxUsername.Text;
            var password = pwdBox.Password;

            if (string.IsNullOrWhiteSpace(username) || string.IsNullOrWhiteSpace(password))
            {
                // return error message
                LoginFailedSetStyle("Username & password must be filled");
                return;
            }

            var httpClient = new HttpClient
            {
                BaseAddress           = new Uri(HttpClientHelper.ApiUrl + "Login"),
                DefaultRequestHeaders = { Accept = { new MediaTypeWithQualityHeaderValue("application/xml") } }
            };

            // Post login info
            var response = httpClient.GetStringAsync(string.Format($"?USERNAME={username}&PASSWORD={password}")).Result;

            if (response != null)
            {
                var doc = new XmlDocument();
                doc.LoadXml(response);
                string jsonText  = JsonConvert.SerializeXmlNode(doc);
                var    jsonLogin = JsonConvert.DeserializeObject <JsonLogin>(jsonText);

                if (string.IsNullOrEmpty(jsonLogin.Page?.Rows?.Row[0].SessionKey))
                {
                    // Error
                    LoginFailedSetStyle(jsonLogin.Page.Error.ErrorMessage);
                    return;
                }

                // Set session Key and user id in settings
                Settings.Default.SessionKey = jsonLogin.Page.Rows.Row[0].SessionKey;
                Settings.Default.Save();


                // Switch window
                var mainWindow = new _mainFrame();
                App.Current.MainWindow = mainWindow;
                //this.Close();
                this.Visibility = Visibility.Hidden;
                mainWindow.Show();
            }
        }
Exemplo n.º 2
0
        public LoginWindow()
        {
            var jsonLogin = HttpClientHelper.Get <JsonLogin>("ValidateSession");

            if (jsonLogin.Page?.Error == null)
            {
                // Switch window
                var mainWindow = new _mainFrame();
                App.Current.MainWindow = mainWindow;
                //this.Close();
                this.Visibility = Visibility.Hidden;
                mainWindow.Show();
                return;
            }


            InitializeComponent();
        }
Exemplo n.º 3
0
        public ChatPage(string userid, _mainFrame mainFrameRef)
        {
            MainFrameRef = mainFrameRef;
            try
            {
                VerticalOffsetProperty = DependencyProperty.Register("VerticalOffset",
                                                                     typeof(double), typeof(ChatPage), new PropertyMetadata(0.0, OnVerticalOffsetChanged));
            }
            catch (Exception ex)
            {
                VerticalOffsetProperty = ConversationView.VerticalAlignmentProperty;
            }

            UserId = userid;

            InitializeComponent();

            var messagesFromPrevConvo = HttpClientHelper.Get <JsonLogin>($"GetMessage?USER={UserId}");

            if (messagesFromPrevConvo.Page?.Rows?.Row != null)
            {
                foreach (var message in messagesFromPrevConvo.Page.Rows.Row)
                {
                    if (message.MessageFromUser == UserId)
                    {
                        messages.Add(new Message()
                        {
                            Side      = MessageSide.You,
                            Text      = message.MessageContent,
                            Timestamp = (DateTime) new DateTimeConverter().ConvertFrom(message.MessageTimestamp)
                        });
                    }
                    else
                    {
                        messages.Add(new Message()
                        {
                            Side      = MessageSide.Me,
                            Text      = message.MessageContent,
                            Timestamp = (DateTime) new DateTimeConverter().ConvertFrom(message.MessageTimestamp)
                        });
                    }
                }

                LastLocalMessageId = messagesFromPrevConvo.Page.Rows.Row.LastOrDefault().MessageUserMesssageID;
            }


            this.DataContext = messages;

            scrollViewerScrollToEndAnim = new DoubleAnimation()
            {
                Duration       = TimeSpan.FromSeconds(1),
                EasingFunction = new SineEase()
            };
            Storyboard.SetTarget(scrollViewerScrollToEndAnim, this);
            Storyboard.SetTargetProperty(scrollViewerScrollToEndAnim, new PropertyPath(VerticalOffsetProperty));

            scrollViewerStoryboard = new Storyboard();
            scrollViewerStoryboard.Children.Add(scrollViewerScrollToEndAnim);
            this.Resources.Add("foo", scrollViewerStoryboard);

            TextInput.Focus();

            GetNewMessages();
        }