Exemplo n.º 1
0
        private static void DoWork(AddAttendeesFromTag model)
        {
            var db  = DbUtil.Create(model.Host);
            var cul = db.Setting("Culture", "en-US");

            Thread.CurrentThread.CurrentUICulture = new CultureInfo(cul);
            Thread.CurrentThread.CurrentCulture   = CultureInfo.CreateSpecificCulture(cul);

            LongRunningOperation lop = null;

            foreach (var pid in model.pids)
            {
                db.Dispose();
                db = DbUtil.Create(model.Host);
                if (model.AddAsMembers)
                {
                    OrganizationMember.InsertOrgMembers(db, model.OrgId, pid,
                                                        MemberTypeCode.Member, model.JoinDate, null, false);
                }
                db.RecordAttendance(model.MeetingId, pid, true);
                lop = FetchLongRunningOperation(db, Op, model.QueryId);
                Debug.Assert(lop != null, "r != null");
                lop.Processed++;
                db.SubmitChanges();
            }
            // finished
            lop           = FetchLongRunningOperation(db, Op, model.QueryId);
            lop.Completed = DateTime.Now;
            db.SubmitChanges();
        }
Exemplo n.º 2
0
        private static void DoWork(AddAttendeesFromTag model)
        {
            Thread.CurrentThread.Priority = ThreadPriority.BelowNormal;
            var db = DbUtil.Create(model.host);
            var cul = db.Setting("Culture", "en-US");
            Thread.CurrentThread.CurrentUICulture = new CultureInfo(cul);
            Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(cul);

            LongRunningOp lop = null;
            foreach (var pid in model.pids)
            {
                db.Dispose();
                db = DbUtil.Create(model.host);
				if (model.AddAsMembers)
					OrganizationMember.InsertOrgMembers(db, model.OrgId, pid, 
                        MemberTypeCode.Member, model.JoinDate, null, false);
				db.RecordAttendance(model.Id, pid, true);
                lop = FetchLongRunningOp(db, model.Id, Op);
                Debug.Assert(lop != null, "r != null");
                lop.Processed++;
                db.SubmitChanges();
                //Thread.Sleep(1000);
            }
            // finished
            lop = FetchLongRunningOp(db, model.Id, Op);
            lop.Completed = DateTime.Now;
            db.SubmitChanges();
        }
        public ActionResult Process(AddAttendeesFromTag model)
        {
            model.Validate(ModelState);

            if(!ModelState.IsValid) // show validation errors
                return View("Index", model);

            model.UpdateLongRunningOp(DbUtil.Db, AddAttendeesFromTag.Op);
            if(model.ShowCount(DbUtil.Db))
                return View("Index", model); // let them confirm by seeing the count and the tagname

            if (!model.Started.HasValue)
            {
                DbUtil.LogActivity($"Add attendees from tag for {Session["ActiveOrganization"]}");
                model.Process(DbUtil.Db);
            }

            return View(model);
        }
 public ActionResult Index(int id)
 {
     var model = new AddAttendeesFromTag(id);
     model.RemoveExistingLop(DbUtil.Db, id, AddAttendeesFromTag.Op);
     return View(model);
 }