private void btnApplica_Click(object sender, EventArgs e) { string error = ""; string dettaglio = ""; DataTable Tdbdepartment = Meta.Conn.RUN_SELECT("dbdepartment", "iddbdepartment,description", null, null, null, true); foreach (DataRow dip in Tdbdepartment.Rows) { MyDataAccess = Easy_DataAccess.getEasyDataAccess("DSN", Meta.GetSys("server").ToString(), Meta.GetSys("database").ToString(), Meta.GetSys("user").ToString(), txtpassword.Text.Trim(), null, dip["iddbdepartment"].ToString(), (int)Meta.GetSys("esercizio"), (DateTime)Meta.GetSys("datacontabile"), out error, out dettaglio); if (MyDataAccess == null) { MessageBox.Show(error + "\n" + dettaglio, "Attenzione", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } if (!MyDataAccess.Open()) { error = "Non è stato possibile effettuare il collegamento al dipartimento" + dip["iddbdepartment"].ToString(); dettaglio = MyDataAccess.LastError; MessageBox.Show(error + "\n" + dettaglio, "Attenzione", MessageBoxButtons.OK, MessageBoxIcon.Information); continue; } string currDip = "\nid: " + dip["iddbdepartment"].ToString() + " \nNome:" + dip["description"].ToString(); doApplica(MyDataAccess, currDip); MyDataAccess.Destroy(); } MessageBox.Show(this, "Fine operazione.", "Informazione", MessageBoxButtons.OK, MessageBoxIcon.Information); }
private void GeneraImpegniEScritture(string elencoCedolini) { if (elencoCedolini == "") { return; } DataSet Temp = new DataSet(); DataTable tCedolino = DataAccess.CreateTableByName(Meta.Conn, "payroll", "*"); DataTable tContratto = DataAccess.CreateTableByName(Meta.Conn, "parasubcontract", "*"); Temp.Tables.Add(tCedolino); Temp.Tables.Add(tContratto); string filtroCedolini = QHS.FieldInList("idpayroll", elencoCedolini); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, tCedolino, null, filtroCedolini, null, true); string elencoContratti = QHS.FieldInList("idcon", QueryCreator.ColumnValues(tCedolino, null, "idcon", true)); DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, tContratto, null, elencoContratti, null, true); bool calcolaTutto = false; DataAccess Conn = Meta.Conn; int esercizio = Conn.GetEsercizio(); MetaData metaParasubMain = Meta.Dispatcher.Get("parasubcontract"); metaParasubMain.DS = Temp; EP_Manager mainManager = new EP_Manager(metaParasubMain, null, null, null, null, null, null, null, null, "payroll"); foreach (DataRow CurrCedolino in tCedolino.Rows) { if (!calcolaTutto) { int idCedolino = CfgFn.GetNoNullInt32(CurrCedolino["idpayroll"]); AskOperation ao = new AskOperation(idCedolino); DialogResult dr = ao.ShowDialog(); if (dr != DialogResult.OK) { continue; } switch (ao.operazioneScelta) { case AskOperation.operazione.Si: { break; } case AskOperation.operazione.SiTutti: { calcolaTutto = true; break; } case AskOperation.operazione.No: { continue; } case AskOperation.operazione.NoTutti: { return; } } } Meta_EasyDispatcher d = null; Easy_DataAccess newConn = null; MetaData metaParasub = null; int annostop = esercizio; bool erroriep = false; if (CurrCedolino["stop"] != DBNull.Value && (((DateTime)CurrCedolino["stop"]).Year < esercizio)) { annostop = ((DateTime)CurrCedolino["stop"]).Year; } DataRow CurrContratto = tContratto.Select(QHC.CmpEq("idcon", CurrCedolino["idcon"]))[0]; string descrizione = "Contratto n." + CurrContratto["ncon"].ToString() + " del " + CurrContratto["ycon"].ToString() + " - " + "Cedolino n. " + CurrCedolino["npayroll"] + "/" + CurrCedolino["fiscalyear"]; EP_Manager epManagerCedolino = mainManager; if (annostop < esercizio & (mainManager.UsaImpegniDiBudget || mainManager.UsaScritture)) { //Genera impegni e scritture nell'anno di competenza del cedolino newConn = ottieniConnessioneNuovoEsercizio(Conn, annostop); if (newConn == null) { MessageBox.Show("Ci sono problemi nell'accedere all'anno " + annostop + ", non saranno generati impegni di budget o scritture", "Errore"); erroriep = true; } else { d = new Meta_EasyDispatcher(newConn); metaParasub = d.Get("parasubcontract"); metaParasub.DS = Meta.DS; metaParasub.LinkedForm = this; epManagerCedolino = new EP_Manager(metaParasub, null, null, null, null, null, null, null, null, "payroll"); } } if ((erroriep == false) && epManagerCedolino.abilitaScritture(CurrCedolino)) { epManagerCedolino.setForcedCurrentRow(CurrCedolino); epManagerCedolino.afterPost(); } if (newConn != null) { newConn.Destroy(); metaParasub.Destroy(); epManagerCedolino.Dispose(); } } }