コード例 #1
0
        public void OkClick(object sender, RoutedEventArgs routedEventArgs)
        {
            string path = null;

            if (LimitType == LimitUpString)
            {
                path = "portfolio/setlimitup";
            }
            else if (LimitType == LimitDownString)
            {
                path = "portfolio/setlimitdown";
            }
            APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.SetLimit, path);

            Dictionary <string, string> dict = new Dictionary <string, string>()
            {
                { "symbol", Symbol },
                { "limit", LimitValue.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture) }
            };
            var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
            {
                UseSimpleDictionaryFormat = true
            });
            MemoryStream stream = new MemoryStream();

            serializer.WriteObject(stream, dict);
            byte[] bytes   = stream.ToArray();
            string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token         = localSettings.Values["token"];

            request.Execute((string)token, content);
        }
コード例 #2
0
        private void RegisterClick(object sender, RoutedEventArgs e)
        {
            if (UsernameField.Text == "" || PasswordField.Password == "" || ConfirmPasswordField.Password == "")
            {
                ErrorField.Text = "All fields are mandatory.";
                return;
            }
            if (PasswordField.Password != ConfirmPasswordField.Password)
            {
                ErrorField.Text = "Password and Confirmation don't match.";
                return;
            }

            ErrorField.Text = "";

            APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.Register, "register");

            Dictionary<string, string> dict = new Dictionary<string, string>()
            {
                {"username", UsernameField.Text},
                {"password", PasswordField.Password}
            };
            var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
            {
                UseSimpleDictionaryFormat = true
            });
            MemoryStream stream = new MemoryStream();
            serializer.WriteObject(stream, dict);
            byte[] bytes = stream.ToArray();
            string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

            request.Execute(null, content);
        }
コード例 #3
0
        public void MainClick(object sender, RoutedEventArgs routedEventArgs)
        {
            if (Favorite == false)
            {
                APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.Favorite, "portfolio/favorite");
                Dictionary <string, string> dict = new Dictionary <string, string>()
                {
                    { "symbol", Symbol }
                };
                var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
                {
                    UseSimpleDictionaryFormat = true
                });
                MemoryStream stream = new MemoryStream();
                serializer.WriteObject(stream, dict);
                byte[] bytes   = stream.ToArray();
                string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

                var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
                var token         = localSettings.Values["token"];

                request.Execute((string)token, content);
            }
            else
            {
                APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.Unfavorite, "portfolio/unfavorite");

                var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
                var token         = localSettings.Values["token"];

                request.Execute((string)token, null);
            }
        }
コード例 #4
0
        private void LoginClick(object sender, RoutedEventArgs e)
        {
            if (UsernameField.Text == "" || PasswordField.Password == "")
            {
                ErrorField.Text = "All fields are mandatory.";
                return;
            }

            ErrorField.Text = "";

            APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.Login, "login");

            Dictionary <string, string> dict = new Dictionary <string, string>()
            {
                { "username", UsernameField.Text },
                { "password", PasswordField.Password }
            };
            var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
            {
                UseSimpleDictionaryFormat = true
            });
            MemoryStream stream = new MemoryStream();

            serializer.WriteObject(stream, dict);
            byte[] bytes   = stream.ToArray();
            string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

            request.Execute(null, content);
        }
コード例 #5
0
        public void RefreshPortfolio()
        {
            APIRequest request = new APIRequest(APIRequest.GET, this, APIRequest.requestCodeType.Portfolio, "portfolio");

            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token         = localSettings.Values["token"];

            request.Execute((string)token, null);
        }
コード例 #6
0
        public void Logout()
        {
            APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.Logout, "logout");

            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token         = localSettings.Values["token"];

            request.Execute((string)token, null);
        }
コード例 #7
0
        public void RefreshShare()
        {
            APIRequest request       = new APIRequest(APIRequest.GET, this, APIRequest.requestCodeType.Share, "share/" + _symbol);
            var        localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var        token         = localSettings.Values["token"];

            request.Execute((string)token, null);

            UpdateChart();
        }
