示例#1
0
        [ValidateAntiForgeryToken] //with each post request, this token is added, passed along with the request and checked when request reaches the server
        public async Task <IActionResult> Create(StoryTypes storyTypes)
        {
            // check on the server side whether the state in the passed storyTypes meets the definition in StoryTypes Model
            if (ModelState.IsValid)
            {
                _db.Add(storyTypes);
                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(storyTypes));
        }
示例#2
0
        private bool WorkerDoWork(WorkerTypes workerType, StoryTypes storyType)
        {
            var foundWork = false;
            var worker    = _workers.GetIdleWorker(workerType);
            var work      = _board.FindNextWork(storyType);

            if (worker != null && work != null)
            {
                worker.Select();
                work.Select();
                foundWork = true;
            }
            return(foundWork);
        }
示例#3
0
        public async Task <IActionResult> Edit(int id, StoryTypes storyTypes)
        {
            if (id != storyTypes.Id)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                _db.Update(storyTypes); // auto update all properties but will be a waste when user only change several properties but the model has hundreds
                await _db.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(storyTypes));
        }
示例#4
0
        public Story FindNextWork(StoryTypes type)
        {
            var story = _driver.CDriver.FindElementsByCssSelector($"span.story.{type}:not(.busy)").FirstOrDefault()?.GetAttribute("id") ?? "";

            return(story != "" ? new Story(story, _driver) : null);
        }
示例#5
0
 public List <string> TotalStories(StoryTypes type)
 {
     return(_driver.GetIds(By.CssSelector($"span.story.{type}")));
 }
示例#6
0
 public List <string> AvailableStories(StoryTypes type)
 {
     return(_driver.GetIds(By.CssSelector($"span.story.{type}:not(.busy)")));
 }
示例#7
0
 public string GetStoryTypeName(int storyTypeId)
 {
     StoryTypes.TryGetValue(storyTypeId, out var storyTypeName);
     return(storyTypeName ?? "");
 }