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); } }
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); } }