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 #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;
            }
        }
Exemple #3
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 #4
0
 public static void SetLastPageSignature(Paragraph paragraph, ConfigXmlDTO config)
 {
     AddPAragraph(paragraph, "Atenciosamente,", 100, 30, 0, 14, WdParagraphAlignment.wdAlignParagraphJustify);
     AddPAragraph(paragraph, "_______________________________________________________", 0, 0, 0, 14, WdParagraphAlignment.wdAlignParagraphCenter);
     AddPAragraph(paragraph, config.AuthorName, 0, 0, 0, 14, WdParagraphAlignment.wdAlignParagraphCenter);
     AddPAragraph(paragraph, "Gerente de suporte - " + config.AreaName + " - " + config.TeamName, 0, 0, 0, 14, WdParagraphAlignment.wdAlignParagraphCenter);
 }
Exemple #5
0
        public static void GenerateDoc(ConfigXmlDTO config, FornecedorDTO partner, string outputDocPath, List <SprintDevDTO> sprints)
        {
            try
            {
                List <IntervaloDTO>   ranges      = new List <IntervaloDTO>();
                List <SprintBaseDTO>  baseSprints = new List <SprintBaseDTO>();
                List <ColaboradorDTO> devTeam     = new List <ColaboradorDTO>();

                foreach (var sprint in sprints)
                {
                    ranges.Add(sprint.Range);
                    baseSprints.Add(sprint.GetBaseSprint());
                }

                if (config.BaneseDes.Count > 0)
                {
                    foreach (var dev in config.BaneseDes)
                    {
                        devTeam.Add(dev);
                    }
                }

                foreach (var configPartner in config.Partners)
                {
                    foreach (var contract in configPartner.Contracts)
                    {
                        if (contract.Name != UtilDTO.CONTRACTS.SM_MEDIA.ToString() &&
                            contract.Name != UtilDTO.CONTRACTS.SM_FIXO.ToString())
                        {
                            foreach (var dev in contract.Collaborators)
                            {
                                devTeam.Add(dev);
                            }
                        }
                    }
                }

                string outputDocName = SetDocumentName(baseSprints, config, partner.Name, UtilDTO.REPORT_TYPE.DEV);

                Application winword = CreateWinWord();

                //Create a missing variable for missing value
                object missing = System.Reflection.Missing.Value;

                Document  document = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing);
                Paragraph para1    = document.Content.Paragraphs.Add(ref missing);

                CreateFirstPage(para1, ranges, config);
                CreateFollowPages(document, partner, baseSprints, para1, devTeam);
                CreateLastPage(document, para1, sprints, missing, config, partner);
                SetDocumentHeader(document, partner, config);
                SetDocumentFooter(document);
                SaveAndClose(ref document, ref winword, outputDocName, outputDocPath, missing);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #6
0
 public SprintPontosObsForm(ContainerForm containerForm, ConfigXmlDTO configXml, UtilDTO.NAVIGATION fluxo, List <SprintDevDTO> sprintsDevList = null, List <SprintSmDTO> sprintsSmList = null)
 {
     InitializeComponent();
     this.sprintsDevList = sprintsDevList;
     this.sprintsSmList  = sprintsSmList;
     SetCerimonialPointCombo();
     this.containerForm = containerForm;
     this.configXml     = configXml;
     this.fluxo         = fluxo;
     SetScreenLayout(fluxo);
     SetSprints();
 }
Exemple #7
0
        public static string SetDocumentName(List <SprintBaseDTO> sprints, ConfigXmlDTO config, string partnerName, UtilDTO.REPORT_TYPE reportType)
        {
            string outputDocName = $"Relatório Ágil -";

            foreach (var sprint in sprints)
            {
                outputDocName += $" {sprint.Range.Name}";
            }
            outputDocName += $" - {config.AreaName}-{config.TeamName} - {partnerName} - {reportType}.docx";

            return(outputDocName);
        }
Exemple #8
0
        public ConfigContratoForm(ContainerForm containerForm, ConfigXmlDTO config)
        {
            InitializeComponent();
            this.config        = config;
            this.containerForm = containerForm;
            foreach (var partner in config.Partners)
            {
                lsbPartners.Items.Add(partner.Name);
            }

            LoadContractType();
        }
 public SprintSmCompartilhadoPontos(ContainerForm containerForm, ConfigXmlDTO configXml, UtilDTO.NAVIGATION fluxo, List <SprintSmDTO> sprintSmList)
 {
     InitializeComponent();
     ResizeParent(containerForm);
     this.sprintsSmList = sprintSmList;
     this.containerForm = containerForm;
     this.fluxo         = fluxo;
     this.configXml     = configXml;
     txbResult.Text     = $"O relatório será gerado em {outputDocPath}";
     SelectPartnerAndContract();
     LoadAddedSprints();
     txbAcceptedPointsTeam1.Select();
 }
Exemple #10
0
 public SprintAbsenceHourForm(ContainerForm containerForm, ConfigXmlDTO configXml, UtilDTO.NAVIGATION fluxo, List <SprintDevDTO> sprintsDevList, List <SprintSmDTO> sprintsSmList = null)
 {
     InitializeComponent();
     this.sprintsDevList = sprintsDevList;
     this.sprintsSmList  = sprintsSmList;
     this.configXml      = configXml;
     this.fluxo          = fluxo;
     this.containerForm  = containerForm;
     lblMessage.Text     = "Este colaborador fez hora extra?\nConsiderado hora extra serviços entre as 22h e 6h de um dia útil, finais de semana ou feriado. Será contabilizado 0,5pts por turno adicional, ajustando para seu proporcional quando necessário.";
     lblScreen.Text      = "Tela 3/3";
     SetSprintListBox();
     SetDevSprintWithContractsAndDevs();
     SetSmSprintWithContracts();
     SetCbbPartners();
     ShowLog();
 }
Exemple #11
0
        public ConfigBaseForm(ContainerForm containerForm, ConfigXmlDTO config)
        {
            InitializeComponent();
            this.config = config;
            foreach (var partner in config.Partners)
            {
                lsbPartners.Items.Add(partner.Name);
            }

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

            btnNextForm.Enabled = true;
            this.containerForm  = containerForm;
            ResizeParent(containerForm);
            ShowLog("Seja bem vindo de volta.\n=)");
        }
Exemple #12
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;
            }
        }
        public static void CreateOpsDoc(ConfigXmlDTO config, FornecedorDTO partner, string outputDocPath, List <SprintDevOpsDTO> sprintDevOpsList)
        {
            try
            {
                List <IntervaloDTO> ranges = new List <IntervaloDTO>();
                foreach (var sprint in sprintDevOpsList)
                {
                    ranges.Add(sprint.Range);
                }

                List <SprintBaseDTO> baseSprints = new List <SprintBaseDTO>();
                foreach (var sprintOps in sprintDevOpsList)
                {
                    baseSprints.Add(sprintOps.GetBaseSprint());
                }

                string outputDocName = SetDocumentName(baseSprints, config, partner.Name, UtilDTO.REPORT_TYPE.DEVOPS);

                Application winword = CreateWinWord();

                //Create a missing variable for missing value
                object missing = System.Reflection.Missing.Value;

                Document  document  = winword.Documents.Add(ref missing, ref missing, ref missing, ref missing);
                Paragraph paragraph = document.Content.Paragraphs.Add(ref missing);

                CreateFirstPage(paragraph, ranges, config);
                CreateFollowPages(document, partner, baseSprints, paragraph);
                CreateLastPage(document, paragraph, sprintDevOpsList, missing, config, partner);
                SetDocumentHeader(document, partner, config);
                SetDocumentFooter(document);
                SaveAndClose(ref document, ref winword, outputDocName, outputDocPath, missing);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemple #14
0
 public static void CreateOpsDoc(ConfigXmlDTO config, FornecedorDTO partner, string outputDocPath, List <SprintDevOpsDTO> sprints)
 {
     ControleDocDevOps.CreateOpsDoc(config, partner, outputDocPath, sprints);
 }
Exemple #15
0
 public static void GenerateConfigXmlFile(string outputPath, string outputName, ConfigXmlDTO config)
 {
     ControleXml.GenerateConfigXmlFile(outputPath, outputName, config);
 }
 private static void CreateLastPage(Document document, Paragraph paragraph, List <SprintDevOpsDTO> sprintsDevOps, object missing, ConfigXmlDTO config, FornecedorDTO partner)
 {
     SetLastPageText(document, paragraph, partner);
     CreateSummaryTableUstDevOps(document, sprintsDevOps, missing, partner);
     SetLastPageSignature(paragraph, config);
 }
Exemple #17
0
 public static void SetDocumentHeader(Document document, FornecedorDTO partner, ConfigXmlDTO config)
 {
     foreach (Section section in document.Sections)
     {
         //Get the header range and add the header details.
         Range headerRange = section.Headers[WdHeaderFooterIndex.wdHeaderFooterPrimary].Range;
         headerRange.Fields.Add(headerRange, WdFieldType.wdFieldPage);
         headerRange.Text = "";
         if (partner.CaminhoLogomarca != string.Empty)
         {
             headerRange.InlineShapes.AddPicture(partner.CaminhoLogomarca);
         }
         else
         {
             headerRange.Font.Size = 10;
             headerRange.Text      = $"{partner.Name} - {config.AreaName} - {config.TeamName}".ToUpper();
         }
         headerRange.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter;
         //headerRange.Font.ColorIndex = Microsoft.Office.Interop.Word.WdColorIndex.wdBlue;
     }
 }
Exemple #18
0
        public static void CreateLastPage(Document document, Paragraph para1, List <SprintDevDTO> sprints, object missing, ConfigXmlDTO config, FornecedorDTO partner)
        {
            SetLastPageText(document, para1, partner);

            switch (partner.BillingType)
            {
            case (UtilDTO.BILLING_TYPE.UST):
                CreateSummaryTableUst(document, sprints, missing, partner);
                break;

            case (UtilDTO.BILLING_TYPE.UST_HORA):
                CreateSummaryTableUstHour(document, sprints, missing, partner.UstValue);
                break;

            default:
                break;
            }

            SetLastPageSignature(para1, config);
        }
Exemple #19
0
        public static void CreateFirstPage(Paragraph paragraph, List <IntervaloDTO> ranges, ConfigXmlDTO config)
        {
            string        strAux;
            List <string> paragraphTexts = new List <string>();

            AddPAragraph(paragraph, "RELATÓRIO DE ATIVIDADES", 20, 150, 1, 20, WdParagraphAlignment.wdAlignParagraphCenter);

            #region Identificação das sprints
            strAux = "ATIVIDADES DESENVOLVIDAS NAS SPRINTS: ";
            int sprintsCount = 1;
            foreach (var range in ranges)
            {
                strAux += range.Name;
                if (sprintsCount < ranges.Count())
                {
                    strAux += ", ";
                }
                sprintsCount++;
            }
            paragraphTexts.Add(strAux);

            strAux = "TIME: " + config.AreaName + " - " + config.TeamName;
            paragraphTexts.Add(strAux);

            strAux = $"PERÍODO: {ranges[0].IniDate:dd/MM/yyyy} a {ranges[ranges.Count - 1].EndDate:dd/MM/yyyy}";
            paragraphTexts.Add(strAux);

            foreach (var paragraphText in paragraphTexts)
            {
                AddPAragraph(paragraph, paragraphText, 0, 0, 0, 14, WdParagraphAlignment.wdAlignParagraphRight);
            }
            #endregion

            AddPAragraph(paragraph, "Banese – Banco do Estado de Sergipe", 150, 150, 1, 20, WdParagraphAlignment.wdAlignParagraphCenter);

            strAux = "Aracaju, " + DateTime.Now.ToString("dddd, dd 'de' MMMM 'de' yyyy", System.Globalization.CultureInfo.GetCultureInfo("pt-BR"));
            AddPAragraph(paragraph, strAux, 150, 150, 0, 14, WdParagraphAlignment.wdAlignParagraphRight);
        }
Exemple #20
0
        public static void GenerateConfigXmlFile(string outputPath, string outputName, ConfigXmlDTO config)
        {
            object filename = Path.Combine(outputPath, outputName);

            using (XmlWriter writer = XmlWriter.Create(filename.ToString()))
            {
                writer.WriteStartElement("Config");
                writer.WriteElementString("NomeArea", config.AreaName);
                writer.WriteElementString("NomeTime", config.TeamName);
                writer.WriteElementString("Autor", config.AuthorName);
                if (config.BaneseDes.Count > 0)
                {
                    foreach (var dev in config.BaneseDes)
                    {
                        writer.WriteStartElement("DesenvBanese");
                        writer.WriteElementString("Nome", dev.Name);
                        writer.WriteElementString("UmTurno", dev.WorksHalfDay ? "true" : "false");
                        writer.WriteEndElement();//DesenvBanese
                    }
                }
                foreach (var partner in config.Partners)
                {
                    if (partner.Name != UtilDTO.CONTRACTS.HOUSE.ToString())
                    {
                        writer.WriteStartElement("Fornecedor");
                        writer.WriteElementString("Nome", partner.Name);
                        writer.WriteElementString("CaminhoLogomarca", partner.CaminhoLogomarca);
                        writer.WriteElementString("ValorUst", UtilDTO.ConvertDoubleToStringWithDotAtDecimal(partner.UstValue));
                        foreach (var contract in partner.Contracts)
                        {
                            writer.WriteStartElement("Contrato");
                            writer.WriteElementString("Tipo", contract.Name);
                            writer.WriteElementString("NumeroSAP", contract.NumeroSAP);
                            writer.WriteElementString("FatorAjuste", UtilDTO.ConvertDoubleToStringWithDotAtDecimal(contract.Factor));
                            foreach (var dev in contract.Collaborators)
                            {
                                writer.WriteStartElement("Colaborador");
                                writer.WriteElementString("Nome", dev.Name);
                                writer.WriteElementString("UmTurno", dev.WorksHalfDay ? "true" : "false");
                                writer.WriteEndElement(); //Colaborador
                            }
                            writer.WriteEndElement();     //Contrato
                        }
                        writer.WriteEndElement();         //Fornecedor
                    }
                }
                writer.WriteEndElement();//Config
                writer.Flush();
            }
        }
Exemple #21
0
 private static void CreateLastPage(Document document, Paragraph paragraph, List <SprintSmDTO> sprints, object missing, ConfigXmlDTO config, FornecedorDTO partner)
 {
     SetLastPageText(document, paragraph, partner);
     if (sprints[0].Contracts.Any(contract => contract.Name == UtilDTO.CONTRACTS.SM_FIXO.ToString())) //(TODO) Cada time tem 1 SM, Melhorar  o DTO para representar
     {
         CreateSummaryTableUstSmSettled(document, sprints, ref missing, partner.UstValue);
     }
     else
     {
         if (sprints[0].Contracts.Any(contract => contract.Name == UtilDTO.CONTRACTS.SM_MEDIA.ToString()))
         {
             CreateSummaryTableUstSmShared(document, sprints, ref missing, partner.UstValue);
         }
     }
     SetLastPageSignature(paragraph, config);
 }