示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
 public static void CalcPointsPerTeamMember(SprintDevDTO devSprint)
 {
     Controle.CalcPointsPerTeamMember(devSprint);
 }
示例#4
0
 public static double CalcTeamSize(SprintDevDTO sprintDev, FornecedorDTO selectedPartner)
 {
     return(Controle.CalcTeamSize(sprintDev, selectedPartner));
 }
示例#5
0
        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}";
            }
        }
示例#6
0
 public static void CalcPointsPerTeamMember(SprintDevDTO devSprint)
 {
     devSprint.PointsPerTeamMemberExpenses   = Math.Round(devSprint.AcceptedPointsExpenses / devSprint.TeamSize, 3);
     devSprint.PointsPerTeamMemberInvestment = Math.Round(devSprint.AcceptedPointsInvestment / devSprint.TeamSize, 3);
 }