示例#1
0
 public bool Delete(HorarioExpediente horarioExpediente)
 {
     Context.Entry(horarioExpediente).State = System.Data.Entity.EntityState.Deleted;
     Context.HorariosExpediente.Remove(horarioExpediente);
     Context.SaveChanges();
     return(true);
 }
示例#2
0
 public HorarioExpediente retornarHorarioSelecionado()
 {
     horarioExpediente    = new HorarioExpediente();
     horarioExpediente.Id = (int)dgFuncionarios.Rows[dgFuncionarios.CurrentRow.Index].Cells["Id"].Value;
     horarioExpediente    = servico.GetHorario(horarioExpediente.Id);
     return(horarioExpediente);
 }
示例#3
0
        public void Confirmar()
        {
            horarioService    = new HorarioService(context);
            horarioExpediente = new HorarioExpediente();

            DateTime dateIni = dtDataIni.Value.Date;
            DateTime dateFim = dtDataFim.Value.Date;

            DataTable tabela = horarioService.GetHorarioXml(dateIni, dateFim);

            if (tabela.Rows.Count != 0)
            {
                SaveFileDialog saveFile = new SaveFileDialog();
                saveFile.FileName = NomeArquivo();
                saveFile.ShowDialog();

                if (gerarXml(tabela, saveFile.FileName))
                {
                    MetroFramework.MetroMessageBox.Show(this, "Arquivo gerado com sucesso", "Sucesso!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Question);
                }
                else
                {
                    MetroFramework.MetroMessageBox.Show(this, "O Arquivo não foi gerado, entrar em contato com o suporte.", "Erro!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Hand);
                }
            }
            else
            {
                MetroFramework.MetroMessageBox.Show(this, "Não há informações nesse período", "Atençaõ!", System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Exclamation);
            }
        }
示例#4
0
 public frmHorarios(AppDataContext con)
 {
     InitializeComponent();
     txtCPF.CustomButton.Click += new EventHandler(txtCPF_Click);
     validate          = new ValidateCPF_CNPJ();
     context           = con;
     funcionario       = new Funcionario();
     servico           = new HorarioService(context);
     horarioExpediente = new HorarioExpediente();
 }
示例#5
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);
        }
示例#6
0
        public DataTable GetHorarioXml(DateTime dataIni, DateTime dataFim)
        {
            horario = new HorarioExpediente();

            var results = Context.HorariosExpediente
                          .Where(x => x.Data >= dataIni && x.Data <= dataFim)
                          .Include("Funcionario")
                          .Select(p => new
            {
                p.Data,
                p.Entrada,
                p.Saida,
                NomeFuncionario = p.Funcionario.Nome,
                IdFuncionario   = p.Funcionario.Id,
                CPFFuncionario  = p.Funcionario.CPF,
            })
                          .AsEnumerable()
                          .ToList();

            DataTable tabela = new DataTable();

            tabela.Columns.Add("IdFuncionario", typeof(int));
            tabela.Columns.Add("NomeFuncionario", typeof(string));
            tabela.Columns.Add("CPFFuncionario", typeof(string));
            tabela.Columns.Add("Data", typeof(DateTime));
            tabela.Columns.Add("Entrada", typeof(DateTime));
            tabela.Columns.Add("Saida", typeof(DateTime));

            foreach (var item in results)
            {
                DataRow linha = tabela.NewRow();
                linha["IdFuncionario"]   = item.IdFuncionario;
                linha["NomeFuncionario"] = item.NomeFuncionario;
                linha["CPFFuncionario"]  = item.CPFFuncionario;
                linha["Data"]            = item.Data;
                linha["Entrada"]         = item.Entrada;
                linha["Saida"]           = item.Saida;
                tabela.Rows.Add(linha);
            }

            return(tabela);
        }
示例#7
0
        public DataTable GetHorarioFuncionarioCPF(string cpf, DateTime dataInicial, DateTime dataFinal)
        {
            horario = new HorarioExpediente();

            var results = Context.HorariosExpediente
                          .Where(x => x.Funcionario.CPF == cpf && x.Data >= dataInicial && x.Data <= dataFinal)
                          .Include("Funcionario")
                          .Select(p => new
            {
                p.Data,
                p.Entrada,
                p.Saida,
                Id = p.Id,
            })
                          .AsEnumerable()
                          .ToList();

            DataTable tabela = new DataTable();

            tabela.Columns.Add("Id", typeof(int));
            tabela.Columns.Add("Data", typeof(DateTime));
            tabela.Columns.Add("Entrada", typeof(DateTime));
            tabela.Columns.Add("Saida", typeof(DateTime));

            foreach (var item in results)
            {
                DataRow linha = tabela.NewRow();
                linha["Id"]      = item.Id;
                linha["Data"]    = item.Data;
                linha["Entrada"] = item.Entrada;
                linha["Saida"]   = item.Saida;
                tabela.Rows.Add(linha);
            }

            return(tabela);
        }
