nature_net.user_controls.collection_listbox.get_contributions_in_activity C# (CSharp) Метод

get_contributions_in_activity() публичный Метод

public get_contributions_in_activity ( object arg, DoWorkEventArgs e ) : void
arg object
e System.ComponentModel.DoWorkEventArgs
Результат void
        public void get_contributions_in_activity(object arg, DoWorkEventArgs e)
        {
            naturenet_dataclassDataContext db = new naturenet_dataclassDataContext();
            var result0 = from c0 in db.Collection_Contribution_Mappings
                          where c0.Collection.activity_id == (int)e.Argument
                          orderby c0.Contribution.date descending
                          select c0.Contribution;
            if (result0 == null)
            {
                e.Result = (object)(new List<collection_item>());
                return;
            }
            List<Contribution> medias = result0.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;
        }