public void WriteToCyberPlan <T>(bool mode_all, string codice_like, string filtro, bool delete, string option) where T : Item, new() { Item.ResetMailMessage(); string startedAt = DateTime.Now.ToString(); string message_error = "Command started at " + startedAt + " " + "\n Parameters: mode_all=" + mode_all + ", codice_like=" + codice_like + ", filtro=" + filtro + ", delete=" + delete + ", option=" + option + "\n\n"; _logger.Debug(System.Reflection.MethodBase.GetCurrentMethod().Name + " --- started at " + startedAt); T tmp = new T(); _logger.Info("Oggetto: " + typeof(T).ToString().PadRight(60) + " su tabella " + tmp._CP_tabella); DBHelper2 cm = DBHelper2.getCyberDBHelper(); if (delete) { DBHelper2.EseguiSuDBCyberPlan(ref cm, tmp.GetDeletedAllQuery()); _logger.Debug(System.Reflection.MethodBase.GetCurrentMethod().Name + " --- deleting ended at " + DateTime.Now.ToString()); return; } //if (string.IsNullOrWhiteSpace(codice_like)) //{ // codice_like = "%"; //} //string qry = tmp.GetSelectQuery(mode_all, _libreria_dossier+"TEST", codice_like, filtro); _logger.Info("Oggetto: " + typeof(T).ToString().PadRight(60) + " Disab Blocco chifra suffisso TEST a " + _libreria_dossier); string qry = tmp.GetSelectQuery(mode_all, _libreria_dossier, codice_like, filtro); DbDataReader dtr = GetReaderSelectCommand(qry); object[] row = new object[dtr.FieldCount]; int i = 0; int j = 0; while (dtr.Read()) { //x debug //if (i==34529) //{ // _logger.Info("i=" + i.ToString() ); //} i++; j++; dtr.GetValues(row); //tmp.Init__AddRow(row); try { tmp.Init(row); } catch (Exception ex) { _logger.Info("I=" + i.ToString() + "Exception: " + ex.Message); } try { tmp.AddCyberRow();//tmp.GetRow(row); } catch (Exception ex) { _logger.Info(ex.Message); } if (j % 1000 == 0) { //int res= DBHelper2.EseguiSuDBCyberPlan(ref cm, tmp_qry); int res = DBHelper2.EseguiSuDBCyberPlan_Bulk(ref cm, tmp._CP_tabella, Item._dataTable); _logger.Info(i + " items... [" + tmp.GetID() + "]"); j = 0; } } int added = tmp.AddLastCyberRows(); if (j > 0 || added > 0) { //DBHelper2.EseguiSuDBCyberPlan(ref cm, tmp_qry); int res = DBHelper2.EseguiSuDBCyberPlan_Bulk(ref cm, tmp._CP_tabella, Item._dataTable); _logger.Info(i + added + " items [last= " + tmp.GetID() + "]"); } tmp.DoLastAction(ref cm, this); dtr.Close(); //if (thereIsMessage) //{ // Utils.SendMail("*****@*****.**", "*****@*****.**", message_error); // //Utils.SendMail("*****@*****.**", "[email protected],[email protected]", message_error); //} _logger.Debug(System.Reflection.MethodBase.GetCurrentMethod().Name + " --- ended at " + DateTime.Now.ToString()); }