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); }
static bool EnviarFuncionario(DBApp db, Rede rede, int Terminal, int Funcionario) { bool Result = false; string TecladoPassword = ""; string Cracha = ""; string Pis = ""; List <int> FuncionariosAtualizados = new List <int>(); SqlDataAdapter da = new SqlDataAdapter("SELECT FUNC_NOME, FUNC_PIS, CRA_NUMERO, TRMF_TECLADO, " + "TRMF_TECLADO_PASSWORD, TRMF_PROXIMIDADE, TRMF_CODIGOBARRAS " + "FROM Funcionarios " + "LEFT JOIN Crachas ON CRA_FUNC = FUNC_IND " + "LEFT JOIN TerminaisFuncionarios ON TRMF_FUNC = FUNC_IND " + "WHERE FUNC_IND = " + Funcionario + " AND TRMF_TERMINAL = " + Terminal + " " + "ORDER BY FUNC_NOME", db.Conn); DataSet ds = new DataSet(); da.Fill(ds); foreach (DataRow dr in ds.Tables[0].Rows) { if (dr["TRMF_TECLADO_PASSWORD"] != DBNull.Value) { TecladoPassword = Convert.ToBoolean(dr["TRMF_TECLADO"]) ? dr["TRMF_TECLADO_PASSWORD"].ToString().Trim() : ""; } else { TecladoPassword = ""; } if (dr["CRA_NUMERO"] != DBNull.Value) { Cracha = dr["CRA_NUMERO"].ToString().Trim(); } else { Cracha = ""; } Pis = dr["FUNC_PIS"].ToString().Trim(); if (Pis[0] == Convert.ToChar("0")) { Pis = Pis.Substring(1); } if (Pis != string.Empty) { if (rede.Gertec_EnviaFuncionario( dr["FUNC_NOME"].ToString().Trim(), Pis, Cracha, Cracha, String.Empty)) { FuncionariosAtualizados.Add(Funcionario); Result = true; } } } db.Atualizar_TerminaisFuncionarios(Terminal, FuncionariosAtualizados); return(Result); }
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); }