示例#1
0
        public static bool EnviarFuncionariosTerminal(int Terminal, Principal form, TextBox edLog)
        {
            bool Result = false;

            Types.Terminal TerminalDados;

            DBApp      db   = new DBApp();
            SqlCommand comm = db.Conn.CreateCommand();

            db.getDadosTerminal(Terminal, out TerminalDados);

            Rede rede = new Rede(TerminalDados.IP, TerminalDados.Porta, edLog);

            if (!rede.Dimep_Conectar())
            {
                return(Result);
            }

            FuncionariosAtualizados.Clear();
            form.CANCELAR = false;

            SqlDataAdapter da = new SqlDataAdapter("SELECT FUNC_IND, FUNC_PIS, TRMF_ARMAZENADO_NO_TERMINAL " +
                                                   "FROM Funcionarios " +
                                                   "INNER JOIN TerminaisFuncionarios ON TRMF_FUNC = FUNC_IND " +
                                                   "WHERE TRMF_TERMINAL = " + Terminal + " AND FUNC_PIS IS NOT NULL " +
                                                   "ORDER BY FUNC_NOME", db.Conn);
            DataSet ds = new DataSet();

            da.Fill(ds);
            rede.log.AddLog(String.Format(AssepontoRep.Consts.FUNCIONARIOS_ENVIANDO, ds.Tables[0].Rows.Count));

            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                if (Convert.ToInt32(dr["TRMF_ARMAZENADO_NO_TERMINAL"]) == 1)
                {
                    rede.log.AddLog(String.Format(AssepontoRep.Consts.PIS_JA_ENVIADO, dr["FUNC_PIS"].ToString()));
                }
                else
                {
                    if (EnviarFuncionario(db, rede, Terminal, Convert.ToInt32(dr["FUNC_IND"].ToString())))
                    {
                        Result = true;
                    }
                }

                Application.DoEvents();

                if (form.CANCELAR)
                {
                    rede.log.AddLog(AssepontoRep.Consts.CANCELADO);
                    break;
                }
            }

            if (Result)
            {
                if (rede.Dimep_EnviaFuncionariosListaEnvio())
                {
                    db.Atualizar_TerminaisFuncionarios(Terminal, FuncionariosAtualizados);
                }
            }

            rede.Dimep_Desconectar();
            return(Result);
        }
示例#2
0
        public static bool EnviarFuncionariosSelecao(int Terminal, Principal form, ListView listFuncionarios, TextBox edLog)
        {
            if (listFuncionarios.SelectedIndices.Count == 0)
            {
                return(false);
            }

            bool Result = false;

            Types.Terminal TerminalDados;

            DBApp db = new DBApp();

            db.getDadosTerminal(Terminal, out TerminalDados);

            Rede rede = new Rede(TerminalDados.IP, TerminalDados.Porta, edLog);

            if (!rede.Dimep_Conectar())
            {
                return(Result);
            }

            if (listFuncionarios.SelectedIndices.Count > 1)
            {
                rede.log.AddLog(String.Format(AssepontoRep.Consts.FUNCIONARIOS_ENVIANDO, listFuncionarios.SelectedIndices.Count));
            }

            FuncionariosAtualizados.Clear();

            form.CANCELAR = false;

            for (int i = 0; i <= listFuncionarios.SelectedIndices.Count - 1; i++)
            {
                int    index     = listFuncionarios.SelectedIndices[i];
                string EnviadoEm = listFuncionarios.Items[index].SubItems[AssepontoRep.Consts.FUNC_SUBITEM_ENVIADOEM].Text;

                if (EnviadoEm != String.Empty)
                {
                    rede.log.AddLog(String.Format(AssepontoRep.Consts.PIS_JA_ENVIADO, listFuncionarios.Items[index].SubItems[AssepontoRep.Consts.FUNC_SUBITEM_PIS].Text));
                }
                else
                {
                    int Funcionario = Convert.ToInt32(listFuncionarios.Items[index].SubItems[AssepontoRep.Consts.FUNC_SUBITEM_IND].Text);

                    if (EnviarFuncionario(db, rede, Terminal, Funcionario))
                    {
                        Result = true;
                    }
                }

                Application.DoEvents();

                if (form.CANCELAR)
                {
                    rede.log.AddLog(AssepontoRep.Consts.CANCELADO);
                    break;
                }
            }

            if (Result)
            {
                if (rede.Dimep_EnviaFuncionariosListaEnvio())
                {
                    db.Atualizar_TerminaisFuncionarios(Terminal, FuncionariosAtualizados);
                }
            }

            rede.Dimep_Desconectar();
            return(Result);
        }