예제 #1
0
 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);
     }
 }
 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>();
     }
 }