public static void Log(IProcess process, IControle controle, string statutMessage, string message) { using (var conn = new System.Data.SqlClient.SqlConnection(ParamAppli.ConnectionStringBaseAppli)) { try { conn.Open(); using (var cmd = new System.Data.SqlClient.SqlCommand("insert into PNPU_LOG (ID_PROCESS, ITERATION, WORKFLOW_ID, MESSAGE, STATUT_MESSAGE, ID_CONTROLE, IS_CONTROLE, DATE_LOG, SERVER, BASE, NIVEAU_LOG) values(@ID_PROCESS, @ITERATION, @WORKFLOW_ID, @MESSAGE, @STATUT_MESSAGE, @ID_CONTROLE, @IS_CONTROLE, @DATE_LOG, @SERVER, @BASE, @NIVEAU_LOG)", conn)) { cmd.Parameters.Add("@ID_PROCESS", SqlDbType.VarChar, 50).Value = process.ToString(); cmd.Parameters.Add("@ITERATION", SqlDbType.Int).Value = 1; cmd.Parameters.Add("@WORKFLOW_ID", SqlDbType.Int).Value = process.WORKFLOW_ID; cmd.Parameters.Add("@MESSAGE", SqlDbType.VarChar, 250).Value = message; cmd.Parameters.Add("@STATUT_MESSAGE", SqlDbType.VarChar, 50).Value = statutMessage; cmd.Parameters.Add("@ID_CONTROLE", SqlDbType.VarChar, 50).Value = controle.ToString(); cmd.Parameters.Add("@IS_CONTROLE", SqlDbType.VarChar, 50).Value = "Y"; cmd.Parameters.Add("@DATE_LOG", SqlDbType.DateTime).Value = DateTime.Now; cmd.Parameters.Add("@SERVER", SqlDbType.VarChar, 50).Value = "SERVER"; //process.SERVER; cmd.Parameters.Add("@BASE", SqlDbType.VarChar, 50).Value = "BASE"; //process.BASE; cmd.Parameters.Add("@NIVEAU_LOG", SqlDbType.VarChar, 50).Value = ParamAppli.LogLevel; int rowsAffected = cmd.ExecuteNonQuery(); } } catch (SqlException ex) { Console.WriteLine(ex.ToString()); } } }
/// <summary> /// Methode permettant de récupérer dynamiquement la liste des contrôles à lancer en fonction du process, de la typologie client et du type de pack (standard ou non). /// </summary> /// <param name="listControl">Au retour de l'appel contient la liste des contrôles à exécuter dans le process</param> protected void GetListControle(ref List <IControle> listControl) { DataManagerSQLServer dmsDataManager = new DataManagerSQLServer(); DataSet dsDataSet; string sRequete = "SELECT ID_CONTROLE, CONTROLE_LABEL, TYPOLOGY, RUN_STANDARD, ID_PROCESS, ERROR_TYPE, TOOLTIP FROM PNPU_CONTROLE WHERE ID_PROCESS =" + this.PROCESS_ID.ToString(); if ((this.CLIENT_ID != string.Empty) && (this.CLIENT_ID != "ALL")) { try { string sClient_ID; if (this.CLIENT_ID.Contains(",") == true) { sClient_ID = this.CLIENT_ID.Split(',')[0]; } else { sClient_ID = this.CLIENT_ID; } this.TYPOLOGY = ParamAppli.ListeInfoClient[sClient_ID].TYPOLOGY_ID; if (this.TYPOLOGY != string.Empty) { sRequete += " AND ((TYPOLOGY IS NULL) OR (TYPOLOGY LIKE '%*" + this.TYPOLOGY + "*%'))"; } } catch (Exception) { } } /*else if (this.TYPOLOGY != string.Empty) * { * sRequete += " AND ((TYPOLOGY IS NULL) OR (TYPOLOGY LIKE '%*" + this.TYPOLOGY + "*%'))"; * } */ if (this.STANDARD == false) { sRequete += " AND ((RUN_STANDARD IS NULL) OR (RUN_STANDARD <> 'YES'))"; } listControl.Clear(); dsDataSet = dmsDataManager.GetData(sRequete, ParamAppli.ConnectionStringBaseAppli); if ((dsDataSet != null) && (dsDataSet.Tables[0].Rows.Count > 0)) { foreach (DataRow drRow in dsDataSet.Tables[0].Rows) { string sControle = drRow[0].ToString(); IControle iControle = (IControle)Activator.CreateInstance(Type.GetType(sControle), this, drRow); listControl.Add(iControle); } } }