Beispiel #1
0
        public MainWindow()
        {
            Globals.currUserSub = new List <Channel>();
            InitializeComponent();
            lbNewsLists.ItemsSource = articleList;

            string isRemember = ConfigurationManager.AppSettings["isRemember"];


// if not login or first sign up user, will open today's canada news list

            if (Globals.currUserSub.Count == 0 && isRemember == "false")
            {
                Label messageLable = new Label();
                messageLable.Content = "Today's news in Canada. Login to see your channels";
                wpChannels.Children.Add(messageLable);
                try
                {
                    items = Utiles.GetTodayInCanada();
                    AddArticleList(items);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Fatal error: enable to connect API \n" + ex.Message,
                                    "HeadLine News API error", MessageBoxButton.OK, MessageBoxImage.Error);
                    Close();
                }
            }
            else
            {
                //read from app.config, to see if user checked remember me
                try
                {
                    string userEmail = ConfigurationManager.AppSettings["userEmail"];
                    string password  = ConfigurationManager.AppSettings["password"];

                    Globals.Db = new Database();
                    //get current user info
                    Globals.currUser = Globals.Db.LoginVerification(userEmail);
                    //get current user subscribed channel info
                    Globals.currUserSub = Globals.Db.GetSubscriptChannels(Globals.currUser);
                    loadCurrUserSub();
                    loadArticle();
                    lbNewsLists.Items.Refresh();
                }
                catch (SqlException ex)
                {
                    MessageBox.Show("Fatal error: unable to connext to database\n" + ex.Message,
                                    "HeadLine News Database", MessageBoxButton.OK, MessageBoxImage.Error);
                    Close();
                }
            }



            HideScriptErrors(wbIE, true);
        }
Beispiel #2
0
        private void BtnSearch_ButtonClick(object sender, RoutedEventArgs e)
        {
            string topic = tbSearch.Text;

            Utiles.searchArticle(topic);
            int totalResults = (int)Globals.articlSearch["totalResults"];

            //JArray items = (JArray)jo["articles"];
            articleList.Clear();
            LoadArticle();
            lbNewsLists.Items.Refresh();
            wbIE.Navigate(new Uri(articleList[0].Url));
        }
Beispiel #3
0
        private void Img_MouseLeftButtonDown1(object sender, MouseButtonEventArgs e)
        {
            Image imgClick = (Image)sender;

            string source = imgClick.Tag.ToString();

            items = Utiles.GetArticlesFromApi(source);
            articleList.Clear();

            AddArticleList(items);

            lbNewsLists.Items.Refresh();

            wbIE.Navigate(new Uri(items[0]["url"].ToString()));
        }
Beispiel #4
0
 public void loadArticle()
 {
     if (Globals.currUserSub.Count != 0)
     {
         try
         {
             items = Utiles.GetArticlesFromApi(Globals.currUserSub[0].Source);
             AddArticleList(items);
         }
         catch (Exception ex) {
             MessageBox.Show("Fatal error: unable to connext to API\n" + ex.Message,
                             "HeadLine News API error", MessageBoxButton.OK, MessageBoxImage.Error);
         }
     }
     lbNewsLists.Items.Refresh();
 }
Beispiel #5
0
        private void RegisteLogout_ButtonClick(object sender, RoutedEventArgs e)
        {
            RegisteLogout registeLogout = new RegisteLogout();

            registeLogout.ShowDialog();
            if (Globals.currUser != null)
            {
                loadCurrUserSub();

                loadArticle();
            }
            else
            {
                wpChannels.Children.Clear();
                Label messageLable = new Label();
                messageLable.Content = "Today's news in Canada. Login to see your channels";
                wpChannels.Children.Add(messageLable);
                items = Utiles.GetTodayInCanada();

                AddArticleList(items);
                lbNewsLists.Items.Refresh();
            }
        }
        private void UserLogin_ButtonClick(object sender, RoutedEventArgs e)
        {
            email      = tbUserEmail.Text;
            password   = pwdUserPsw.Password;
            isRemember = (bool)cbRemenberMe.IsChecked;



            if (email.Length == 0 || password.Length == 0)
            {
                message = "Please entre all the information";
                title   = "Information not complet";
                MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else if (!Regex.IsMatch(email, @"^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z]{2,})$"))
            {
                message = "Please check email format";
                title   = "Information not complet";
                MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                Globals.currUser = new User();



                using (MD5 md5Hash = MD5.Create())
                {
                    pswMd5 = Utiles.GetMd5Hash(md5Hash, password);
                }

                User user = Globals.Db.LoginVerification(email);

                if (pswMd5 == user.Password)
                {
                    Globals.currUser    = user;
                    Globals.currUserSub = Globals.Db.GetSubscriptChannels(Globals.currUser);
                    //write to confi
                    if (isRemember)
                    {
                        try
                        {
                            Utiles.AddOrUpdateAppSettings("userEmail", email);
                            Utiles.AddOrUpdateAppSettings("password", pswMd5);
                            Utiles.AddOrUpdateAppSettings("isRemember", "true");
                        }
                        catch (ConfigurationErrorsException ex)
                        {
                            MessageBox.Show("Cannot remember you login set", "login set error", MessageBoxButton.OK, MessageBoxImage.Error);
                        }
                    }


                    DialogResult = true;
                }
                else
                {
                    message = "Wrong user email or password \n Try again";
                    title   = "HeadLine News Login";


                    MessageBox.Show(message, title, MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }
        }