示例#8
0
        public void OnComplete(object Capture, string ReaderSerialNumber, Sample Sample)
        {
            this.Invoke(new Function(delegate() { this.imgDigital.Enabled = true; }));
            this.Invoke(new Function(delegate() { this.Cursor = Cursors.WaitCursor; }));
            sp.ConvertToPicture(Sample, ref img);
            FuncionarioService funServ = new FuncionarioService(context);

            funcionarios = new List <Funcionario>();
            funcionarios = funServ.GetFuncionarios();
            byte[] bytes = Sample.Bytes;
            Process(Sample);

            if (impressaoLocalizada)
            {
                if (funcionario != null)
                {
                    if (funcionario.Id == 0)
                    {
                        return;
                    }

                    if ((impressaoLocalizada) &&
                        (funcionarioAnterior != null))
                    {
                        if (funcionarioAnterior.Id == 0)
                        {
                            impressaoLocalizada = false;
                        }

                        if (funcionario.Id == funcionarioAnterior.Id)
                        {
                            HorarioExpediente horarioExpediente = new HorarioExpediente();
                            HorarioService    serviceHorario    = new HorarioService(context);
                            horarioExpediente.Data = DateTime.Now.Date;
                            HorarioExpediente ultimoHorario = serviceHorario.GetLastHorario(funcionario.Id);
                            horarioExpediente.Funcionario = funcionario;

                            if (ultimoHorario == null)
                            {
                                horarioExpediente.Entrada = DateTime.Now;
                                horarioExpediente.Saida   = new DateTime();
                                serviceHorario.Insert(horarioExpediente);
                                updateStatus("Horário de entrada lançado com sucesso...");
                            }
                            else
                            {
                                if ((ultimoHorario.Entrada != DateTime.MinValue) &&
                                    (ultimoHorario.Saida == DateTime.MinValue))
                                {
                                    ultimoHorario.Saida = DateTime.Now;
                                    serviceHorario.Update(ultimoHorario);
                                    updateStatus("Horário de saída lançado com sucesso...");
                                }
                                else
                                {
                                    horarioExpediente.Entrada = DateTime.Now;
                                    horarioExpediente.Saida   = new DateTime();
                                    serviceHorario.Insert(horarioExpediente);
                                    updateStatus("Horário de entrada lançado com sucesso...");
                                }
                            }

                            funcionario         = new Funcionario();
                            funcionarioAnterior = funcionario;
                            this.Invoke(new Function(delegate() { limparTela(); }));
                            cp.StopCapture();
                            cp = new DPFP.Capture.Capture();
                            cp.StartCapture();
                            cp.EventHandler = this;
                        }
                    }
                    if ((impressaoLocalizada == false) ||
                        (funcionarioAnterior == null))
                    {
                        PreencherTela();
                        updateStatus("Impressão digital localizada. \nPara efetuar o lançamento do ponto e coloque novamente o mesmo dedo no leitor.");
                        funcionarioAnterior = funcionario;
                        impressaoLocalizada = true;
                    }
                    else
                    {
                        impressaoLocalizada = false;
                    }
                }
                else
                {
                    updateStatus("Impressão digital não localizada. \nTente novamente.");
                    funcionarioAnterior = null;
                    impressaoLocalizada = false;
                }
            }
            else
            {
                funcionario         = new Funcionario();
                funcionarioAnterior = funcionario;
                this.Invoke(new Function(delegate() { limparTela(); }));
                cp.StopCapture();
                cp = new DPFP.Capture.Capture();
                cp.StartCapture();
                cp.EventHandler = this;
                this.Invoke(new Function(delegate() { limparTela(); }));
            }
            this.Invoke(new Function(delegate() { this.Cursor = Cursors.Default; }));

            this.Invoke(new Function(delegate() { this.imgDigital.Enabled = false; }));
        }
示例#9
0
 public bool Insert(HorarioExpediente horario)
 {
     Context.HorariosExpediente.Add(horario);
     Context.SaveChanges();
     return(true);
 }
示例#10
0
 public bool Update(HorarioExpediente horarioExpediente)
 {
     Context.Entry(horarioExpediente).State = System.Data.Entity.EntityState.Modified;
     Context.SaveChanges();
     return(true);
 }