示例#1
0
        private Milestone GetMileStoneCompleted(Quest q, PlayerProfile p)
        {
            Milestone ms = null;
            MileStone m  = new MileStone();

            // TODO: Need to handle all quest finished properly,
            // catch and return null for now
            try
            {
                m = q.MileStones[p.MilestoneIndex];
            }
            catch
            {
                // all quest and milestone complete, return null
                return(null);
            }

            // determine if we've reached a new milestone
            if (p.PointsEarned > m.PointsCompleted)
            {
                ms = new Milestone();
                ms.MilestoneIndex = p.MilestoneIndex + 1;   // level up milestone!
                ms.ChipsAwarded   = m.ChipsAwarded;
            }
            return(ms);
        }
        public virtual void AddMilestone(string description)
        {
            MileStone tp = new MileStone(this, description);

            testCases.Add(tp);
            timers.Add(tp);
        }
示例#3
0
        public MileStoneModel AddMileStone(MileStoneEditModel model)
        {
            var project   = GetProject(model.Id);
            var milestone = new MileStone()
            {
                Subject = model.InsertSubject,
                Date    = model.InsertDate
            };

            project.MileStones.Add(milestone);
            UpdateProject(project);

            var idea = GetIdea(project.IdeaId);

            //bus.Send(new ProjectCommand()
            //{
            //    ActionType = ActionTypes.MileStoneAdded,
            //    ProjectId = project.Id,
            //    UserDbId = CurrentUser.DbId,
            //    MileStoneId = todo.Id,
            //    Text = todo.Subject,
            //    Subject = idea.Subject,
            //    Link = GetProjectUrl(project.Id)
            //});

            return(GetMileStoneModelFromMileStone(project, milestone, IsProjectEditable(project, idea.IsClosed)));
        }
        public async Task <IActionResult> Edit(int id, [Bind("MileStoneId,EmployeeSkillValueId,Date")] MileStone mileStone)
        {
            if (id != mileStone.MileStoneId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(mileStone);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!MileStoneExists(mileStone.MileStoneId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            ViewData["EmployeeSkillValueId"] = new SelectList(_context.EmployeeSkillValue, "EmployeeSkillValueId", "EmployeeSkillValueId", mileStone.EmployeeSkillValueId);
            return(View(mileStone));
        }
示例#5
0
        public ToDoModel FinishToDo(string projectId, string milestoneId, string id)
        {
            var       project   = GetProject(projectId);
            var       todo      = GetToDo(project, milestoneId, id);
            MileStone milestone = !string.IsNullOrEmpty(milestoneId)
                                      ? project.MileStones.Where(m => m.Id == milestoneId).Single()
                                      : null;
            var idea = GetIdea(project.IdeaId);

            if (todo.FinishDate.HasValue)
            {
                todo.FinishDate = null;
                if (milestone == null)
                {
                    todo.Position = GetSortedTodos(project).Count - 1;
                }
                else
                {
                    todo.Position = GetSortedTodos(milestone).Count - 1;
                }
                bus.Send(new ToDoUnfinishedCommand()
                {
                    ToDoId = todo.Id
                });
            }
            else
            {
                todo.FinishDate = DateTime.Now;
                todo.Position   = null;
                if (milestone == null)
                {
                    UpdateToDoOrder(project);
                }
                else
                {
                    UpdateToDoOrder(milestone);
                }

                bus.Send(new ProjectCommand()
                {
                    ActionType     = ActionTypes.ToDoFinished,
                    ProjectId      = project.Id,
                    UserId         = CurrentUser.Id,
                    ToDoId         = todo.Id,
                    Text           = todo.Subject,
                    ProjectSubject = idea.Subject,
                    Link           = GetProjectUrl(project.Id),
                    MileStoneId    = milestoneId,
                    IsPrivate      = idea.IsPrivateToOrganization && !string.IsNullOrEmpty(idea.OrganizationId) || todo.IsPrivate
                });
            }

            UpdateProject(project);

            return(GetToDoModelFromToDo(todo, project, IsProjectEditable(project, false), milestoneId));
        }
        public void Update(MileStoneDTO mileStoneDTO)
        {
            var milestone = new MileStone();

            milestone.Id                    = mileStoneDTO.Id;
            milestone.Title                 = mileStoneDTO.Title;
            milestone.Description           = mileStoneDTO.Description;
            milestone.EndDate               = mileStoneDTO.EndDate;
            milestone.StartDate             = mileStoneDTO.StartDate;
            milestone.ProjectId             = mileStoneDTO.ProjectId;
            _context.Entry(milestone).State = EntityState.Modified;
        }
        public async Task <IActionResult> Create([Bind("MileStoneId,EmployeeSkillValueId,Date")] MileStone mileStone, string Login)
        {
            if (ModelState.IsValid)
            {
                _context.Add(mileStone);
                await _context.SaveChangesAsync();

                return(RedirectToAction("Index", "MileStones", new { login = Login }));
            }
            ViewData["EmployeeSkillValueId"] = new SelectList(_context.EmployeeSkillValue, "EmployeeSkillValueId", "EmployeeSkillValueId", mileStone.EmployeeSkillValueId);
            return(View(mileStone));
        }
 public void Add(List <MileStoneDTO> mileStoneDTO)
 {
     foreach (var item in mileStoneDTO)
     {
         var milestone = new MileStone();
         milestone.Id          = item.Id;
         milestone.Title       = item.Title;
         milestone.StartDate   = item.StartDate;
         milestone.EndDate     = item.EndDate;
         milestone.Description = item.Description;
         milestone.ProjectId   = item.ProjectId;
         _context.mileStones.Add(milestone);
     }
 }
        public virtual string GetReport()
        {
            StringBuilder builder = new StringBuilder();

            builder.Append(testWriter.ToString());
            builder.AppendLine();
            builder.AppendLine();
            builder.AppendLine(dashLine);
            builder.AppendLine("Milestones");
            builder.AppendLine(dashLine);
            builder.AppendLine("Time\t\t\t| dt start (ms)\t| dt prev (ms)\t| Description");
            builder.AppendLine(dashLine);

            DateTime prevTime = startTime;

            for (int i = 0; i < timers.Count; i++)
            {
                MileStone tp                = (MileStone)timers[i];
                DateTime  dateTime          = DateTime.Now;
                TimeSpan  totalTimeSpan     = dateTime - startTime;
                TimeSpan  prevTimeSpan      = dateTime - prevTime;
                int       totalMilliseconds = (int)Math.Round(totalTimeSpan.TotalMilliseconds);
                builder.Append(GetDateString(dateTime) + "\t| " + totalMilliseconds);
                if (totalMilliseconds < 100000)
                {
                    builder.Append("\t\t| ");
                }
                else
                {
                    builder.Append("\t| ");
                }

                int prevMilliseconds = (int)Math.Round(prevTimeSpan.TotalMilliseconds);
                builder.Append(prevMilliseconds);
                if (prevMilliseconds < 100000)
                {
                    builder.Append("\t\t| ");
                }
                else
                {
                    builder.Append("\t| ");
                }
                builder.AppendLine(tp.Description);
                prevTime = dateTime;
            }
            builder.AppendLine(dashLine);

            return(builder.ToString());
        }
 public void UpdateByProjectId(int ProjectId, List <MileStoneDTO> mileStoneDTOs)
 {
     foreach (var item in mileStoneDTOs)
     {
         var milestone = new MileStone();
         milestone.Id                    = item.Id;
         milestone.Title                 = item.Title;
         milestone.Description           = item.Description;
         milestone.EndDate               = item.EndDate;
         milestone.StartDate             = item.StartDate;
         item.ProjectId                  = ProjectId;
         milestone.ProjectId             = item.ProjectId;
         _context.Entry(milestone).State = EntityState.Modified;
     }
 }
示例#11
0
        private MileStoneModel GetMileStoneModelFromMileStone(Project project, MileStone mileStone, bool isEditable)
        {
            var model = new MileStoneModel()
            {
                Date        = mileStone.Date,
                Subject     = mileStone.Subject,
                MileStoneId = mileStone.Id,
                IsEditable  = isEditable,
                ProjectId   = project.Id,
                IsFinished  = mileStone.ToDos.Count > 0 && !mileStone.ToDos.Where(t => !t.FinishDate.HasValue).Any()
            };

            model.IsLate = !model.IsFinished && mileStone.Date.HasValue && mileStone.Date.Value < DateTime.Now;
            return(model);
        }
        public void Delete(int id)
        {
            MileStone mileStone = Find(id);

            _context.mileStones.Remove(mileStone);
        }
示例#13
0
 public virtual void AddMilestone(string description)
 {
     MileStone tp = new MileStone(this, description);
     testCases.Add(tp);
     timers.Add(tp);
 }
示例#14
0
 private List <ToDo> GetSortedTodos(MileStone mileStone)
 {
     return(mileStone.ToDos.Where(t => !t.FinishDate.HasValue).OrderBy(t => t.Position).ToList());
 }
示例#15
0
 private void UpdateToDoOrder(MileStone mileStone)
 {
     UpdateToDoOrder(GetSortedTodos(mileStone));
 }