Exemple #1
0
        private void LoadXmlConfig(string path)
        {
            try
            {
                configXml = PrincipalTO.LoadConfig(path);
                if (fluxo == UtilDTO.NAVIGATION.SM)
                {
                    bool hasSharedSm = false;
                    foreach (var partner in configXml.Partners)
                    {
                        if (partner.Contracts.Any(contract => contract.Name == UtilDTO.CONTRACTS.SM_MEDIA.ToString()))
                        {
                            hasSharedSm = true;
                        }
                    }

                    if (!hasSharedSm)
                    {
                        txbResult.Text = "Psiu, olha aqui!\n\nVocê não possui nenhum contrato de SM que receba pela média de times.\n\nSerá que este é o menu que queria entrar mesmo ou falta algo em sua configuração?";
                        BlockFields(true);
                    }
                }
            }
            catch (FileNotFoundException ex)
            {
                txbResult.Text = ex.Message;
                BlockFields(true);
            }
            catch (Exception ex)
            {
                txbResult.Text = ex.Message;
            }
        }
Exemple #2
0
        private void LoadConfig()
        {
            try
            {
                config = PrincipalTO.LoadConfig(rootFolder);

                txbAuthorName.Text = config.AuthorName;
                txbAreaName.Text   = config.AreaName;
                txbTeamName.Text   = config.TeamName;

                foreach (var partner in config.Partners)
                {
                    lsbPartners.Items.Add(partner.Name);
                }

                btnNextForm.Enabled = true;

                ShowLog("Parece que você tem um arquivo preconfigurado. Legal! Vamos editá-lo\n=]");
            }
            catch (FileNotFoundException)
            {
                txbResult.Text = $"Não encontrei um arquivo de configuração na pasta {rootFolder}. Espero que este seja o início de uma nova amizade\n;)";
            }
            catch (Exception ex)
            {
                txbResult.Text = ex.Message;
            }
        }
        private void BtnLoad_Click(object sender, EventArgs e)
        {
            string filePath;

            try
            {
                using (OpenFileDialog openFileDialog = new OpenFileDialog())
                {
                    openFileDialog.Filter           = "XML (*.XML)|*.XML";
                    openFileDialog.FilterIndex      = 1;
                    openFileDialog.RestoreDirectory = true;

                    if (openFileDialog.ShowDialog() == DialogResult.OK)
                    {
                        filePath = openFileDialog.FileName;
                        config   = PrincipalTO.LoadConfig(filePath);
                        UpdatePartnersCombo();
                        UpdateContractsCombo();
                        txbAuthor.Text   = config.AuthorName;
                        txbTeamName.Text = config.TeamName;
                        PrintUserLog("Arquivo de configuração carregado.");
                    }
                }
            }
            catch (Exception ex)
            {
                txbResult.Text = $"ERRO\n\n{ex.Message}\n\n{ex.InnerException.Message}";
            }
        }
Exemple #4
0
 private void LoadRanges()
 {
     sprintRanges = PrincipalTO.GenerateRanges();
     foreach (var range in sprintRanges)
     {
         cbbSprintRanges.Items.Add(range.Name);
     }
     cbbSprintRanges.SelectedIndex = 0;
 }
Exemple #5
0
 private void BtnGenerate_Click(object sender, System.EventArgs e)
 {
     try
     {
         ValidateFieldsToGenerateDoc();
         Processing(true);
         PrincipalTO.GenerateConfigXmlFile(outputDocPath, outputName, config);
         txbResult.Text = $"Arquivo {outputName} gerado na pasta {outputDocPath}. Utilize o botão abaixo para abrir a pasta.";
         btnOpenDestinationFolder.Enabled = true;
     }
     catch (Exception ex)
     {
         txbResult.Text = ex.Message;
     }
 }
 private void BtnGenerateFilled_Click(object sender, EventArgs e)
 {
     try
     {
         ValidateFieldsToGenerateDoc();
         Processing(true);
         config.AuthorName = txbAuthor.Text;
         config.TeamName   = txbTeamName.Text;
         PrincipalTO.GenerateConfigXmlFile(outputPath, outputName, config);
         Processing(false);
     }
     catch (Exception ex)
     {
         txbResult.Text = $"Erro durante geração do arquivo XML. Mensagem:\n{ex.Message}\n\nPilha de erro:\n{ex.StackTrace}";
     }
 }
