Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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();
                }
            }
        }