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); }
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)); }
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())); }
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(); }
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); } } }