Exemple #7
0
 private void BtnGenerate_Click(object sender, System.EventArgs e)
 {
     try
     {
         ValidateData();
         Processing(true);
         FornecedorDTO partner = new FornecedorDTO();
         partner             = configXml.Partners.Find(p => p.Name == cbbPartners.SelectedItem.ToString());
         partner.BillingType = UtilDTO.BILLING_TYPE.UST_DEVOPS;
         PrincipalTO.CreateOpsDoc(configXml, partner, outputDocPath, sprintsDevOpsList);
         btnOpenDestinationFolder.Enabled = true;
         txbResult.Text = $"Arquivo gerado em: {outputDocPath}";
     }
     catch (Exception ex)
     {
         txbResult.Text = $"ERRO. {ex.Message}";
     }
 }
 private void BtnGenerate_Click(object sender, EventArgs e)
 {
     txbResult.Text = "Processando...";
     BlockScreen(true);
     try
     {
         PrincipalTO.CalcSmSprintData(sprintsSmList);
         PrincipalTO.CreateSmDoc(configXml, selectedPartner, outputDocPath, sprintsSmList);
         txbResult.Text = $"Relatório gerado na pasta {outputDocPath}";
     }
     catch (Exception ex)
     {
         txbResult.Text = $"Falha ao gerar arquivo. {ex.Message}";
     }
     finally
     {
         BlockScreen(false);
     }
 }
Exemple #9
0
        private void LoadConfig()
        {
            try
            {
                //load config
                configXml = PrincipalTO.LoadConfig(outputDocPath);

                //set partners
                foreach (var partner in configXml.Partners)
                {
                    cbbPartners.Items.Add(partner.Name);
                }
                cbbPartners.SelectedIndex = 0;

                lsbSprints.SelectedIndex = 0;
                ShowLog("Por favor forneça os dados de desempenho do(s) plantonista(s).");
            }
            catch (Exception ex)
            {
                txbResult.Text = ex.Message;
            }
        }
Exemple #10
0
        private void BtnGenerate_Click(object sender, System.EventArgs e)
        {
            try
            {
                bool hasSharedSM = false;
                if (cbbPartners.SelectedItem.ToString() == house)
                {
                    throw new Exception("Por favor ecolha um fornecedor para que o relatório seja gerado.");
                }

                BlockFields(true);
                txbResult.Text = "Processando...";
                //realizar os calculos e ajustar dados finais
                foreach (var sprint in sprintsDevList)
                {
                    //DEV
                    int sprintDays = (sprint.Range.EndDate - sprint.Range.IniDate).Days;
                    PrincipalTO.SetDevPresence(sprint.Contracts, sprintDays, sprint.AdaptaionSprint);
                    FornecedorDTO selectedPartner = configXml.Partners.Find(p => p.Name == cbbPartners.SelectedItem.ToString());
                    double        teamSize        = PrincipalTO.CalcTeamSize(sprint, selectedPartner);
                    sprint.TeamSize = teamSize;
                    if (sprint.AdaptaionSprint)
                    {
                        sprint.AcceptedPointsExpenses *= (int)teamSize;
                    }
                    PrincipalTO.CalcPointsPerTeamMember(sprint);
                    //SM
                    if (sprintsSmList != null)
                    {
                        var smSprint = sprintsSmList.Find(s => s.Range.Name == sprint.Range.Name);
                        smSprint.TeamSize       = teamSize;
                        smSprint.EmployeesCount = 1;
                    }
                }

                //chamar a geracao dos relatorios
                if (fluxo == UtilDTO.NAVIGATION.VARIOS_RELATORIOS)
                {
                    foreach (var partner in configXml.Partners)
                    {
                        //(TODO) Melhorar um dia
                        if (partner.Name == "Influir")
                        {
                            partner.BillingType = UtilDTO.BILLING_TYPE.UST_HORA;
                        }

                        //SM_MEDIA nao será gerado nesse fluxo
                        if (partner.Contracts.Any(contract =>
                                                  contract.Name != UtilDTO.CONTRACTS.SM_FIXO.ToString() &&
                                                  contract.Name != UtilDTO.CONTRACTS.SM_MEDIA.ToString()))
                        {
                            PrincipalTO.CreateDevDoc(configXml, partner, outputDocPath, sprintsDevList);
                        }

                        if (partner.Contracts.Any(contract => contract.Name == UtilDTO.CONTRACTS.SM_MEDIA.ToString()))
                        {
                            hasSharedSM = true;
                        }

                        if (partner.Contracts.Any(contract => contract.Name == UtilDTO.CONTRACTS.SM_FIXO.ToString()))
                        {
                            PrincipalTO.CreateSmDoc(configXml, partner, outputDocPath, sprintsSmList);
                        }
                    }
                }
                else
                {
                    var selectedPartner = configXml.Partners.Find(partner => partner.Name == cbbPartners.SelectedItem.ToString());
                    PrincipalTO.CreateDevDoc(configXml, selectedPartner, outputDocPath, sprintsDevList);
                }

                txbResult.Text = $"Arquivos gerados na pasta {outputDocPath}";
                if (hasSharedSM)
                {
                    txbResult.AppendText("\n\nRelatório para SM compartilhado deve ser gerado avulso pelo menu correspondente.");
                }
                btnOpenDestinationFolder.Enabled = true;
            }
            catch (Exception ex)
            {
                txbResult.Text = ex.Message;
                BlockFields(false);
            }
        }