コード例 #8
0
        async public void updateChannelUri()
        {
            PushNotificationChannel channel;

            try
            {
                //TODO subscribe to NetworkStatusChanged if channel is null
                channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

                string     channelUri = channel.Uri;
                APIRequest request    = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.UpdateUri, "user/updatechannelUri");

                Dictionary <string, string> dict = new Dictionary <string, string>()
                {
                    { "channelUri", channelUri }
                };
                var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
                {
                    UseSimpleDictionaryFormat = true
                });
                MemoryStream stream = new MemoryStream();
                serializer.WriteObject(stream, dict);
                byte[] bytes   = stream.ToArray();
                string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

                var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
                var token         = localSettings.Values["token"];

                request.Execute((string)token, content);
            }

            catch (Exception ex)
            {
                var toastXmlContent = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);

                var txtNodes = toastXmlContent.GetElementsByTagName("text");
                txtNodes[0].AppendChild(toastXmlContent.CreateTextNode("Push notification service connection failed."));
                txtNodes[1].AppendChild(toastXmlContent.CreateTextNode(ex.Message));

                var toast         = new ToastNotification(toastXmlContent);
                var toastNotifier = ToastNotificationManager.CreateToastNotifier();
                toastNotifier.Show(toast);
            }
        }
コード例 #9
0
        public async void UpdateChart()
        {
            string path = "share/evolution/" + Symbol;

            if (FromDate != null)
            {
                if (ToDate != null)
                {
                    if (FromDate.Value < ToDate.Value)
                    {
                        string fromDateString = FromDate.Value.ToString("yyyy-MM-dd");
                        string toDateString   = ToDate.Value.ToString("yyyy-MM-dd");
                        path += "/" + fromDateString + "/" + toDateString;

                        if (ChartPeriodicity != null)
                        {
                            path += "/" + ChartPeriodicity;
                        }
                    }
                    else
                    {
                        var messageDialog = new MessageDialog("Invalid dates.");

                        messageDialog.Commands.Add(new UICommand(
                                                       "Ok"));

                        // Show the message dialog
                        await messageDialog.ShowAsync();
                    }
                }
            }



            APIRequest request = new APIRequest(APIRequest.GET, this, APIRequest.requestCodeType.ShareEvolution, path);

            request.Execute(null, null);
        }
コード例 #10
0
        private void AddPortfolioShare(string text)
        {
            APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.PortfolioAdd, "portfolio/add");

            Dictionary <string, string> dict = new Dictionary <string, string>()
            {
                { "symbol", text }
            };
            var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
            {
                UseSimpleDictionaryFormat = true
            });
            MemoryStream stream = new MemoryStream();

            serializer.WriteObject(stream, dict);
            byte[] bytes   = stream.ToArray();
            string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token         = localSettings.Values["token"];

            request.Execute((string)token, content);
        }
コード例 #11
0
        public void MainClick(object sender, RoutedEventArgs routedEventArgs)
        {
            if (Favorite == false)
            {
                APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.Favorite, "portfolio/favorite");
                Dictionary<string, string> dict = new Dictionary<string, string>()
                {
                    {"symbol", Symbol}
                };
                var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
                {
                    UseSimpleDictionaryFormat = true
                });
                MemoryStream stream = new MemoryStream();
                serializer.WriteObject(stream, dict);
                byte[] bytes = stream.ToArray();
                string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

                var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
                var token = localSettings.Values["token"];

                request.Execute((string) token, content);
            }
            else
            {
                APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.Unfavorite, "portfolio/unfavorite");

                var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
                var token = localSettings.Values["token"];

                request.Execute((string)token, null);
            }

        }
コード例 #12
0
        public void RefreshShare()
        {
            APIRequest request = new APIRequest(APIRequest.GET, this, APIRequest.requestCodeType.Share, "share/" + _symbol);
            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token = localSettings.Values["token"];
            request.Execute((string) token, null);

            UpdateChart();
        }
