public void load_image(object arg, DoWorkEventArgs e) { int contribution_id = (int)e.Argument; if (!window_manager.downloaded_contributions.Contains(contribution_id)) { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var result1 = from c in db.Contributions where c.id == contribution_id select c; if (result1.Count() != 0) { Contribution contrib = result1.First<Contribution>(); bool result = file_manager.download_file_from_googledirve(contrib.media_url, contribution_id); if (result) window_manager.downloaded_contributions.Add(contribution_id); } } try { ImageSource src = new BitmapImage(new Uri(configurations.GetAbsoluteContributionPath() + contribution_id.ToString() + ".jpg")); src.Freeze(); the_image = src; //window_manager.contributions.Add(contribution_id, src); e.Result = (object)contribution_id; } catch (Exception) { /// write log e.Result = -1; } }
private void button_submit_Click(object sender, RoutedEventArgs e) { reset(); desc.Visibility = System.Windows.Visibility.Visible; if (textbox_name.Text == "") { textbox_name.BorderBrush = Brushes.Red; textbox_name.BorderThickness = new Thickness(5); desc.Text = "Name is empty."; textbox_name.Focus(); log.WriteInteractionLog(37, "Name was empty.", ((TouchEventArgs)e).TouchDevice); return; } if (textbox_email.Text == "") { textbox_email.BorderBrush = Brushes.Red; textbox_email.BorderThickness = new Thickness(5); desc.Text = "Email is empty."; textbox_email.Focus(); log.WriteInteractionLog(37, "Email was empty.", ((TouchEventArgs)e).TouchDevice); return; } if (!IsValid(textbox_email.Text)) { textbox_email.BorderBrush = Brushes.Red; textbox_email.BorderThickness = new Thickness(5); desc.Text = "Enter a valid email address."; textbox_email.Focus(); log.WriteInteractionLog(37, "Email was not valid.", ((TouchEventArgs)e).TouchDevice); return; } if (user_pin.IsEmpty()) { user_pin.BorderBrush = Brushes.Red; user_pin.BorderThickness = new Thickness(5); desc.Text = "Choose a PIN."; user_pin.Focus(); log.WriteInteractionLog(37, "PIN was empty.", ((TouchEventArgs)e).TouchDevice); return; } if (avatar_list_control.Tag == null) { avatar_border.BorderBrush = Brushes.Red; avatar_border.BorderThickness = new Thickness(5); desc.Text = "Please select an avatar."; avatar_image.Focus(); log.WriteInteractionLog(37, "Avatar was empty.", ((TouchEventArgs)e).TouchDevice); return; } naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); List<string> usernames = new List<string>(); var r = from us in db.Users select us.name; if (r != null) usernames = r.ToList<string>(); if (UserExists(usernames, textbox_name.Text)) { textbox_name.BorderBrush = Brushes.Red; textbox_name.BorderThickness = new Thickness(5); desc.Text = "This name has already been taken, choose another."; log.WriteInteractionLog(37, "User exists.", ((TouchEventArgs)e).TouchDevice); return; } User u = new User(); u.name = textbox_name.Text; u.email = textbox_email.Text; u.avatar = (string)(avatar_list_control.Tag); u.password = user_pin.pin_string; //UnicodeEncoding encode = new UnicodeEncoding(); //byte[] pass_byte = encode.GetBytes(textbox_password.Password); //SHA1CryptoServiceProvider sha1 = new SHA1CryptoServiceProvider(); //byte[] pass_hash = sha1.ComputeHash(pass_byte); string consent_checkboxes = ""; if (checkbox_agreement1.IsChecked.Value) consent_checkboxes = consent_checkboxes + configurations.GetTextBlockText((TextBlock)(checkbox_agreement1.Content)) + ";" ; if (checkbox_agreement2.IsChecked.Value) consent_checkboxes = consent_checkboxes + configurations.GetTextBlockText((TextBlock)(checkbox_agreement2.Content)) + ";"; if (checkbox_agreement3.IsChecked.Value) consent_checkboxes = consent_checkboxes + configurations.GetTextBlockText((TextBlock)(checkbox_agreement3.Content)) + ";"; if (checkbox_agreement4.IsChecked.Value) consent_checkboxes = consent_checkboxes + configurations.GetTextBlockText((TextBlock)(checkbox_agreement4.Content)); u.technical_info = textbox_name.Text + " signed the consent form on " + DateTime.Now.ToString() + "; " + consent_checkboxes; try { database_manager.InsertUser(u); desc.Text = "Congratulations!"; //file_manager.add_user_to_googledrive(u.id, u.name, u.avatar); window_manager.close_signup_window((window_frame)parent, u.name); log.WriteInteractionLog(38, "Username="******"Could not complete the operation."; log.WriteErrorLog(ex); } }
public void get_all_users(object arg, DoWorkEventArgs e) { e.Result = (object)(new List<user_item>()); try { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var r = from u in db.Users where u.id != 0 orderby u.name select u; if (r == null) { e.Result = (object)(new List<user_item>()); return; } List<user_item> users = new List<user_item>(); foreach (User u in r) { user_item i = new user_item(); ImageSource src = new BitmapImage(new Uri(configurations.GetAbsoluteAvatarPath() + u.avatar)); src.Freeze(); i.img = src; i.user = u; users.Add(i); } e.Result = (object)users; } catch (Exception ex) { log.WriteErrorLog(ex); } }
public void get_all_comments(object arg, DoWorkEventArgs e) { if (e.Argument == null) return; e.Result = (object)(new List<Feedback>()); try { comment_item item = (comment_item)e.Argument; naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var r = from c in db.Feedbacks where (c.Feedback_Type.name == "Comment") && (c.object_type == item._object_type.ToString()) && (c.object_id == item._object_id) orderby c.date descending select c; if (r != null) { List<Feedback> comments = r.ToList<Feedback>(); e.Result = (object)comments; } else { e.Result = (object)(new List<Feedback>()); } } catch (Exception ex) { log.WriteErrorLog(ex); } }
public void get_all_design_ideas(object arg, DoWorkEventArgs e) { e.Result = (object)(new List<design_idea_item>()); try { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var r = from d in db.Design_Ideas orderby d.date descending select d; if (r == null) { e.Result = (object)(new List<design_idea_item>()); return; } List<design_idea_item> ideas = new List<design_idea_item>(); foreach (Design_Idea d in r) { design_idea_item i = new design_idea_item(); ImageSource src = new BitmapImage(new Uri(configurations.GetAbsoluteAvatarPath() + d.avatar)); src.Freeze(); i.img = src; i.design_idea = d; ideas.Add(i); } e.Result = (object)ideas; } catch (Exception ex) { log.WriteErrorLog(ex); } }
void submit_comment_auth_clicked(object sender, RoutedEventArgs e) { if (this.GetActiveTextBox().Text == "") { this.error_desc.Visibility = System.Windows.Visibility.Visible; this.error_desc.Content = "Comment text is empty."; if (is_reply) log.WriteInteractionLog(41, (hide_expander?"Idea":"Comment") + "; Reply id: " + reply_id + "; Text is empty; object_type: " + _object_type + "; object_id: " + _object_id.ToString(), ((TouchEventArgs)e).TouchDevice); else log.WriteInteractionLog(41, (hide_expander?"Idea":"Comment") + "; Text is empty; object_type: " + _object_type + "; object_id: " + _object_id.ToString(), ((TouchEventArgs)e).TouchDevice); return; } // authenticate naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var auth_user = from u in db.Users where (u.name == this.selected_user.title.Text) && (u.password == this.pin.pin_string) select u; if (auth_user.Count() == 1) { if (is_reply) log.WriteInteractionLog(31, (hide_expander ? "Idea" : "Comment") + "; Reply id: " + reply_id + "; Text: " + this.GetActiveTextBox().Text + "; object_type: " + _object_type + "; object_id: " + _object_id.ToString(), ((TouchEventArgs)e).TouchDevice); else log.WriteInteractionLog(31, (hide_expander ? "Idea" : "Comment") + "; Text: " + this.GetActiveTextBox().Text + "; object_type: " + _object_type + "; object_id: " + _object_id.ToString(), ((TouchEventArgs)e).TouchDevice); submit_text(e); } else { if (is_reply) log.WriteInteractionLog(30, (hide_expander?"Idea":"Comment") + "; Reply id: " + reply_id + "; Text: " + this.GetActiveTextBox().Text + "; object_type: " + _object_type + "; object_id: " + _object_id.ToString(), ((TouchEventArgs)e).TouchDevice); else log.WriteInteractionLog(30, (hide_expander ? "Idea" : "Comment") + "; Text: " + this.GetActiveTextBox().Text + "; object_type: " + _object_type + "; object_id: " + _object_id.ToString(), ((TouchEventArgs)e).TouchDevice); this.error_desc.Visibility = System.Windows.Visibility.Visible; this.error_desc.Content = configurations.authentication_failed_text; pin.Reset(true); error_timer = new System.Threading.Timer(new System.Threading.TimerCallback(this.fade_error), null, 5000, System.Threading.Timeout.Infinite); } }
public void get_all_activities(object arg, DoWorkEventArgs e) { e.Result = (object)(new List<Activity>()); try { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var r = from a in db.Activities where (a.name != "Free Observation") && (a.name != "Design Idea") select a; if (r != null) { List<Activity> activities = r.ToList<Activity>(); e.Result = (object)activities; } else { e.Result = (object)(new List<Activity>()); } } catch (Exception ex) { log.WriteErrorLog(ex); } }
public void get_all_contributions(object arg, DoWorkEventArgs e) { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var result1 = from c in db.Collection_Contribution_Mappings where (c.Collection.User.name == (string)e.Argument) && (c.Collection.activity_id != 1) select c.Contribution; if (result1 == null) { e.Result = (object)(new List<collection_item>()); return; } //List<int> contribution_ids = result1.ToList<int>(); //var result2 = from m in db.Contributions // where contribution_ids.Contains(m.id) // select m; List<Contribution> medias = result1.ToList<Contribution>(); List<collection_item> loaded_items = new List<collection_item>(); loading_progress lp0 = new loading_progress(); lp0.current_progress = 0; lp0.total = medias.Count; lp0.loaded_items = loaded_items; worker.ReportProgress(0, lp0); // download the image if there is no image // create thumbnail if there is no thumbnail List<collection_item> items = new List<collection_item>(); for (int counter = 0; counter < medias.Count; counter++) { collection_item ci = create_collection_item_from_contribution(medias[counter]); items.Add(ci); loaded_items.Add(ci); loading_progress lp = new loading_progress(); lp.current_progress = counter + 1; lp.total = medias.Count; lp.loaded_items = loaded_items; worker.ReportProgress(counter + 1, lp); } e.Result = (object)items; }
public void get_contributions_in_location(object arg, DoWorkEventArgs e) { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var result1 = from c in db.Collection_Contribution_Mappings where (c.Contribution.location_id == (int)e.Argument) && (c.Collection.activity_id != 1) select c.Contribution; //var result1 = from c in db.Contributions // where c.location_id == (int)e.Argument // select c; if (result1 == null) { e.Result = (object)(new List<collection_item>()); return; } List<Contribution> medias = result1.ToList<Contribution>(); List<collection_item> loaded_items = new List<collection_item>(); loading_progress lp0 = new loading_progress(); lp0.current_progress = 0; lp0.total = medias.Count; lp0.loaded_items = loaded_items; worker.ReportProgress(0, lp0); List<collection_item> items = new List<collection_item>(); for (int counter = 0; counter < medias.Count; counter++) { collection_item ci = create_collection_item_from_contribution(medias[counter]); items.Add(ci); loaded_items.Add(ci); loading_progress lp = new loading_progress(); lp.current_progress = counter + 1; lp.total = medias.Count; lp.loaded_items = loaded_items; worker.ReportProgress(counter + 1, lp); } e.Result = (object)items; }
private void add_comment_items_for(Feedback c, ref int level, List<comment_item_generic> current_items, naturenet_dataclassDataContext db) { var r = from c2 in db.Feedbacks where (c2.Feedback_Type.name == "Comment") && (c2.parent_id == c.id) orderby c2.date descending select c2; if (r != null) { List<Feedback> comments = r.ToList<Feedback>(); level++; List<List<comment_item_generic>> children_items = new List<List<comment_item_generic>>(); foreach (Feedback f in comments) { List<comment_item_generic> tmp_list = new List<comment_item_generic>(); int new_level = level; tmp_list.Add(create_comment_item(f, new_level)); add_comment_items_for(f, ref new_level, tmp_list, db); add_children_to_list(tmp_list, children_items); } condense_lists(children_items, current_items); } }
public List<user_item> get_all_users() { try { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var r = from u in db.Users where u.id != 0 orderby u.name select u; if (r == null) { return new List<user_item>(); } List<user_item> users = new List<user_item>(); foreach (User u in r) { var n1 = from m in db.Collection_Contribution_Mappings where m.Collection.user_id == u.id orderby m.Contribution.date descending select m.Contribution.date; //var n2 = from f in db.Feedbacks // where f.user_id == u.id // orderby f.date descending // select f.date; List<DateTime> n2 = null; int cnt = 0; if (n1 != null) cnt = n1.Count(); if (n2 != null) cnt = cnt + n2.Count(); user_item i = new user_item(); ImageSource src = new BitmapImage(new Uri(configurations.GetAbsoluteAvatarPath() + u.avatar)); src.Freeze(); i.img = src; i.user = u; i.count = cnt; i.has_date = false; if (n1 != null) { if (n1.Count() > 0) { i.last_date = n1.First(); i.has_date = true; } } if (n2 != null) { if (n2.Count() > 0) { if (i.has_date) { if (i.last_date.CompareTo(n2.First()) < 0) i.last_date = n2.First(); } else { i.last_date = n2.First(); i.has_date = true; } } } users.Add(i); } return users; } catch (Exception ex) { log.WriteErrorLog(ex); return new List<user_item>(); } }
public List<design_idea_item> get_all_design_ideas() { try { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var r = from d in db.Design_Ideas orderby d.date descending select d; if (r == null) { return new List<design_idea_item>(); } List<design_idea_item> ideas = new List<design_idea_item>(); foreach (Design_Idea d in r) { DateTime last_time = d.date; var n1 = from f in db.Feedbacks where (f.object_type == "nature_net.Contribution") && (f.object_id == d.id) orderby f.date descending select f; int cnt = 0; int num_like = 0; int num_dislike = 0; int num_comments = 0; if (n1 != null) cnt = n1.Count(); if (cnt != 0) { last_time = n1.First().date; foreach (Feedback f2 in n1) { if (f2.Feedback_Type.name == "Like") if (Convert.ToBoolean(f2.note)) num_like++; else num_dislike++; if (f2.Feedback_Type.name == "Comment") num_comments++; } } design_idea_item i = new design_idea_item(); ImageSource src = new BitmapImage(new Uri(configurations.GetAbsoluteAvatarPath() + d.avatar)); src.Freeze(); i.img = src; i.design_idea = d; i.count = num_comments; i.last_date = last_time; i.num_dislike = num_dislike; i.num_like = num_like; ideas.Add(i); } return ideas; } catch (Exception ex) { log.WriteErrorLog(ex); return new List<design_idea_item>(); } }
public void get_all_comments(object arg, DoWorkEventArgs e) { if (e.Argument == null) return; e.Result = (object)(new List<comment_item_generic>()); try { comment_item item = (comment_item)e.Argument; naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var r = from c in db.Feedbacks where (c.Feedback_Type.name == "Comment") && (c.object_type == item._object_type.ToString()) && (c.object_id == item._object_id) && (c.parent_id == 0) orderby c.date descending select c; if (r != null) { List<Feedback> comments = r.ToList<Feedback>(); List<comment_item_generic> comment_items = new List<comment_item_generic>(); List<List<comment_item_generic>> children_items = new List<List<comment_item_generic>>(); for (int counter=0;counter<comments.Count; counter++) { Feedback f = comments[counter]; int level = 0; List<comment_item_generic> tmp_list = new List<comment_item_generic>(); tmp_list.Add(create_comment_item(f, level)); add_comment_items_for(f, ref level, tmp_list, db); add_children_to_list(tmp_list, children_items); } condense_lists(children_items, comment_items); e.Result = (object)comment_items; } else { e.Result = (object)(new List<comment_item_generic>()); } } catch (Exception ex) { log.WriteErrorLog(ex); } }
public void get_all_activities(object arg, DoWorkEventArgs e) { e.Result = (object)(new List<activity_item>()); try { naturenet_dataclassDataContext db = new naturenet_dataclassDataContext(); var r = from a in db.Activities where (a.name != "Free Observation") && (a.name != "Design Idea") select a; if (r != null) { //List<Activity> activities = r.ToList<Activity>(); List<activity_item> activity_items = new List<activity_item>(); foreach (Activity a in r) { DateTime last_time = a.creation_date; var n1 = from m in db.Collection_Contribution_Mappings where m.Collection.activity_id == a.id orderby m.Contribution.date descending select new { m.Contribution.date, m.Collection.User.name }; int cnt = 0; if (n1 != null) cnt = n1.Count(); activity_item ai = new activity_item(); ai.activity = a; ai.count = cnt; if (cnt != 0) ai.username = n1.First().name; else ai.username = ""; if (cnt != 0) last_time = n1.First().date; ai.last_date = last_time; activity_items.Add(ai); } e.Result = (object)activity_items; } else { e.Result = (object)(new List<activity_item>()); } } catch (Exception ex) { log.WriteErrorLog(ex); } }