コード例 #1
0
        public void LerXml(string caminho)
        {
            servicoHorario     = new HorarioService(context);
            servicoFuncionario = new FuncionarioService(context);
            XmlDocument doc = new XmlDocument();

            doc.Load(caminho);

            XmlNodeList xmlHorarios = doc.GetElementsByTagName("Horarios");

            //Usando for para imprimir na tela

            for (int x = 0; x < xmlHorarios.Count; x++)
            {
                HorarioExpediente horarioExpediente = new HorarioExpediente();

                //Preenchendo Objeto.
                horarioExpediente.Funcionario.Id   = int.Parse(xmlHorarios[x]["IdFuncionario"].InnerText);
                horarioExpediente.Funcionario.Nome = xmlHorarios[x]["NomeFuncionario"].InnerText;
                horarioExpediente.Funcionario.CPF  = xmlHorarios[x]["CPFFuncionario"].InnerText;
                horarioExpediente.Data             = Convert.ToDateTime(xmlHorarios[x]["Data"].InnerText);
                horarioExpediente.Entrada          = Convert.ToDateTime(xmlHorarios[x]["Entrada"].InnerText);
                horarioExpediente.Saida            = Convert.ToDateTime(xmlHorarios[x]["Saida"].InnerText);

                if (servicoFuncionario.GetFuncionarioCPFExiste(horarioExpediente.Funcionario.CPF))
                {
                    if (servicoHorario.GetHorarioArquivo(horarioExpediente.Funcionario.CPF, horarioExpediente.Data, horarioExpediente.Entrada))
                    {
                        servicoHorario.Insert(horarioExpediente);
                    }
                    else
                    {
                        MetroFramework.MetroMessageBox.Show(this, "Esse arquivo já foi processado no sistema.", "Atenção!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Hand);
                        return;
                    }
                }
                else
                {
                    MetroFramework.MetroMessageBox.Show(this, "O Funcionário: " + horarioExpediente.Funcionario.Nome.ToString() + ", " + "com CPF: " + horarioExpediente.Funcionario.Nome.ToString() + " não está cadastrado no banco principal, cadastre e leia o arquivo novamente", "Atenção!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Hand);
                    return;
                }
            }

            MetroFramework.MetroMessageBox.Show(this, "O arquivo foi processado com sucesso.", "Processado com sucesso!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Question);
        }