public void Start()
 {
     _cancellationTokenSource = Scheduler.Interval(
         PlanWrapper(PlanNextExecution),
         ExecuteWrapper(Execute),
         PlanWrapper(PlanNextExecution)()
         );
 }
        public void SetPlan(IPlan plan)
        {
            if (!(plan is PlanWrapper <TStateKey, TActionKey, TStateManager, TStateData, TStateDataContext> planWrapper))
            {
                throw new ArgumentException($"Plan must be of type {typeof(PlanWrapper<TStateKey, TActionKey, TStateManager, TStateData, TStateDataContext>)}.");
            }

            if (Status == PlanExecutionStatus.AwaitingPlan)
            {
                Status = PlanExecutionStatus.AwaitingExecution;
            }

            m_PlanWrapper = planWrapper;
        }
示例#3
0
        public IActionResult PlanWedding()
        {
            int?        theUserId = HttpContext.Session.GetInt32("UserId");
            PlanWrapper WMod      = new PlanWrapper();

            WMod.WedUser = _context.Users
                           .Include(u => u.PlannedWedding)
                           .Include(u => u.AttendingWedding)
                           .ThenInclude(w => w.User)
                           .FirstOrDefault(u => u.UserId == theUserId);

            if (theUserId == null)
            {
                return(Logout());
            }
            return(View("PlanWedding", WMod));
        }
示例#4
0
        public IActionResult AddWedding(PlanWrapper newWedding)
        {
            int?theUserId = HttpContext.Session.GetInt32("UserId");

            if (ModelState.IsValid)
            {
                DateTime WeddingDate = DateTime.Parse(newWedding.OneWedding.Date.ToString());
                DateTime today       = DateTime.Today;
                if (WeddingDate < today)
                {
                    ModelState.AddModelError("Date", "Sorry, you can't plan wedding before today");
                    return(PlanWedding());
                }
                newWedding.OneWedding.UserId = (int)theUserId;
                _context.Add(newWedding.OneWedding);
                _context.SaveChanges();
                // Wedding newWed = _context.Weddings.OrderByDescending(nw => nw.WeddingId)
                // .FirstOrDefault();
                HttpContext.Session.SetInt32("WId", newWedding.OneWedding.WeddingId);
                int?theWedId = HttpContext.Session.GetInt32("WId");
                return(RedirectToAction("theWedding", new{ WedId = theWedId }));
            }
            return(RedirectToAction("PlanWedding"));
        }