Ejemplo n.º 1
0
        public StageProgress calculateSPI(StageProgress stageProgress)
        {
            StageProgress progress = stageProgress;

            progress.SPI = -1;

            ProjectStage projectStage = _context.ProjectStages.Where(l => l.ProjectStageId == progress.ProjectStageId).FirstOrDefault();

            if (projectStage != null && projectStage.StartDate != null)
            {
                double timeElapsed = GetNumberOfBusinessDays(projectStage.StartDate, progress.Date) * 100;

                double timePlanned = GetNumberOfBusinessDays(projectStage.ScheduledStartDate, projectStage.ScheduledEndDate);

                if (timeElapsed != 0 && timePlanned != 0)
                {
                    progress.ScheduledPercentage = timeElapsed / timePlanned;

                    progress.SPI = progress.Percentage / progress.ScheduledPercentage;

                    progress.ScheduledPercentage = Convert.ToDouble(String.Format("{0:0.00}", progress.ScheduledPercentage));

                    progress.SPI = Convert.ToDouble(String.Format("{0:0.00}", progress.SPI));
                }
            }
            return(progress);
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> PostStageProgress([FromBody] StageProgress stageProgress)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            ProjectStage projectStage = _context.ProjectStages.Where(l => l.ProjectStageId == stageProgress.ProjectStageId).FirstOrDefault();

            if (projectStage == null)
            {
                return(BadRequest("Pasirinktas nekorektiškas projekto etapas"));
            }

            stageProgress = calculateSPI(stageProgress);

            if (stageProgress.SPI == -1)
            {
                return(BadRequest("Netinkamos projekto etapo datos - skaičiuojant rodiklius gaunama dalyba iš nulio"));
            }

            stageProgress.Date = stageProgress.Date.ToLocalTime();

            _context.StageProgresses.Add(stageProgress);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetStageProgress", new { id = stageProgress.StageProgressId }, stageProgress));
        }
Ejemplo n.º 3
0
 // Start is called before the first frame update
 void Start()
 {
     stageProgress = FindObjectOfType <StageProgress>();
     pool          = ObjectPool.PoolManager;
     animator      = GetComponent <PlayerAnimator>();
     ShieldNormal.SetActive(false);
     RingsToLife = RingsPerOneUp;
 }
Ejemplo n.º 4
0
        public StageProgress createStageProgress(int id, double percentage, string date)
        {
            var           dateTo        = DateTime.ParseExact(date, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture);
            StageProgress stageProgress = new StageProgress()
            {
                ProjectStageId = id, Percentage = percentage, Date = dateTo
            };

            return(stageProgress);
        }
Ejemplo n.º 5
0
 private void Start()
 {
     anim          = GetComponent <PlayerAnimator>();
     Player        = GetComponent <PlayerController>();
     actions       = GetComponent <PlayerActions>();
     stageProgress = FindObjectOfType <StageProgress>();
     _health       = GetComponent <PlayerHealth>();
     pool          = ObjectPool.PoolManager;
     score         = ScoreController._score;
 }
Ejemplo n.º 6
0
        public async Task <IActionResult> PutStageProgress([FromRoute] int id, [FromBody] StageProgress stageProgress)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != stageProgress.StageProgressId)
            {
                return(BadRequest("Užklausos ID nesutampa su formoje esančiu ID"));
            }

            var projectStage = _context.ProjectStages.Where(l => l.ProjectStageId == stageProgress.ProjectStageId).Select(l => l.ProjectStageId).FirstOrDefault().ToString();

            if (projectStage == "0")
            {
                return(BadRequest("Pasirinktas nekorektiškas projekto etapas"));
            }

            stageProgress.Date = stageProgress.Date.ToLocalTime();

            stageProgress = calculateSPI(stageProgress);

            if (stageProgress == null)
            {
                return(BadRequest("Netinkamos projekto etapo datos - skaičiuojant rodiklius gaunama dalyba iš nulio"));
            }

            _context.Entry(stageProgress).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!StageProgressExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 7
0
        public void CanCalculateSPI(bool createProjectStage, double expexted, double percentage, string scheduledStartDate, string scheduledEndDate, string startDate, string date)
        {
            DateTime x              = new DateTime(2020, 10, 10);
            var      controller     = new StageProgressesController(_context);
            int      ProjectStageId = 0;

            if (createProjectStage)
            {
                ProjectStage projectStage = createProjectStages(scheduledStartDate, scheduledEndDate, startDate);
                _context.ProjectStages.Add(projectStage);
                ProjectStageId = projectStage.ProjectStageId;
            }
            StageProgress stageProgress = createStageProgress(ProjectStageId, percentage, date);

            _context.StageProgresses.Add(stageProgress);
            _context.SaveChanges();
            StageProgress res = controller.calculateSPI(stageProgress);

            Assert.Equal(expexted, res.SPI);
        }
Ejemplo n.º 8
0
 private void Awake()
 {
     instance = this;
 }