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); }
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)); }
// Start is called before the first frame update void Start() { stageProgress = FindObjectOfType <StageProgress>(); pool = ObjectPool.PoolManager; animator = GetComponent <PlayerAnimator>(); ShieldNormal.SetActive(false); RingsToLife = RingsPerOneUp; }
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); }
private void Start() { anim = GetComponent <PlayerAnimator>(); Player = GetComponent <PlayerController>(); actions = GetComponent <PlayerActions>(); stageProgress = FindObjectOfType <StageProgress>(); _health = GetComponent <PlayerHealth>(); pool = ObjectPool.PoolManager; score = ScoreController._score; }
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()); }
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); }
private void Awake() { instance = this; }