//Ajoute un flux au serveur public static void InsertServeurFlux(int cdFlux, int cdServeur, String cheminLocal, String cheminDistant) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("INSERT INTO trft_serveur_flux (CD_FLUX, CD_SRV, CHEMIN_LOCAL, CHEMIN_DISTANT) VALUES (:1, :2, :3, :4)", transac, cdFlux, cdServeur, cheminLocal, cheminDistant).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void UpdateClient(int cdClient, String raisonSocial, String adressePostale, String codePostal, String ville, String pays) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("UPDATE trft_client SET RAISON_SOCIAL = :2, ADRESSE_POSTALE = :3, CODE_POSTAL = :4, VILLE = :5, PAYS = :6 WHERE CD_CLIENT = :1 ", -1, cdClient, raisonSocial, adressePostale, codePostal, ville, pays).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void InsertClient(String raisonSocial, String adressePostale, String codePostal, String ville, String pays) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { int cd_client = getCdClientmax(); bool res = o.ExecuterUpdate("INSERT INTO trft_client (CD_CLIENT, RAISON_SOCIAL, ADRESSE_POSTALE, CODE_POSTAL, VILLE, PAYS) VALUES (:1, :2, :3, :4, :5, :6)", transac, cd_client, raisonSocial, adressePostale, codePostal, ville, pays).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void DeleteClientServeur(int cdServeur, int cdClient) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("DELETE FROM trft_client_serveur WHERE cd_srv = :1 AND cd_client = :2", transac, cdServeur, cdClient).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void UpdateCDSRVServeurFlux(int cdFlux, int cdServeurOld, int cdServeurNew, String cheminLocal, String cheminDistant) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("UPDATE trft_serveur_flux SET CHEMIN_LOCAL = :2, CHEMIN_DISTANT = :3, CD_SRV = :5 WHERE CD_SRV = :1 AND CD_FLUX = :4 ", -1, cdServeurOld, cheminLocal, cheminDistant, cdFlux, cdServeurNew).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
///// <summary> ///// Mise à jour de l'activité de session d'utilisation d'un logiciel ///// </summary> //public static Boolean MajActiviteSessionCle(int cdLogiciel, String sessionId) //{ // lock (LOCK) // { // if (DateTime.Now.Subtract(_dateDernierePurge).TotalSeconds < 10) // { // try // { // // Purge des sessions existantes qui dépassent le délai d'inactivité // PurgerSessionsCle(cdLogiciel, _DUREE_INACTIVITE); // _dateDernierePurge = DateTime.Now; // } // catch (Exception) { } // } // } // OracleTrans o = OracleTrans.getInstance; // int transac = o.DebutTransaction(); // Boolean res = true; // // Vérifie la présence en base du log opérateur // try // { // res = res && MajActiviteSessionCle(cdLogiciel, sessionId, transac); // if (res) // { // if (_COMMIT) // o.Commit(transac); // else // o.RollBack(transac); // } // else // o.RollBack(transac); // return res; // } // catch (Exception ex) // { // o.RollBack(transac); // throw ex; // } //} ///// <summary> ///// Mise à jour de l'activité de session d'utilisation d'un logiciel ///// </summary> //private static Boolean MajActiviteSessionCle(int cdLogiciel, String sessionId, int transac) //{ // OracleTrans o = OracleTrans.getInstance; // Boolean res = true; // try // { // // Vérifie la présence en base du log opérateur // try // { // res = res && // Convert.ToInt32(o.ExecuterSelectScalar( // "SELECT count(*) FROM LOGICIEL_SESSIONS " + // " WHERE CD_LOGICIEL = :1 " + // " AND SESSION_ID = :2 ", // transac, // cdLogiciel, sessionId).Result) > 0; // if (!res) // return false; // } // catch (Exception) // { // throw new Exception("Impossible de retrouver la session d'utilisation. "); // } // if (res) // { // ExtendedReturnedUpdate resultLogOpe = o.ExecuterUpdate( // " UPDATE LOGICIEL_SESSIONS SET " + // " DATE_MAJ = SYSDATE, " + // " DUREE_ACTIVITE = Round((DATE_MAJ - DATE_CREAT) * 24 * 60, 2) " + // EN MINUTES // " WHERE CD_LOGICIEL = :1 " + // " AND SESSION_ID = :2 ", // transac, // cdLogiciel, sessionId); // res = res && resultLogOpe.ErrCode == 0; // if (!res) throw new Exception("Impossible de mettre à jour l'activité de la session d'utilisation. " + (resultLogOpe.OracleException != null ? resultLogOpe.OracleException.Message : "")); // return res; // } // else // { // return false; // } // } // catch (Exception ex) // { // throw ex; // } //} /// <summary> /// Purge des logs opérateur > durée /// </summary> private static Boolean PurgerSessionsCle(int cdLogiciel, int dureeSecondes) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); Boolean res = true; try { res = PurgerSessionsCle(cdLogiciel, dureeSecondes, transac); if (res) { if (_COMMIT) { o.Commit(transac); } else { o.RollBack(transac); } } else { o.RollBack(transac); } return(res); } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void DeleteFlux(int cd_flux) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("DELETE FROM trft_flux WHERE cd_flux = :1", transac, cd_flux).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void UpdateFlux(int cdFlux, String designation) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("UPDATE trft_flux SET DESIGNATION = :2 WHERE CD_FLUX = :1 ", -1, cdFlux, designation).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
//Ajoute un client au serveur public static void InsertClientServeur(int cdClient, int cdServeur) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("INSERT INTO trft_client_serveur (CD_CLIENT, CD_SRV) VALUES (:1, :2)", transac, cdClient, cdServeur).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void UpdateServeur(int cdServeur, String adresseIp, String ftpIdtf, String ftpMdp, String ftpPort, String trftPort, int cd_client_srv) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("UPDATE trft_serveurs SET ADRESSE_IP = :2, FTP_IDENTIFIANT = :3, FTP_MDP = :4, FTP_PORT = :5, TRFT_PORT = :6, CD_CLIENT_SRV = :7 WHERE CD_SRV = :1 ", -1, cdServeur, adresseIp, ftpIdtf, ftpMdp, ftpPort, trftPort, cd_client_srv).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void InsertFlux(String designation) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { int cd_flux = getCdFluxmax(); bool res = o.ExecuterUpdate("INSERT INTO trft_flux (CD_FLUX, DESIGNATION) VALUES (:1, :2)", transac, cd_flux, designation).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static Boolean InsertTransaction(int cdTransfert, String detail, String codeErreur, String etat, DateTime date) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); Boolean res; try { int cd_transaction = getCdTransactionmax(); res = o.ExecuterUpdate("INSERT INTO trft_transaction (CD_TRST, CD_TRFT, DETAIL, CODE_ERREUR, ETAT, DATE_TRANSACTION) VALUES (:1, :2, :3, :4, :5, :6)", transac, cd_transaction, cdTransfert, detail, codeErreur, etat, date).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); res = false; } return(res); }
public static void InsertServeur(String adresseIp, String ftpIdtf, String ftpMdp, String ftpPort, String trftPort, int cd_client_srv) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { int cd_serveur = getCdServeurmax(); bool res = o.ExecuterUpdate("INSERT INTO trft_serveurs (CD_SRV, ADRESSE_IP, FTP_IDENTIFIANT, FTP_MDP, FTP_PORT, TRFT_PORT, CD_CLIENT_SRV) VALUES (:1, :2, :3, :4, :5, :6, :7)", transac, cd_serveur, adresseIp, ftpIdtf, ftpMdp, ftpPort, trftPort, cd_client_srv).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static void UpdateTransfertEtat(int cdTransfert, String etat) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("UPDATE trft_transfert SET ETAT = :2 WHERE CD_TRFT = :1 ", -1, cdTransfert, etat).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
public static Boolean InsertTransfert(int cdFlux, int cdClient, String designation, String tailleFichier, String etat, String ipSource, DateTime date) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); Boolean res; try { int cd_transfert = getCdTransfertmax(); res = o.ExecuterUpdate("INSERT INTO trft_transfert (CD_TRFT, CD_FLUX, CD_CLIENT, DESIGNATION, TAILLE_FICHIER, ETAT, IP_SOURCE, DATE_TRANSFERT) VALUES (:1, :2, :3, :4, :5, :6, :7, :8)", transac, cd_transfert, cdFlux, cdClient, designation, tailleFichier, etat, ipSource, date).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); res = false; } return(res); }
public static void UpdateClientServeur(int cdClient, int cdServeur) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); try { bool res = o.ExecuterUpdate("UPDATE trft_client_serveur SET CD_CLIENT = :2, CD_SRV = :1 WHERE CD_SRV = :1", -1, cdServeur, cdClient).ErrCode == 0; if (res) { o.Commit(transac); } else { o.RollBack(transac); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }
/// <summary> /// Suppression de la session d'utilisation du logiciel /// </summary> public static Boolean SupprimerSessionCle(int cdLogiciel, String sessionId) { OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); Boolean res = true; try { ExtendedReturnedUpdate result = OracleTrans.getInstance.ExecuterUpdate( " DELETE FROM LOGICIEL_SESSIONS WHERE CD_LOGICIEL = :1 AND SESSION_ID = :2 ", -1, cdLogiciel, sessionId); res = res && result.ErrCode == 0; if (!res) { throw new Exception("Impossible de supprimer la session utilisateur. " + (result.OracleException != null ? result.OracleException.Message : "")); } if (res) { if (_COMMIT) { o.Commit(transac); } else { o.RollBack(transac); } } else { o.RollBack(transac); } return(res); } catch (Exception ex) { o.RollBack(transac); throw ex; } }
/// <summary> /// Enregistrement d'une nouvelle session d'utilisation à un logiciel et vérification de la clé associée /// </summary> public static Boolean CreerNouvelleSessionCle(int cdLogiciel, string sessionId, string infos) { lock (LOCK) { if (DateTime.Now.Subtract(_dateDernierePurge).TotalSeconds > _FREQUENCE_PURGE) { try { _dateDernierePurge = DateTime.Now; // Purge des sessions existantes qui dépassent le délai d'inactivité PurgerSessionsCle(cdLogiciel, _DUREE_INACTIVITE); } catch (Exception) { } } } OracleTrans o = OracleTrans.getInstance; int transac = o.DebutTransaction(); Boolean res = true; try { // Test si session existe déjà Boolean existsSession = false; if (sessionId != "") { ExtendedReturnedScalar resultSessionCourante = o.ExecuterSelectScalar( " SELECT COUNT(*)" + " FROM LOGICIEL_SESSIONS " + " WHERE CD_LOGICIEL = :1 " + " AND SESSION_ID = :2", transac, cdLogiciel, sessionId); if (Convert.ToInt32(resultSessionCourante.Result) > 0) { existsSession = true; Boolean sessionAMAJ = false; // SI DATE_MAJ session courante > DUREE_INACTIVITE => SESSION NON ACTIVE => test clé ExtendedReturnedScalar resultSessionCouranteActive = o.ExecuterSelectScalar( " SELECT CASE WHEN (SYSDATE - DATE_MAJ) < (:2 / 60 / 60 / 24) THEN 1 ELSE 0 END as SESSION_ACTIVE " + " FROM LOGICIEL_SESSIONS " + " WHERE CD_LOGICIEL = :1 " + " AND SESSION_ID = :3", transac, cdLogiciel, _DUREE_INACTIVITE, sessionId); // Si session non active -> test clé if (Convert.ToInt32(resultSessionCouranteActive.Result) == 0) { sessionAMAJ = TestCle(cdLogiciel, sessionId, _DUREE_INACTIVITE, transac); } else { // Sinon mise à jour activité session sessionAMAJ = true; } if (sessionAMAJ) { //MajActiviteSessionCle(cdLogiciel, sessionId, transac); ExtendedReturnedUpdate resultLogOpe = o.ExecuterUpdate( " UPDATE LOGICIEL_SESSIONS SET " + " DATE_MAJ = SYSDATE, " + " DUREE_ACTIVITE = Round((DATE_MAJ - DATE_CREAT) * 24 * 60, 2) " + // EN MINUTES " WHERE CD_LOGICIEL = :1 " + " AND SESSION_ID = :2 ", transac, cdLogiciel, sessionId); res = res && resultLogOpe.ErrCode == 0; if (!res) { throw new Exception("Impossible de mettre à jour l'activité de la session d'utilisation. " + (resultLogOpe.OracleException != null ? resultLogOpe.OracleException.Message : "")); } } } else { existsSession = false; } if (!existsSession) { res = res && TestCle(cdLogiciel, null, _DUREE_INACTIVITE, transac); if (res) { // - OK, nouvelle session ExtendedReturnedUpdate resultLogOpe = o.ExecuterUpdate( " INSERT INTO LOGICIEL_SESSIONS " + " (CD_LOGICIEL_SESSIONS, CD_LOGICIEL, SESSION_ID, INFOS, DATE_CREAT, DATE_MAJ, DUREE_ACTIVITE) " + " VALUES (SEQ_LOGICIEL_SESSIONS.NEXTVAL, :1, :2, :3, SYSDATE, SYSDATE, 0)", transac, cdLogiciel, sessionId, infos); res = res && resultLogOpe.ErrCode == 0; if (!res) { throw new Exception("Impossible d'enregistrer la session d'utilisation. " + (resultLogOpe.OracleException != null ? resultLogOpe.OracleException.Message : "")); } } } if (res) { if (_COMMIT) { o.Commit(transac); } else { o.RollBack(transac); } return(res); } else { o.RollBack(transac); return(false); } } else { o.RollBack(transac); return(false); } } catch (Exception ex) { o.RollBack(transac); throw ex; } }