コード例 #13
0
        async public void updateChannelUri()
        {
            PushNotificationChannel channel;
            try
            {
                //TODO subscribe to NetworkStatusChanged if channel is null
                channel = await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();
                string channelUri = channel.Uri;
                APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.UpdateUri, "user/updatechannelUri");

                Dictionary<string, string> dict = new Dictionary<string, string>()
            {
                {"channelUri", channelUri}
            };
                var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
                {
                    UseSimpleDictionaryFormat = true
                });
                MemoryStream stream = new MemoryStream();
                serializer.WriteObject(stream, dict);
                byte[] bytes = stream.ToArray();
                string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

                var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
                var token = localSettings.Values["token"];

                request.Execute((string)token, content);
            }

            catch (Exception ex)
            {
                var toastXmlContent = ToastNotificationManager.GetTemplateContent(ToastTemplateType.ToastText02);

                var txtNodes = toastXmlContent.GetElementsByTagName("text");
                txtNodes[0].AppendChild(toastXmlContent.CreateTextNode("Push notification service connection failed."));
                txtNodes[1].AppendChild(toastXmlContent.CreateTextNode(ex.Message));

                var toast = new ToastNotification(toastXmlContent);
                var toastNotifier = ToastNotificationManager.CreateToastNotifier();
                toastNotifier.Show(toast);
            }
             
        }
コード例 #14
0
        private void LoadAllItems()
        {
            APIRequest request = new APIRequest(APIRequest.GET, this, APIRequest.requestCodeType.AllShares, "shares");

            request.Execute(null, null);
        }
コード例 #15
0
        public void OkClick(object sender, RoutedEventArgs routedEventArgs)
        {
            string path = null;
            if (LimitType == LimitUpString)
            {
                path = "portfolio/setlimitup";
            }else if (LimitType == LimitDownString)
            {
                path = "portfolio/setlimitdown";
            }
            APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.SetLimit, path);

            Dictionary<string, string> dict = new Dictionary<string, string>()
                {
                    {"symbol", Symbol},
                    {"limit", LimitValue.ToString("0.000", System.Globalization.CultureInfo.InvariantCulture)}
                };
            var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
            {
                UseSimpleDictionaryFormat = true
            });
            MemoryStream stream = new MemoryStream();
            serializer.WriteObject(stream, dict);
            byte[] bytes = stream.ToArray();
            string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token = localSettings.Values["token"];

            request.Execute((string)token, content);
        }
コード例 #16
0
 private void LoadAllItems()
 {
     APIRequest request = new APIRequest(APIRequest.GET, this, APIRequest.requestCodeType.AllShares, "shares");
     request.Execute(null, null);
 }
コード例 #17
0
        public void Logout()
        {
            APIRequest request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.Logout, "logout");

            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token = localSettings.Values["token"];

            request.Execute((string)token, null);
        }
コード例 #18
0
        public async void UpdateChart()
        {

            string path = "share/evolution/" + Symbol;

            if (FromDate != null)
            {
                if (ToDate != null)
                {
                    if (FromDate.Value < ToDate.Value)
                    {
                        string fromDateString = FromDate.Value.ToString("yyyy-MM-dd");
                        string toDateString = ToDate.Value.ToString("yyyy-MM-dd");
                        path += "/" + fromDateString + "/" + toDateString;

                        if (ChartPeriodicity != null)
                            path += "/" + ChartPeriodicity;
                    }
                    else
                    {
                        var messageDialog = new MessageDialog("Invalid dates.");
                        
                        messageDialog.Commands.Add(new UICommand(
                            "Ok"));
                        
                        // Show the message dialog
                        await messageDialog.ShowAsync();
                    }
                }
            }

            

            APIRequest request = new APIRequest(APIRequest.GET, this, APIRequest.requestCodeType.ShareEvolution, path);
            request.Execute(null, null);

        }
コード例 #19
0
        public void DeleteShare()
        {
            APIRequest request = request = new APIRequest(APIRequest.POST, this, APIRequest.requestCodeType.PortfolioRemove, "portfolio/remove");

            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token = localSettings.Values["token"];
            
            Dictionary<string, string> dict = new Dictionary<string, string>()
            {
                {"symbol", Symbol}
            };
            var serializer = new DataContractJsonSerializer(dict.GetType(), new DataContractJsonSerializerSettings()
            {
                UseSimpleDictionaryFormat = true
            });
            MemoryStream stream = new MemoryStream();
            serializer.WriteObject(stream, dict);
            byte[] bytes = stream.ToArray();
            string content = Encoding.UTF8.GetString(bytes, 0, bytes.Length);

            request.Execute((string)token, content);
        }
コード例 #20
0
        public void RefreshPortfolio()
        {
            APIRequest request = new APIRequest(APIRequest.GET, this, APIRequest.requestCodeType.Portfolio, "portfolio");

            var localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;
            var token = localSettings.Values["token"];

            request.Execute((string) token, null);

        }