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