public void End(RepModel model) { CancellationTokenSource cts; if (tokenLookup.TryRemove(model, out cts)) { cts.Cancel(); } }
public ActionResult Edit(RepModel rep, params int[] selectedServices) { var RepIds = db.Reps.Where(a => a.Id != rep.Id).Select(a => a.UserId); if (ModelState.IsValid) { var model = db.Reps.Find(rep.Id); model.UserId = rep.UserId; model.RepGroupId = rep.RepGroupId; model.IsActive = rep.IsActive; model.UpdatedBy = CurrentUserId; model.UpdatedOn = System.DateTime.UtcNow; //if (!string.IsNullOrEmpty(rep.SignonDate)) //{ // model.SignonDate = DateTime.ParseExact(rep.SignonDate, "MM-dd-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None); //} //else //{ // model.SignonDate = null; //} if (db.SaveChanges() > 0) { IEnumerable <RepServiceMapper> Services = db.RepServiceMappers.Where(a => a.RepId == rep.Id).ToList(); if (Services.Count() > 0) { db.RepServiceMappers.RemoveRange(Services); db.SaveChanges(); } if (selectedServices != null && selectedServices.Count() > 0) { foreach (var item in selectedServices) { db.RepServiceMappers.Add(new RepServiceMapper { RepId = rep.Id, ServiceId = item, CreatedBy = CurrentUser.Id, CreatedOn = DateTime.UtcNow }); db.SaveChanges(); } } } return(RedirectToAction("Index")); } ViewBag.UserId = new SelectList(db.Users.Where(a => a.BusinessId == CurrentBusinessId && a.IsActive == true && a.Id != CurrentUserId && !RepIds.Contains(a.Id)).Select(s => new { Id = s.Id, UserName = s.FirstName + " " + s.LastName + " @" + s.UserName }), "Id", "UserName"); var ServiceList = db.RepServiceMappers.Where(a => a.RepId == rep.Id).Select(a => a.ServiceId); ViewBag.Services = db.LookupEnrolledServices.Where(a => a.BusinessId == CurrentBusinessId && a.IsActive == true).Select(x => new SelectListItem() { Selected = ServiceList.Contains(x.Id), Text = x.ServiceName, Value = x.Id.ToString() }); return(View(rep)); }
public async Task Start(RepModel model) { var cts = new CancellationTokenSource(); tokenLookup[model] = cts; while (!cts.IsCancellationRequested) { await Task.Run(() => model.DoWork()); await Task.Delay(TimeSpan.FromMinutes(1)); } }
public ActionResult Create(RepModel rep, params int[] selectedServices) { if (ModelState.IsValid) { var Reps = db.Reps.Add(new Rep { UserId = rep.UserId, RepGroupId = rep.RepGroupId, IsActive = true, CreatedBy = CurrentUserId, CreatedOn = System.DateTime.UtcNow, //SignonDate = string.IsNullOrEmpty(rep.SignonDate) ? (DateTime?)null : DateTime.ParseExact(rep.SignonDate, "MM-dd-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None) }); if (db.SaveChanges() > 0) { if (selectedServices != null && selectedServices.Count() > 0) { foreach (var item in selectedServices) { db.RepServiceMappers.Add(new RepServiceMapper { ServiceId = item, RepId = Reps.Id, CreatedBy = CurrentUser.Id, CreatedOn = DateTime.UtcNow }); db.SaveChanges(); } } } return(RedirectToAction("Index")); } var RepIds = db.Reps.Select(a => a.UserId); ViewBag.UserId = new SelectList(db.Users.Where(a => a.BusinessId == CurrentBusinessId && a.IsActive == true && a.Id != CurrentUserId && !RepIds.Contains(a.Id)).Select(s => new { Id = s.Id, UserName = s.FirstName + " " + s.LastName + " @" + s.UserName }), "Id", "UserName"); ViewBag.Services = new SelectList(db.LookupEnrolledServices.Where(a => a.BusinessId == CurrentBusinessId && a.IsActive == true), "Id", "ServiceName"); return(View(rep)); }