private static void CreateSummaryTableUstHour(Document document, List <SprintDevDTO> sprints, object missing, double ustValue) { //Utilizado apenas para uma empresa. Melhroar se necessario //Selecionar da lista de sprints aquelas que sao de hora. List <SprintDevDTO> sprintHourList = new List <SprintDevDTO>(); SprintDevDTO sprintHour; foreach (var sprint in sprints) { foreach (var contract in sprint.Contracts) { if (contract.HourValue > 0) { sprintHour = new SprintDevDTO() { Range = sprint.Range, AcceptedPointsExpenses = sprint.AcceptedPointsExpenses, AcceptedPointsInvestment = sprint.AcceptedPointsInvestment, CerimonialPoint = sprint.CerimonialPoint, ImagePath = sprint.ImagePath, Obs = sprint.Obs, TeamSize = sprint.TeamSize, PointsPerTeamMemberExpenses = sprint.PointsPerTeamMemberExpenses, PointsPerTeamMemberInvestment = sprint.PointsPerTeamMemberInvestment }; sprintHour.Contracts.Add(contract); sprintHourList.Add(sprintHour); } } } CreateSummaryTableUstHourContent(document, sprintHourList, missing, ustValue, UtilDTO.CATEGORY.DESPESA); AddPAragraph(" ", 3, 3, 0, 8, WdParagraphAlignment.wdAlignParagraphLeft, document, ref missing); CreateSummaryTableUstHourContent(document, sprintHourList, missing, ustValue, UtilDTO.CATEGORY.INVESTIMENTO); }
public static double CalcTeamSize(SprintDevDTO sprintDev, FornecedorDTO selectedPartner) { double teamSize = 0; foreach (var contract in sprintDev.Contracts) { if (contract.Name != UtilDTO.CONTRACTS.SM_FIXO.ToString() && contract.Name != UtilDTO.CONTRACTS.SM_MEDIA.ToString()) { if (!sprintDev.AdaptaionSprint) { foreach (var dev in contract.Collaborators) { teamSize += dev.Presence; } } else { if (selectedPartner.Contracts.Any(c => c.Name == contract.Name) && contract.PartnerName == selectedPartner.Name) { foreach (var dev in contract.Collaborators) { teamSize += 1; } } } } } return(teamSize); }
public static void CalcPointsPerTeamMember(SprintDevDTO devSprint) { Controle.CalcPointsPerTeamMember(devSprint); }
public static double CalcTeamSize(SprintDevDTO sprintDev, FornecedorDTO selectedPartner) { return(Controle.CalcTeamSize(sprintDev, selectedPartner)); }
private void BtnAddSprint_Click(object sender, EventArgs e) { try { IntervaloDTO range = new IntervaloDTO { Name = cbbSprintRanges.SelectedItem.ToString(), IniDate = dtpIniDate.Value, EndDate = dtpEndDate.Value }; switch (fluxo) { case UtilDTO.NAVIGATION.DEVOPS: SprintDevOpsDTO newSprint = new SprintDevOpsDTO() { Range = range, ImagePath = sprintImagePath }; //Remove e adiciona para caso ele esteja atualizando os dados sprintsDevOpsList.Remove(sprintsDevOpsList.Find(s => s.Range.Name == newSprint.Range.Name)); sprintsDevOpsList.Add(newSprint); sprintsDevOpsList.Sort((x, y) => x.Range.Name.CompareTo(y.Range.Name)); break; case UtilDTO.NAVIGATION.VARIOS_RELATORIOS: SprintDevDTO newDevSprint = new SprintDevDTO() { Range = range, ImagePath = sprintImagePath }; //Remove e adiciona para caso ele esteja atualizando os dados sprintsDevList.Remove(sprintsDevList.Find(s => s.Range.Name == newDevSprint.Range.Name)); sprintsDevList.Add(newDevSprint); sprintsDevList.Sort((x, y) => x.Range.Name.CompareTo(y.Range.Name)); SprintSmDTO newSmSprint = new SprintSmDTO() { Range = range, ImagePath = sprintImagePath }; //Remove e adiciona para caso ele esteja atualizando os dados sprintsSmList.Remove(sprintsSmList.Find(s => s.Range.Name == newSmSprint.Range.Name)); sprintsSmList.Add(newSmSprint); sprintsSmList.Sort((x, y) => x.Range.Name.CompareTo(y.Range.Name)); break; case UtilDTO.NAVIGATION.DEV: SprintDevDTO newAdaptaionSprint = new SprintDevDTO() { Range = range, ImagePath = sprintImagePath }; //Remove e adiciona para caso ele esteja atualizando os dados sprintsDevList.Remove(sprintsDevList.Find(s => s.Range.Name == newAdaptaionSprint.Range.Name)); sprintsDevList.Add(newAdaptaionSprint); sprintsDevList.Sort((x, y) => x.Range.Name.CompareTo(y.Range.Name)); break; case UtilDTO.NAVIGATION.SM: SprintSmDTO newSmSprintToAdd = new SprintSmDTO() { Range = range, ImagePath = sprintImagePath }; //Remove e adiciona para caso ele esteja atualizando os dados sprintsSmList.Remove(sprintsSmList.Find(s => s.Range.Name == newSmSprintToAdd.Range.Name)); sprintsSmList.Add(newSmSprintToAdd); sprintsSmList.Sort((x, y) => x.Range.Name.CompareTo(y.Range.Name)); break; default: throw new NotImplementedException(); } pbxSprintImage.Image = null; //atualizar a lista de sprints lsbSprints.Items.Remove(range.Name); lsbSprints.Items.Add(range.Name); sprintImagePath = null; btnNextForm.Enabled = true; if (cbbSprintRanges.SelectedIndex < cbbSprintRanges.Items.Count - 1) { cbbSprintRanges.SelectedIndex += 1; } ShowLog("Sprint adicionada com sucesso."); } catch (Exception ex) { txbResult.Text = $"Erro. {ex.Message}"; } }
public static void CalcPointsPerTeamMember(SprintDevDTO devSprint) { devSprint.PointsPerTeamMemberExpenses = Math.Round(devSprint.AcceptedPointsExpenses / devSprint.TeamSize, 3); devSprint.PointsPerTeamMemberInvestment = Math.Round(devSprint.AcceptedPointsInvestment / devSprint.TeamSize, 3); }