public static void DoWork(ValidateAddress 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(); var fsb = new List <ChangeDetail>(); db = DbUtil.Create(model.host); var f = db.LoadFamilyByPersonId(pid); var ret = AddressVerify.LookupAddress(f.AddressLineOne, f.AddressLineTwo, f.CityName, f.StateCode, f.ZipCode); if (ret.found != false && !ret.error.HasValue() && ret.Line1 != "error") { f.UpdateValue(fsb, "AddressLineOne", ret.Line1); f.UpdateValue(fsb, "AddressLineTwo", ret.Line2); f.UpdateValue(fsb, "CityName", ret.City); f.UpdateValue(fsb, "StateCode", ret.State); f.UpdateValue(fsb, "ZipCode", ret.Zip.GetDigits()); var rc = db.FindResCode(ret.Zip, null); f.UpdateValue(fsb, "ResCodeId", rc.ToString()); } else { f.UpdateValue(fsb, "ZipCode", f.ZipCode.Zip5()); } lop = FetchLongRunningOp(db, model.Id, Op); Debug.Assert(lop != null, "r != null"); lop.Processed++; f.LogChanges(db, fsb, pid, Util.UserPeopleId ?? 0); db.SubmitChanges(); //Thread.Sleep(1000); } // finished lop = FetchLongRunningOp(db, model.Id, Op); lop.Completed = DateTime.Now; db.SubmitChanges(); }
public ActionResult Process(ValidateAddress model) { model.Validate(ModelState); if(!ModelState.IsValid) // show validation errors return View("Index", model); model.UpdateLongRunningOp(DbUtil.Db, ValidateAddress.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("Validate Address"); model.Process(DbUtil.Db); } return View(model); }
public static void DoWork(ValidateAddress 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(); var fsb = new List<ChangeDetail>(); db = DbUtil.Create(model.host); var f = db.LoadFamilyByPersonId(pid); var ret = AddressVerify.LookupAddress(f.AddressLineOne, f.AddressLineTwo, f.CityName, f.StateCode, f.ZipCode); if (ret.found != false && !ret.error.HasValue() && ret.Line1 != "error") { f.UpdateValue(fsb, "AddressLineOne", ret.Line1); f.UpdateValue(fsb, "AddressLineTwo", ret.Line2); f.UpdateValue(fsb, "CityName", ret.City); f.UpdateValue(fsb, "StateCode", ret.State); f.UpdateValue(fsb, "ZipCode", ret.Zip.GetDigits()); var rc = db.FindResCode(ret.Zip, null); f.UpdateValue(fsb, "ResCodeId", rc.ToString()); } else { f.UpdateValue(fsb, "ZipCode", f.ZipCode.Zip5()); } lop = FetchLongRunningOp(db, model.Id, Op); Debug.Assert(lop != null, "r != null"); lop.Processed++; f.LogChanges(db, fsb, pid, Util.UserPeopleId ?? 0); db.SubmitChanges(); //Thread.Sleep(1000); } // finished lop = FetchLongRunningOp(db, model.Id, Op); lop.Completed = DateTime.Now; db.SubmitChanges(); }
public ActionResult Index() { var model = new ValidateAddress(); model.RemoveExistingLop(DbUtil.Db, 0, ValidateAddress.Op); return View(model); }