Exemple #1
0
        public FrmViewResult(MetaData Meta,
                             string cmd, string table, string listtype, string edittype)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();

            this.table    = table;
            this.listtype = listtype.Trim();
            this.edittype = edittype;
            this.Meta     = Meta;

            T = Meta.Conn.SQLRunner(cmd, false);
            if (T == null)
            {
                return;
            }

            DataSet DD = new DataSet("temp");

            ClearDataSet.RemoveConstraints(DD);
            DD.Tables.Add(T);
            //HelpForm.SetDataGrid(dgrid, T);
            dgrid.SetDataBinding(DD, T.TableName);

            formatgrids fg = new formatgrids(dgrid);

            fg.AutosizeColumnWidth();
        }
Exemple #2
0
        void ShowPage(int NPasso)
        {
            btnBack.Enabled    = false;
            btnNext.Enabled    = false;
            btnRefresh.Enabled = false;
            labNrighe.Visible  = false;

            string   filter = query[NPasso];
            DataGrid dgr    = dgrid[NPasso];

            //Anagrafica= Conn.RUN_SELECT("registrymainview","*","title",filter,null,false);
            Cursor = Cursors.WaitCursor;
            Application.DoEvents();
            Anagrafica = Conn.SQLRunner("SELECT * FROM registrymainview WHERE " + filter + " ORDER BY TITLE", false, 0);
            Cursor     = Cursors.Default;
            DataSet DD = new DataSet("temp");

            DD.Tables.Add(Anagrafica);
            foreach (DataColumn CC in Anagrafica.Columns)
            {
                MetaData.DescribeAColumn(Anagrafica, CC.ColumnName, "", -1);
            }
            int pos = 1;

            MetaData.DescribeAColumn(Anagrafica, "idreg", "#", pos++);
            MetaData.DescribeAColumn(Anagrafica, "title", "Denominazione", pos++);
            MetaData.DescribeAColumn(Anagrafica, "cf", "C.F.", pos++);
            MetaData.DescribeAColumn(Anagrafica, "p_iva", "P.Iva", pos++);
            MetaData.DescribeAColumn(Anagrafica, "registryclass", "Tipologia", pos++);
            MetaData.DescribeAColumn(Anagrafica, "forename", "Nome", pos++);
            MetaData.DescribeAColumn(Anagrafica, "surname", "Cognome", pos++);
            dgr.DataBindings.Clear();
            dgr.DataSource = null;
            dgr.TableStyles.Clear();
            HelpForm.SetDataGrid(dgr, Anagrafica);

            formatgrids fg = new formatgrids(dgr);

            fg.AutosizeColumnWidth();
            ComboBox C = combo[NPasso];

            if (C != null)
            {
                C.SelectedIndex = 0;
            }

            btnRefresh.Visible = (NPasso > 0);
            btnBack.Enabled    = true;
            btnNext.Enabled    = true;
            btnRefresh.Enabled = true;
            if (Anagrafica.Rows.Count > 0)
            {
                labNrighe.Text = "Righe trovate: " + Anagrafica.Rows.Count;
            }
            else
            {
                labNrighe.Text = "Nessuna  riga trovata.";
            }
            labNrighe.Visible = true;
        }
Exemple #3
0
        void RiempiGrid()
        {
            string filterstock = QHS.IsNull("idinvkind");

            string sqlCmd = " SELECT * " +
                            " FROM ddt_inview " +
                            " WHERE " + filter +
                            " AND EXISTS (SELECT * FROM stock WHERE " +
                            " ddt_inview.idddt_in = stock.idddt_in AND " + filterstock + " ) " +
                            " ORDER BY ddt_inview.idddt_in asc ";

            DataTable ddt_in = Meta.Conn.SQLRunner(sqlCmd);

            if (ddt_in.Rows.Count != 0)
            {
                ddt_in.PrimaryKey = new DataColumn[] { ddt_in.Columns["idddt_in"] };
                //Ora ha messo in ddt_in tutto ciò che da DB risulta 'da fatturare'.
                if (ddt_in.Select().Length > 0)
                {
                    MetaData MAP;
                    MAP = Meta.Dispatcher.Get("ddt_inview");
                    MAP.DescribeColumns(ddt_in, "default");
                    DataSet D = new DataSet();
                    D.Tables.Add(ddt_in);
                    HelpForm.SetDataGrid(gridDettagli, ddt_in);
                    gridDettagli.TableStyles.Clear();
                    HelpForm.SetGridStyle(gridDettagli, ddt_in);
                    formatgrids format = new formatgrids(gridDettagli);
                    format.AutosizeColumnWidth();
                    HelpForm.SetAllowMultiSelection(ddt_in, true);
                    SelezionaTutto();
                }
            }
        }
Exemple #4
0
        public frmSpesaAutomatismi(
            MetaData Parent,
            string filterspesa, string filterentrata, string filtervarspesa)
        {
            InitializeComponent();
            this.Meta = Parent;
            string filteresercizio = "(esercizio='" + Meta.GetSys("esercizio") + "')";

            ClearDataSet.RemoveConstraints(DS);
            if (filterspesa != null)
            {
                filterspesa = GetData.MergeFilters("(" + filterspesa + ")", filteresercizio);
                DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expenseview, null, filterspesa, null, true);
            }
            if (filterentrata != null)
            {
                filterentrata = GetData.MergeFilters("(" + filterentrata + ")", filteresercizio);
                DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.incomeview, null, filterentrata, null, true);
            }
            if (filtervarspesa != null)
            {
                DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expensevarview, null, filtervarspesa, null, true);
            }

            MetaData MSpesaView = Meta.Dispatcher.Get("spesaview");

            MSpesaView.DescribeColumns(DS.expenseview, "autospesa");
            HelpForm.SetDataGrid(gridSpesa, DS.expenseview);
            formatgrids FGSpesa = new formatgrids(gridSpesa);

            FGSpesa.AutosizeColumnWidth();

            MetaData MEntrataView = Meta.Dispatcher.Get("entrataview");

            MEntrataView.DescribeColumns(DS.incomeview, "autospesa");
            HelpForm.SetDataGrid(gridEntrata, DS.incomeview);
            formatgrids FGEntrata = new formatgrids(gridEntrata);

            FGEntrata.AutosizeColumnWidth();

            MetaData MVarSpesaView = Meta.Dispatcher.Get("variazionespesaview");

            MVarSpesaView.DescribeColumns(DS.expensevarview, "autospesa");
            HelpForm.SetDataGrid(gridVarSpesa, DS.expensevarview);
            formatgrids FGVarSpesa = new formatgrids(gridVarSpesa);

            FGVarSpesa.AutosizeColumnWidth();

            HideEmpties();
        }
Exemple #5
0
        void FillTableAssegnazioni(DataRow ParentEntrataRow, DataTable Automatismi)
        {
            foreach (DataRow R in Automatismi.Rows)
            {
                AddVociCollegate(R);
                AddRowToTableAssegnazioni(ParentEntrataRow, R, DS.proceedspart);
            }
            Meta.DescribeColumns(DS.proceedspart, "assegnautomatica");

            HelpForm.SetDataGrid(dgrAssegnazione, DS.proceedspart);

            formatgrids FGAssegnazione = new formatgrids(dgrAssegnazione);

            FGAssegnazione.AutosizeColumnWidth();
        }
Exemple #6
0
        /// <summary>
        /// redraws grid
        /// </summary>
        /// <param name="importoperclassificazione"></param>
        public void RefillDettagliClassificazioni(decimal importoperclassificazione)
        {
            if (Meta.IsEmpty)
            {
                return;
            }
            DS.admpay_incomesorted.ExtendedProperties["TotaleImporto"] = importoperclassificazione;
            GetData.CalculateTable(DS.admpay_incomesorted);
            DGridDettagliClassificazioni.TableStyles.Clear();
            HelpForm.SetGridStyle(DGridDettagliClassificazioni, DS.admpay_incomesorted);
            if (DGridDettagliClassificazioni.DataSource == null)
            {
                return;
            }
            formatgrids format = new formatgrids(DGridDettagliClassificazioni);

            format.AutosizeColumnWidth();
            HelpForm.SetDataGrid(DGridDettagliClassificazioni, DS.admpay_incomesorted);
        }
Exemple #7
0
//		public void MetaData_AfterClear() {
//			this.Text="Assegnazione automatica incassi";
//		}

        void FillEntrataView()
        {
            string MyQuery = "SELECT * FROM incomeview WHERE " +
                             QHS.AppAnd(QHS.CmpEq("ayear", esercizio), QHS.CmpEq("nphase", codicefase),
                                        QHS.CmpGt("unpartitioned", 0), "(idfin IN (SELECT idfinincome FROM partincomesetup))");

            DataTable          MovEntrata = Meta.Conn.SQLRunner(MyQuery);
            MetaDataDispatcher Disp;

            Disp = Meta.Dispatcher;
            DS.incomeview.Clear();
            foreach (DataRow R in MovEntrata.Rows)
            {
                AddRowToTable(R, DS.incomeview);
            }
            MetaData MEntrataView = Disp.Get("incomeview");

            MEntrataView.DescribeColumns(DS.incomeview, "assegnautocreditiincassi");

            HelpForm.SetDataGrid(dgrMovEntrata, DS.incomeview);

            formatgrids FGEntrata = new formatgrids(dgrMovEntrata);

            FGEntrata.AutosizeColumnWidth();

            DS.incomeview.AcceptChanges();
            if (DS.incomeview.Rows.Count == 0)
            {
                btnEsegui.Enabled      = false;
                btnEseguiTutte.Enabled = false;
                return;
            }
            btnEsegui.Enabled      = true;
            btnEseguiTutte.Enabled = true;
            try {
                dgrMovEntrata.Select(0);
            }
            catch {
            }
            dgrMovEntrata_CurrentCellChanged(null, null);
        }
Exemple #8
0
        public frm_income_AutomatismiAzzeramento(DataTable AutoVar)
        {
            //
            // Required for Windows Form Designer support
            //
            InitializeComponent();


            MetaData.DescribeAColumn(AutoVar, "nphase", "");
            MetaData.DescribeAColumn(AutoVar, "phase", "Fase");
            MetaData.DescribeAColumn(AutoVar, "idinc", "");
            MetaData.DescribeAColumn(AutoVar, "ymov", "Eserc.Movimento");
            MetaData.DescribeAColumn(AutoVar, "nmov", "Num.Movimento");
            MetaData.DescribeAColumn(AutoVar, "description", "Descrizione");
            MetaData.DescribeAColumn(AutoVar, "amount", "Importo");
            HelpForm.SetDataGrid(gridvariazioni, AutoVar);

            formatgrids FG = new formatgrids(gridvariazioni);

            FG.AutosizeColumnWidth();
        }
Exemple #9
0
        void riempiGrid()
        {
            if (!HasDDT)
            {
                labDDT.Visible = false;
            }

            string filtercurrency = QHS.CmpEq("idcurrency", idcurrency);

            filtercurrency = QHS.DoPar(QHS.AppOr(filtercurrency, QHS.IsNull("idcurrency")));
            string filter = QHS.AppAnd(filterregistry, filterflagmixed);

            filter = QHS.AppAnd(filter, filtercurrency);
            filter = QHS.AppAnd(filter, QHS.CmpNe("toinvoice", 'N'), QHS.CmpEq("linktoinvoice", 'S'));
            filter = QHS.AppAnd(filter, QHS.CmpEq("idmandatestatus", 5)); // stato approvato

            object currency = Conn.DO_READ_VALUE("currency", filtercurrency, "description");

            if (currency != null)
            {
                lblValuta.Text = currency.ToString().ToUpper();
            }
            DataTable mandateDetail;

            if (HasDDT)
            {
                mandateDetail = Conn.RUN_SELECT("mandatedetailstockedtoinvoice", "*",
                                                "idmankind ASC,yman DESC,nman DESC,rownum ASC, idgroup ASC",
                                                filter, null, false);
            }
            else
            {
                mandateDetail = Conn.RUN_SELECT("mandatedetailnoddttoinvoice", "*",
                                                "idmankind ASC,yman DESC,nman DESC,rownum ASC, idgroup ASC",
                                                filter, null, false);
            }

            Conn.DeleteAllUnselectable(mandateDetail);

            if (mandateDetail.Rows.Count != 0)
            {
                mandateDetail.PrimaryKey = new[] { mandateDetail.Columns["idmankind"],
                                                   mandateDetail.Columns["yman"],
                                                   mandateDetail.Columns["nman"],
                                                   mandateDetail.Columns["rownum"] };
                //Ora ha messo in MandateDetail tutto ciò che da DB risulta 'da fatturare'.

                //Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello
                // che c'è nel DataSet del form padre.

                //Per ogni riga del DataSet in stato di INSERT/UPDATE effettua una sottrazione ed eventualmente
                // un delete su MandateDetail se la riga corrispondente risulta essere esaurita.
                foreach (DataRow R in InvoiceDetail.Select())
                {
                    if (R.RowState != DataRowState.Added)
                    {
                        continue;
                    }
                    if (R["idmankind"] == DBNull.Value)
                    {
                        continue;                                                  //Non è una riga collegata a dettagli ordine
                    }
                    string filtermand = QHC.CmpMulti(R, "idmankind", "yman", "nman");
                    filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("rownum", R["manrownum"]));

                    DataRow [] RM = mandateDetail.Select(filtermand);
                    if ((RM.Length == 0))
                    {
                        continue;
                    }
                    var     detail      = RM[0];
                    decimal oldnumber   = 0;
                    decimal newnumber   = CfgFn.GetNoNullDecimal(R["number", DataRowVersion.Current]);
                    decimal oldresidual = CfgFn.GetNoNullDecimal(detail["residual"]);
                    decimal newresidual = oldresidual - newnumber + oldnumber;
                    detail["residual"] = newresidual;
                }

                foreach (DataRow R in InvoiceDetail.Select())
                {
                    if (R.RowState != DataRowState.Modified)
                    {
                        continue;
                    }
                    string filtermand = QHC.CmpMulti(R, "idmankind", "yman", "nman");
                    filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("rownum", R["manrownum"]));
                    DataRow[] RM = mandateDetail.Select(filtermand);
                    if ((RM.Length == 0))
                    {
                        continue;
                    }
                    DataRow detail = RM[0];
                    decimal oldnumber;
                    if (R["idmankind", DataRowVersion.Original] == DBNull.Value)
                    {
                        oldnumber = 0;
                    }
                    else
                    {
                        oldnumber = CfgFn.GetNoNullDecimal(R["number", DataRowVersion.Original]);
                    }

                    decimal newnumber;
                    if (R["idmankind", DataRowVersion.Current] == DBNull.Value)
                    {
                        newnumber = 0;
                    }
                    else
                    {
                        newnumber = CfgFn.GetNoNullDecimal(R["number", DataRowVersion.Current]);
                    }


                    decimal oldresidual = CfgFn.GetNoNullDecimal(detail["residual"]);
                    decimal newresidual = oldresidual - newnumber + oldnumber;
                    detail["residual"] = newresidual;
                }

                foreach (DataRow r in InvoiceDetail.Rows)
                {
                    if (r.RowState != DataRowState.Deleted)
                    {
                        continue;
                    }
                    if (r["idmankind", DataRowVersion.Original] == DBNull.Value)
                    {
                        continue;
                    }

                    string filtermand = QHC.CmpMulti(r, "idmankind", "yman", "nman");
                    filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("rownum", r["manrownum", DataRowVersion.Original]));

                    DataRow [] RM = mandateDetail.Select(filtermand);
                    if ((RM.Length == 0))
                    {
                        continue;
                    }
                    DataRow Detail      = RM[0];
                    decimal oldnumber   = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Original]);
                    decimal newnumber   = 0;
                    decimal oldresidual = CfgFn.GetNoNullDecimal(Detail["residual"]);
                    decimal newresidual = oldresidual - newnumber + oldnumber;
                    Detail["residual"] = newresidual;
                }

                foreach (DataRow R in mandateDetail.Select())
                {
                    decimal residual = CfgFn.GetNoNullDecimal(R["residual"]);
                    if (residual == 0)
                    {
                        R.Delete();
                    }
                }

                mandateDetail.AcceptChanges();
                if (mandateDetail.Select().Length > 0)
                {
                    MetaData MAP;
                    if (HasDDT)
                    {
                        MAP = Meta.Dispatcher.Get("mandatedetailstockedtoinvoice");
                    }
                    else
                    {
                        MAP = Meta.Dispatcher.Get("mandatedetailnoddttoinvoice");
                    }
                    MAP.DescribeColumns(mandateDetail, "default");
                    DataSet D = new DataSet();
                    D.Tables.Add(mandateDetail);
                    HelpForm.SetDataGrid(gridDettagli, mandateDetail);
                    gridDettagli.TableStyles.Clear();
                    HelpForm.SetGridStyle(gridDettagli, mandateDetail);
                    formatgrids format = new formatgrids(gridDettagli);
                    format.AutosizeColumnWidth();
                    HelpForm.SetAllowMultiSelection(mandateDetail, true);
                    SelezionaTutto();
                }
            }
        }
Exemple #10
0
        void RiempiGrid()
        {
            DataTable MandateDetail =
                Conn.RUN_SELECT("mandatedetail_tostock", "*", "idmankind ASC,yman DESC,nman DESC, idgroup ASC",
                                filtersql, null, false);

            Conn.DeleteAllUnselectable(MandateDetail);

            if (MandateDetail.Rows.Count != 0)
            {
                MandateDetail.PrimaryKey = new DataColumn[] { MandateDetail.Columns["idmankind"],
                                                              MandateDetail.Columns["yman"],
                                                              MandateDetail.Columns["nman"],
                                                              MandateDetail.Columns["idgroup"] };
                //Ora ha messo in MandateDetail tutto ciò che da DB risulta 'da inserire nella bolla'.

                //Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello
                // che c'è nel DataSet del form padre.

                //Per ogni riga del DataSet in stato di INSERT/UPDATE effettua una sottrazione ed eventualmente
                // un delete su MandateDetail se la riga corrispondente risulta essere esaurita.
                foreach (DataRow rStock in DS.Tables["stock"].Select())
                {
                    if (rStock.RowState != DataRowState.Added)
                    {
                        continue;
                    }
                    if (rStock["idmankind"] == DBNull.Value)
                    {
                        continue;                                      //Non è una riga collegata a dettagli ordine
                    }
                    string filtermand = QHC.CmpMulti(rStock, "idmankind", "yman", "nman");
                    filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("idgroup", rStock["man_idgroup"]));

                    DataRow[] RM = MandateDetail.Select(filtermand);
                    if ((RM == null) || (RM.Length == 0))
                    {
                        continue;
                    }
                    DataRow Detail     = RM[0];
                    decimal oldnumber  = 0;
                    decimal newnumber  = CfgFn.GetNoNullDecimal(rStock["number", DataRowVersion.Current]);
                    decimal oldstocked = CfgFn.GetNoNullDecimal(Detail["stocked"]);
                    decimal newstocked = oldstocked + newnumber - oldnumber;
                    Detail["stocked"] = newstocked;
                }

                foreach (DataRow rStock in DS.Tables["stock"].Select())
                {
                    if (rStock.RowState != DataRowState.Modified)
                    {
                        continue;
                    }
                    string filtermand = QHC.CmpMulti(rStock, "idmankind", "yman", "nman");
                    filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("idgroup", rStock["man_idgroup"]));
                    DataRow[] RM = MandateDetail.Select(filtermand);
                    if ((RM == null) || (RM.Length == 0))
                    {
                        continue;
                    }
                    DataRow Detail = RM[0];
                    decimal oldnumber;
                    if (rStock["idmankind", DataRowVersion.Original] == DBNull.Value)
                    {
                        oldnumber = 0;
                    }
                    else
                    {
                        oldnumber = CfgFn.GetNoNullDecimal(rStock["number", DataRowVersion.Original]);
                    }

                    decimal newnumber;
                    if (rStock["idmankind", DataRowVersion.Current] == DBNull.Value)
                    {
                        newnumber = 0;
                    }
                    else
                    {
                        newnumber = CfgFn.GetNoNullDecimal(rStock["number", DataRowVersion.Current]);
                    }


                    decimal oldstocked = CfgFn.GetNoNullDecimal(Detail["stocked"]);
                    decimal newstocked = oldstocked + newnumber - oldnumber;
                    Detail["stocked"] = newstocked;
                }

                //foreach (DataRow rStock in DS.Tables["stock"].Rows){
                //    if (rStock.RowState != DataRowState.Deleted) continue;
                //    if (rStock["idmankind", DataRowVersion.Original] == DBNull.Value) continue;

                //    string filtermand = QHC.CmpMulti(rStock, "idmankind", "yman", "nman");
                //    filtermand = QHC.AppAnd(filtermand, QHC.CmpEq("idgroup", rStock["man_idgroup", DataRowVersion.Original]));

                //    DataRow[] RM = MandateDetail.Select(filtermand);
                //    if ((RM == null) || (RM.Length == 0)) continue;
                //    DataRow Detail = RM[0];
                //    decimal oldnumber = CfgFn.GetNoNullDecimal(rStock["number", DataRowVersion.Original]);
                //    decimal newnumber = 0;
                //    decimal oldstocked = CfgFn.GetNoNullDecimal(Detail["stocked"]);
                //    decimal newstocked = oldstocked + newnumber - oldnumber;
                //    Detail["stocked"] = newstocked;
                //}

                foreach (DataRow rMandatedetail in MandateDetail.Select())
                {
                    decimal stocked  = CfgFn.GetNoNullDecimal(rMandatedetail["stocked"]);
                    decimal ordered  = CfgFn.GetNoNullDecimal(rMandatedetail["ordered"]);
                    decimal ntostock = ordered - stocked;
                    rMandatedetail["ntostock"] = ntostock;
                    if (ntostock == 0)
                    {
                        rMandatedetail.Delete();
                    }
                }

                MandateDetail.AcceptChanges();
                if (MandateDetail.Select().Length > 0)
                {
                    MetaData MAP = Meta.Dispatcher.Get("mandatedetail_tostock");
                    MAP.DescribeColumns(MandateDetail, "default");
                    DataSet D = new DataSet();
                    D.Tables.Add(MandateDetail);
                    HelpForm.SetDataGrid(gridDettagli, MandateDetail);
                    gridDettagli.TableStyles.Clear();
                    HelpForm.SetGridStyle(gridDettagli, MandateDetail);
                    formatgrids format = new formatgrids(gridDettagli);
                    format.AutosizeColumnWidth();
                    HelpForm.SetAllowMultiSelection(MandateDetail, true);
                    SelezionaTutto();
                }
            }
        }
Exemple #11
0
        void riempiGrid()
        {
            var filtercurrency = QHS.CmpEq("idcurrency", _idcurrency);

            filtercurrency = QHS.DoPar(QHS.AppOr(filtercurrency, QHS.IsNull("idcurrency")));
            var filter = QHS.AppAnd(filtercurrency, filterregistry);

            filter = QHS.AppAnd(filter, QHS.CmpNe("toinvoice", "N"), QHS.CmpEq("linktoinvoice", "S"));
            var currency = Conn.DO_READ_VALUE("currency", filtercurrency, "description");

            if (currency != null)
            {
                lblValuta.Text = currency.ToString().ToUpper();
            }
            var estimateDetail =
                Conn.RUN_SELECT("estimatedetailtoinvoice", "*", "idestimkind ASC,yestim DESC,nestim DESC,rownum ASC, idgroup ASC",
                                filter, null, false);

            Conn.DeleteAllUnselectable(estimateDetail);
            if (estimateDetail.Rows.Count != 0)
            {
                estimateDetail.PrimaryKey = new[] { estimateDetail.Columns["idestimkind"],
                                                    estimateDetail.Columns["yestim"],
                                                    estimateDetail.Columns["nestim"],
                                                    estimateDetail.Columns["rownum"] };
                //Ora ha messo in EstimateDetail tutto ciò che da DB risulta 'da fatturare'.

                //Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello
                //che c'è nel DataSet del form padre.

                //Per ogni riga del DataSet in stato di INSERT/UPDATE effettua una sottrazione ed eventualmente
                //un delete su MandateDetail se la riga corrispondente risulta essere esaurita.
                foreach (var r in InvoiceDetail.Select())
                {
                    if (r.RowState != DataRowState.Added)
                    {
                        continue;
                    }
                    if (r["idmankind"] == DBNull.Value)
                    {
                        continue;                                                  //Non è una riga collegata a dettagli ordine
                    }
                    var filterestim = QHC.CmpMulti(r, "idestimkind", "yestim", "nestim");
                    filterestim = QHC.AppAnd(filterestim, QHC.CmpEq("rownum", r["estimrownum"]));
                    var rm = estimateDetail.Select(filterestim);
                    if (rm.Length == 0)
                    {
                        continue;
                    }
                    var     detail      = rm[0];
                    decimal oldnumber   = 0;
                    decimal newnumber   = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Current]);
                    decimal oldinvoiced = CfgFn.GetNoNullDecimal(detail["invoiced"]);
                    decimal newinvoiced = oldinvoiced + newnumber - oldnumber;
                    detail["invoiced"] = newinvoiced;
                }

                foreach (var r in InvoiceDetail.Select())
                {
                    if (r.RowState != DataRowState.Modified)
                    {
                        continue;
                    }
                    string filterestim = QHC.CmpMulti(r, "idestimkind", "yestim", "nestim");
                    filterestim = QHC.AppAnd(filterestim, QHC.CmpEq("rownum", r["estimrownum"]));
                    var rm = estimateDetail.Select(filterestim);
                    if ((rm.Length == 0))
                    {
                        continue;
                    }
                    DataRow detail = rm[0];
                    decimal oldnumber;
                    if (r["idestimkind", DataRowVersion.Original] == DBNull.Value)
                    {
                        oldnumber = 0;
                    }
                    else
                    {
                        oldnumber = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Original]);
                    }

                    decimal newnumber;
                    if (r["idestimkind", DataRowVersion.Current] == DBNull.Value)
                    {
                        newnumber = 0;
                    }
                    else
                    {
                        newnumber = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Current]);
                    }

                    var oldinvoiced = CfgFn.GetNoNullDecimal(detail["invoiced"]);
                    var newinvoiced = oldinvoiced + newnumber - oldnumber;
                    detail["invoiced"] = newinvoiced;
                }

                foreach (DataRow r in InvoiceDetail.Rows)
                {
                    if (r.RowState != DataRowState.Deleted)
                    {
                        continue;
                    }
                    if (r["idestimkind", DataRowVersion.Original] == DBNull.Value)
                    {
                        continue;
                    }

                    string filterestim = QHC.CmpMulti(r, "idestimkind", "yestim", "nestim");
                    filterestim = QHC.AppAnd(filterestim, QHC.CmpEq("rownum", r["estimrownum", DataRowVersion.Original]));

                    var rm = estimateDetail.Select(filterestim);
                    if ((rm.Length == 0))
                    {
                        continue;
                    }
                    var     detail      = rm[0];
                    var     oldnumber   = CfgFn.GetNoNullDecimal(r["number", DataRowVersion.Original]);
                    decimal newnumber   = 0;
                    var     oldinvoiced = CfgFn.GetNoNullDecimal(detail["invoiced"]);
                    var     newinvoiced = oldinvoiced + newnumber - oldnumber;
                    detail["invoiced"] = newinvoiced;
                }

                foreach (var r in estimateDetail.Select())
                {
                    var invoiced = CfgFn.GetNoNullDecimal(r["invoiced"]);
                    var ordered  = CfgFn.GetNoNullDecimal(r["ordered"]);
                    var residual = ordered - invoiced;
                    r["residual"] = residual;
                    if (residual == 0)
                    {
                        r.Delete();
                    }
                }

                estimateDetail.AcceptChanges();
                if (estimateDetail.Select().Length <= 0)
                {
                    return;
                }
                var map = Meta.Dispatcher.Get("estimatedetailtoinvoice");
                map.DescribeColumns(estimateDetail, "default");
                var d = new DataSet();
                d.Tables.Add(estimateDetail);
                HelpForm.SetDataGrid(gridDettagli, estimateDetail);
                gridDettagli.TableStyles.Clear();
                HelpForm.SetGridStyle(gridDettagli, estimateDetail);
                var format = new formatgrids(gridDettagli);
                format.AutosizeColumnWidth();
                HelpForm.SetAllowMultiSelection(estimateDetail, true);
                selezionaTutto();
            }
        }
Exemple #12
0
        void RiempiGrid()
        {
            string filter = "";

            filter = QHS.AppAnd(QHS.IsNull("iduniqueformcode"), QHS.IsNull("idflussocrediti"));
            if (cmbTipocontrattoattivo.SelectedValue != null)
            {
                filter = QHS.AppAnd(filter, QHS.CmpEq("idestimkind", cmbTipocontrattoattivo.SelectedValue));
            }
            if (txtAnagrafica.Text != "")
            {
                filter = QHS.AppAnd(filter, QHS.CmpEq("registry", txtAnagrafica.Text.ToString()));
            }
            if (txtDataStart.Text != "")
            {
                object datainizio = HelpForm.GetObjectFromString(typeof(DateTime), txtDataStart.Text,
                                                                 txtDataStart.Tag.ToString());
                filter = QHS.AppAnd(filter, QHS.CmpGe("adate", datainizio));
            }
            if (txtDataStop.Text != "")
            {
                object datafine = HelpForm.GetObjectFromString(typeof(DateTime), txtDataStop.Text,
                                                               txtDataStop.Tag.ToString());
                filter = QHS.AppAnd(filter, QHS.CmpLe("adate", datafine));
            }
            DataTable EstimateDetail =
                Conn.RUN_SELECT("estimatedetailview", "*",
                                "idestimkind ASC,yestim DESC,nestim DESC,rownum ASC, idgroup ASC",
                                filter, null, false);

            Conn.DeleteAllUnselectable(EstimateDetail);
            if (EstimateDetail.Rows.Count != 0)
            {
                EstimateDetail.PrimaryKey = new DataColumn[] {
                    EstimateDetail.Columns["idestimkind"],
                    EstimateDetail.Columns["yestim"],
                    EstimateDetail.Columns["nestim"],
                    EstimateDetail.Columns["rownum"]
                };
                //Ora ha messo in EstimateDetail tutto ciò che da DB risulta 'da fatturare'.

                //Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello
                //che c'è nel DataSet del form padre.

                foreach (DataRow R in Flussocreditidetail.Select())
                {
                    if (R.RowState != DataRowState.Added)
                    {
                        continue;
                    }
                    if (R["idestimkind"] == DBNull.Value)
                    {
                        continue; //Non è una riga collegata a dettagli contratto attivo
                    }
                    string filterestim = QHC.CmpMulti(R, "idestimkind", "yestim", "nestim", "rownum");
                    foreach (DataRow Re in EstimateDetail.Select(filterestim))
                    {
                        Re.Delete();
                    }
                }

                EstimateDetail.AcceptChanges();
                if (EstimateDetail.Select().Length > 0)
                {
                    MetaData MAP = Meta.Dispatcher.Get("estimatedetailview");
                    MAP.DescribeColumns(EstimateDetail, "flussocrediti");
                    DataSet D = new DataSet();
                    D.Tables.Add(EstimateDetail);
                    HelpForm.SetDataGrid(gridDettagli, EstimateDetail);
                    gridDettagli.TableStyles.Clear();
                    HelpForm.SetGridStyle(gridDettagli, EstimateDetail);
                    formatgrids format = new formatgrids(gridDettagli);
                    format.AutosizeColumnWidth();
                    HelpForm.SetAllowMultiSelection(EstimateDetail, true);
                    SelezionaTutto();
                }
            }
        }
Exemple #13
0
        void RiempiGrid(string Filtro)
        {
            //if (RBooking == null) return;
            //string keyfilter = QHS.CmpEq("idbooking", RBooking["idbooking"]);
            //string lista = "";
            foreach (DataRow rDetail in DS.storeunloaddetail.Rows)
            {
                if ((rDetail.RowState == DataRowState.Deleted) || (rDetail.RowState == DataRowState.Modified))
                {
                    if (rDetail["idbooking", DataRowVersion.Original] != DBNull.Value)
                    {
                        Filtro = QHS.AppOr(QHS.DoPar(Filtro),
                                           QHS.DoPar(QHS.CmpEq("idbooking", rDetail["idbooking", DataRowVersion.Original])));
                    }
                }
            }

            //Details contiene la vista delle righe interessate dalle prenotazioni associate allo scarico
            // ed in più quelle selezionate in base ai filtri
            DataTable Details = Conn.RUN_SELECT("booktotalview", "*", null, Filtro, null, false);

            if (Details.Rows.Count != 0)
            {
                Details.PrimaryKey = new DataColumn[] { Details.Columns["idbooking"], Details.Columns["idlist"], Details.Columns["idstore"] };
                // Ora ha messo in Detail tutto ciò che da DB risulta 'da inserire nello scarico'.

                // Effettua ora una serie di allineamenti sul DataTable per renderlo più coerente con quello
                // che c'è nel DataSet del form padre.

                // Per ogni riga del DataSet in stato di INSERT/UPDATE effettua una sottrazione ed eventualmente
                // un delete su Detail se la riga corrispondente risulta essere esaurita.

                //Esamina le righe cancellate da DS
                foreach (DataRow rDetail in DS.Tables["storeunloaddetail"].Rows)
                {
                    if (rDetail.RowState != DataRowState.Deleted)
                    {
                        continue;
                    }
                    if (rDetail["idbooking", DataRowVersion.Original] == DBNull.Value)
                    {
                        continue;
                    }
                    decimal oldnumber = CfgFn.GetNoNullDecimal(rDetail["number", DataRowVersion.Original]);
                    string  filter    =
                        QHC.AppAnd(
                            QHC.CmpEq("idstore", GetIDStore(rDetail["idstock", DataRowVersion.Original])),
                            QHC.CmpEq("idlist", GetIDList(rDetail["idstock", DataRowVersion.Original])),
                            QHC.CmpEq("idbooking", rDetail["idbooking", DataRowVersion.Original])
                            );
                    DataRow[] RM = Details.Select(filter);
                    if ((RM == null) || (RM.Length == 0))
                    {
                        continue;
                    }
                    DataRow Detail        = RM[0];
                    decimal newnumber     = 0;
                    decimal oldbooknumber = CfgFn.GetNoNullDecimal(Detail["number"]);

                    decimal oldallocated = CfgFn.GetNoNullDecimal(Detail["allocated"]);
                    decimal newallocated = oldallocated - newnumber + oldnumber;

                    decimal newbooknumber = oldbooknumber - newnumber + oldnumber;
                    Detail["number"]    = newbooknumber;
                    Detail["allocated"] = newallocated;
                }

                //Esamina le righe aggiunte al DS
                foreach (DataRow rDetail in DS.Tables["storeunloaddetail"].Select())
                {
                    if (rDetail.RowState != DataRowState.Added)
                    {
                        continue;
                    }
                    if (rDetail["idbooking"] == DBNull.Value)
                    {
                        continue;
                    }

                    //Non è una riga collegata a dettagli ordine
                    string filter =
                        QHC.AppAnd(
                            QHC.CmpEq("idstore", GetIDStore(rDetail["idstock"])),
                            QHC.CmpEq("idlist", GetIDList(rDetail["idstock"])),
                            QHC.CmpEq("idbooking", rDetail["idbooking"])
                            );

                    DataRow[] RM = Details.Select(filter);
                    if ((RM == null) || (RM.Length == 0))
                    {
                        continue;
                    }
                    DataRow Detail        = RM[0];
                    decimal oldnumber     = 0;
                    decimal newnumber     = CfgFn.GetNoNullDecimal(rDetail["number", DataRowVersion.Current]);
                    decimal oldbooknumber = CfgFn.GetNoNullDecimal(Detail["number"]);

                    decimal oldallocated = CfgFn.GetNoNullDecimal(Detail["allocated"]);
                    decimal newallocated = oldallocated - newnumber + oldnumber;

                    decimal newbooknumber = oldbooknumber + newnumber - oldnumber;
                    Detail["number"]    = newbooknumber;
                    Detail["allocated"] = newallocated;
                }

                foreach (DataRow rDetail in DS.Tables["storeunloaddetail"].Select())
                {
                    if (rDetail.RowState != DataRowState.Modified)
                    {
                        continue;
                    }
                    //Non è una riga collegata a dettagli ordine
                    string filter =
                        QHC.AppAnd(
                            QHC.CmpEq("idstore", GetIDStore(rDetail["idstock"])),
                            QHC.CmpEq("idlist", GetIDList(rDetail["idstock"])),
                            QHC.CmpEq("idbooking", rDetail["idbooking"])
                            );

                    DataRow[] RM = Details.Select(filter);
                    if ((RM == null) || (RM.Length == 0))
                    {
                        continue;
                    }
                    DataRow Detail = RM[0];
                    decimal oldnumber;
                    if (rDetail["idbooking", DataRowVersion.Original] == DBNull.Value)
                    {
                        oldnumber = 0;
                    }
                    else
                    {
                        oldnumber = CfgFn.GetNoNullDecimal(rDetail["number", DataRowVersion.Original]);
                    }

                    decimal newnumber;
                    if (rDetail["idbooking", DataRowVersion.Current] == DBNull.Value)
                    {
                        newnumber = 0;
                    }
                    else
                    {
                        newnumber = CfgFn.GetNoNullDecimal(rDetail["number", DataRowVersion.Current]);
                    }

                    decimal oldbooknumber = CfgFn.GetNoNullDecimal(Detail["number"]);
                    decimal newbooknumber = oldbooknumber - newnumber + oldnumber;

                    decimal oldallocated = CfgFn.GetNoNullDecimal(Detail["allocated"]);
                    decimal newallocated = oldallocated - newnumber + oldnumber;

                    Detail["number"]    = newbooknumber;
                    Detail["allocated"] = newallocated;
                }

                foreach (DataRow rDetail in Details.Select())
                {
                    if (CfgFn.GetNoNullDecimal(rDetail["allocated"]) == 0)
                    {
                        rDetail.Delete();
                    }
                }

                Details.AcceptChanges();
                if (Details.Select().Length > 0)
                {
                    MetaData MAP = Meta.Dispatcher.Get("booktotalview");
                    MAP.DescribeColumns(Details, "default");
                    DataSet D = new DataSet();
                    D.Tables.Add(Details);
                    HelpForm.SetDataGrid(gridDettagli, Details);
                    gridDettagli.TableStyles.Clear();
                    HelpForm.SetGridStyle(gridDettagli, Details);
                    formatgrids format = new formatgrids(gridDettagli);
                    format.AutosizeColumnWidth();
                    HelpForm.SetAllowMultiSelection(Details, true);
                    SelezionaTutto();
                }
            }
        }
Exemple #14
0
        public Frm_expense_automatismi(
            MetaData Parent,
            string filterspesa, string filterentrata, string filtervarspesa, string filtervarentrata)
        {
            InitializeComponent();
            this.Meta = Parent;
            MetaData.SetColor(this);

            ExcelMenu = new ContextMenu();
            ExcelMenu.MenuItems.Add("Excel", new EventHandler(Excel_Click));

            QHS = Meta.Conn.GetQueryHelper();
            QHC = new CQueryHelper();
            string filteresercizio = QHS.CmpEq("ayear", Meta.GetSys("esercizio"));

            ClearDataSet.RemoveConstraints(DS);
            if (filterspesa != null)
            {
                filterspesa = QHS.AppAnd("(" + filterspesa + ")", filteresercizio);
                DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expenseview, "autokind asc, autocode asc, amount asc, idfin asc, nphase asc", filterspesa, null, true);
            }
            if (filterentrata != null)
            {
                filterentrata = QHS.AppAnd("(" + filterentrata + ")", filteresercizio);
                DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.incomeview, "autokind asc, autocode asc, amount asc,idfin asc, nphase asc", filterentrata, null, true);
            }
            if (filtervarspesa != null)
            {
                DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.expensevarview, "nvar asc", filtervarspesa, null, true);
            }

            if (filtervarentrata != null)
            {
                DataAccess.RUN_SELECT_INTO_TABLE(Meta.Conn, DS.incomevarview, "nvar asc", filtervarentrata, null, true);
            }

            MetaData MSpesaView = Meta.Dispatcher.Get("expenseview");

            MSpesaView.DescribeColumns(DS.expenseview, "autospesa");
            HelpForm.SetDataGrid(gridSpesa, DS.expenseview);
            gridSpesa.ContextMenu = ExcelMenu;
            formatgrids FGSpesa = new formatgrids(gridSpesa);

            FGSpesa.AutosizeColumnWidth();

            MetaData MEntrataView = Meta.Dispatcher.Get("incomeview");

            MEntrataView.DescribeColumns(DS.incomeview, "autospesa");
            HelpForm.SetDataGrid(gridEntrata, DS.incomeview);
            gridEntrata.ContextMenu = ExcelMenu;
            formatgrids FGEntrata = new formatgrids(gridEntrata);

            FGEntrata.AutosizeColumnWidth();

            MetaData MVarSpesaView = Meta.Dispatcher.Get("expensevarview");

            MVarSpesaView.DescribeColumns(DS.expensevarview, "autospesa");
            HelpForm.SetDataGrid(gridVarSpesa, DS.expensevarview);
            gridVarSpesa.ContextMenu = ExcelMenu;
            formatgrids FGVarSpesa = new formatgrids(gridVarSpesa);

            FGVarSpesa.AutosizeColumnWidth();

            MetaData MVarEntrataView = Meta.Dispatcher.Get("incomevarview");

            MVarEntrataView.DescribeColumns(DS.incomevarview, "autoentrata");
            HelpForm.SetDataGrid(gridVarEntrata, DS.incomevarview);
            gridVarEntrata.ContextMenu = ExcelMenu;
            formatgrids FGVarEntrata = new formatgrids(gridVarEntrata);

            FGVarEntrata.AutosizeColumnWidth();

            HideEmpties();
        }
Exemple #15
0
        private void GeneraFile(bool Mandati)
        {
            DataRow rTesoriere = HelpForm.GetLastSelected(DS.treasurer);

            if (rTesoriere == null)
            {
                HelpForm.FocusControl(cmbIstitutoCassiere);
                MessageBox.Show(this, "Scegliere l'istituto cassiere");
                return;
            }
            string idbank = rTesoriere["idbank"].ToString();
            bool   res    = false;

            foreach (string s in new string[] { "03111", "03067", "01030", "02008", "01010" })
            {
                if (s == idbank)
                {
                    res = true;
                }
            }
            if (!res)
            {
                if (MessageBox.Show(
                        "Questa maschera non dovrebbe essere usata con il cassiere selezionato. Usare, invece, la maschera alla voce di menu Cassiere - Trasmissione e Importazione Distinte XML. " +
                        " Si desidera proseguire comunque l''elaborazione?", "Errore",
                        MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.No)
                {
                    return;
                }
            }

            string sp_export = Mandati ? rTesoriere["spexportexp"].ToString() : rTesoriere["spexportinc"].ToString();

            if (sp_export == "")
            {
                MessageBox.Show(this,
                                "Nella configurazione del tesoriere non è impostata la sp da chiamare per generare il file");
                return;
            }
            string flagMultiExp = rTesoriere["flagmultiexp"].ToString();
            int    da           = CfgFn.GetNoNullInt32(txtDa.Text);
            int    a            = CfgFn.GetNoNullInt32(txtA.Text);

            if (flagMultiExp == "S")
            {
                if (da == 0)
                {
                    HelpForm.FocusControl(txtDa);
                    MessageBox.Show(this, "Specificare il numero della prima distinta che si vuole trasmettere");
                    return;
                }
                if (a == 0)
                {
                    HelpForm.FocusControl(txtA);
                    MessageBox.Show(this, "Specificare il numero dell'ultima distinta che si vuole trasmettere");
                    return;
                }
            }
            else
            {
                if (da == 0)
                {
                    HelpForm.FocusControl(txtDa);
                    MessageBox.Show(this, "Specificare il numero della distinta che si vuole trasmettere");
                    return;
                }
            }
            // Controlla che il cassiere della/e distinta/e sia uguale a quello scelto nel combo.
            string Filter = "";

            if (Mandati)
            {
                if (flagMultiExp == "S")
                {
                    for (int i = da; i <= a; i++)
                    {
                        Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")),
                                            QHS.CmpEq("npaymenttransmission", i));
                        object idtreasurer = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "idtreasurer");
                        if (idtreasurer == null)
                        {
                            MessageBox.Show(this,
                                            "La distinta n." + i.ToString() + " non è presente su db", "Errore");
                            return;
                        }
                        if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString())
                        {
                            MessageBox.Show(this,
                                            "La distinta n." + i.ToString() + " ha un Cassiere diverso da quello selezionato!");
                            return;
                        }

                        object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter,
                                                                                 "flagtransmissionenabled");
                        object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config",
                                                                                   QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission");

                        if (cfgflagenabletransmission != DBNull.Value)
                        {
                            string cfg_flag = cfgflagenabletransmission.ToString().ToUpper();
                            if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S"))
                            {
                                MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata");
                                return;
                            }
                        }
                    }
                }
                else
                {
                    Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")),
                                        QHS.CmpEq("npaymenttransmission", da));
                    object idtreasurer = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter, "idtreasurer");
                    if (idtreasurer == null)
                    {
                        MessageBox.Show(this,
                                        "La distinta n." + da.ToString() + " non è presente su db", "Errore");
                        return;
                    }
                    if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString())
                    {
                        MessageBox.Show(this,
                                        "La distinta n." + da.ToString() + " ha un Cassiere diverso da quello selezionato!");
                        return;
                    }
                    object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter,
                                                                             "flagtransmissionenabled");
                    object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config",
                                                                               QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission");

                    if (cfgflagenabletransmission != DBNull.Value)
                    {
                        string cfg_flag = cfgflagenabletransmission.ToString().ToUpper();
                        if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S"))
                        {
                            MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata");
                            return;
                        }
                    }
                }
            }
            else
            {
                if (flagMultiExp == "S")
                {
                    for (int i = da; i <= a; i++)
                    {
                        Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")),
                                            QHS.CmpEq("nproceedstransmission", i));
                        object idtreasurer = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "idtreasurer");
                        if (idtreasurer == null)
                        {
                            MessageBox.Show(this,
                                            "La distinta n." + i.ToString() + " non è presente su db", "Errore");
                            return;
                        }
                        if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString())
                        {
                            MessageBox.Show(this,
                                            "La distinta n." + i.ToString() + " ha un Cassiere diverso da quello selezionato!");
                            return;
                        }

                        object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter,
                                                                                 "flagtransmissionenabled");
                        object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config",
                                                                                   QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission");

                        if (cfgflagenabletransmission != DBNull.Value)
                        {
                            string cfg_flag = cfgflagenabletransmission.ToString().ToUpper();
                            if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S"))
                            {
                                MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata");
                                return;
                            }
                        }
                    }
                }
                else
                {
                    Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")),
                                        QHS.CmpEq("nproceedstransmission", da));
                    object idtreasurer = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter, "idtreasurer");
                    if (idtreasurer == null)
                    {
                        MessageBox.Show(this,
                                        "La distinta n." + da.ToString() + " non è presente su db", "Errore");
                        return;
                    }
                    if (idtreasurer.ToString() != rTesoriere["idtreasurer"].ToString())
                    {
                        MessageBox.Show(this,
                                        "La distinta n." + da.ToString() + " ha un Cassiere diverso da quello selezionato!");
                        return;
                    }
                    object flagtransmissionenabled = Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter,
                                                                             "flagtransmissionenabled");
                    object cfgflagenabletransmission = Meta.Conn.DO_READ_VALUE("config",
                                                                               QHS.CmpEq("ayear", Meta.GetSys("esercizio")), "flagenabletransmission");

                    if (cfgflagenabletransmission != DBNull.Value)
                    {
                        string cfg_flag = cfgflagenabletransmission.ToString().ToUpper();
                        if ((cfg_flag == "S") && (flagtransmissionenabled.ToString().ToUpper() != "S"))
                        {
                            MessageBox.Show(this, "La trasmissione della distinta non è stata autorizzata");
                            return;
                        }
                    }
                }
            }

            object[] parametri = flagMultiExp == "S"
                ? new object[] { Meta.GetSys("esercizio"), da, a }
                : new object[] { Meta.GetSys("esercizio"), da };
            DataSet result = Meta.Conn.CallSP(sp_export, parametri, false, 300);

            if ((result == null) || (result.Tables.Count == 0))
            {
                MessageBox.Show(this, "La sp non ha restituito risultati");
                return;
            }
            DataTable t = result.Tables[0];

            dataGrid1.TableStyles.Clear();
            dataGrid1.DataSource = null;
            if (t.Columns.Contains("message"))
            {
                t.Columns["message"].Caption = "Spiegazione errore";
                HelpForm.SetDataGrid(dataGrid1, t);
                formatgrids FF = new formatgrids(dataGrid1);
                FF.AutosizeColumnWidth();
                MessageBox.Show(this, "Ci sono degli errori, pertanto non è stato generato il file!");
                return;
            }
            if (txtCartella.Text == "")
            {
                DialogResult dr = folderBrowserDialog1.ShowDialog(this);
                if (dr == DialogResult.OK)
                {
                    txtCartella.Text = folderBrowserDialog1.SelectedPath;
                }
                else
                {
                    folderBrowserDialog1.SelectedPath = txtCartella.Text;
                    HelpForm.FocusControl(txtCartella);
                    MessageBox.Show(this, "Specificare il percorso del file");
                    return;
                }
            }

            string nomeFile = Mandati
                ? Meta.GetSys("esercizio") + "_mandato" + "_" + da
                : Meta.GetSys("esercizio") + "_reversale" + "_" + da;

            if (flagMultiExp == "S")
            {
                if (da != a)
                {
                    nomeFile = Mandati
                        ? Meta.GetSys("esercizio") + "_mandati"
                        : Meta.GetSys("esercizio") + "_reversali";
                    for (int i = da; i <= a; i++)
                    {
                        nomeFile += "_" + i;
                    }
                }
            }
            txtFile.Text = Path.Combine(txtCartella.Text, nomeFile + "." + fileExtension);
            try {
                StreamWriter sw = new StreamWriter(txtFile.Text, false, Encoding.Default);
                foreach (DataRow r in t.Rows)
                {
                    sw.WriteLine(r[0]);
                }
                sw.Flush();
                sw.Close();
                sw.Dispose();
            }
            catch (Exception e1) {
                QueryCreator.ShowException("Errore nel salvataggio del file " + txtFile.Text, e1);
                return;
            }

            int year = CfgFn.GetNoNullInt32(Meta.GetSys("esercizio"));

            if (flagMultiExp == "S")
            {
                if (da != a)
                {
                    for (int i = da; i <= a; i++)
                    {
                        if (Mandati)
                        {
                            AggiornaStreamDate("PAYMENTTRANSMISSION", year, i);
                        }
                        else
                        {
                            AggiornaStreamDate("PROCEEDSTRANSMISSION", year, i);
                        }
                    }
                }
            }

            if (Mandati)
            {
                AggiornaStreamDate("PAYMENTTRANSMISSION", year, da);
            }
            else
            {
                AggiornaStreamDate("PROCEEDSTRANSMISSION", year, da);
            }

            MessageBox.Show(this, "File della trasmissione salvato in " + txtFile.Text);
        }
Exemple #16
0
        private void GeneraFileUltimaDistinta(bool Mandati)
        {
            DataRow rTesoriere = HelpForm.GetLastSelected(DS.treasurer);

            if (rTesoriere == null)
            {
                HelpForm.FocusControl(cmbIstitutoCassiere);
                MessageBox.Show(this, "Scegliere l'istituto cassiere");
                return;
            }
            string sp_export = Mandati ? rTesoriere["spexportexp"].ToString() : rTesoriere["spexportinc"].ToString();

            if (sp_export == "")
            {
                MessageBox.Show(this,
                                "Nella configurazione del tesoriere non è impostata la sp da chiamare per generare il file");
                return;
            }

            string Filter = "";
            int    nDoc   = 0;

            if (Mandati)
            {
                Filter = QHS.AppAnd(QHS.CmpEq("ypaymenttransmission", Meta.GetSys("esercizio")),
                                    QHS.CmpEq("idtreasurer", rTesoriere["idtreasurer"]));
                nDoc =
                    CfgFn.GetNoNullInt32(Meta.Conn.DO_READ_VALUE("paymenttransmission", Filter,
                                                                 "MAX(npaymenttransmission)"));
            }
            else
            {
                Filter = QHS.AppAnd(QHS.CmpEq("yproceedstransmission", Meta.GetSys("esercizio")),
                                    QHS.CmpEq("idtreasurer", rTesoriere["idtreasurer"]));
                nDoc =
                    CfgFn.GetNoNullInt32(Meta.Conn.DO_READ_VALUE("proceedstransmission", Filter,
                                                                 "MAX(nproceedstransmission)"));
            }
            if (nDoc == 0)
            {
                MessageBox.Show(this, "Non vi sono distinte.");
                return;
            }

            object[] parametri = new object[] { Meta.GetSys("esercizio"), nDoc };
            DataSet  result    = Meta.Conn.CallSP(sp_export, parametri, false, 300);

            if ((result == null) || (result.Tables.Count == 0))
            {
                MessageBox.Show(this, "La sp non ha restituito risultati");
                return;
            }
            DataTable t = result.Tables[0];

            dataGrid1.TableStyles.Clear();
            dataGrid1.DataSource = null;
            if (t.Columns.Contains("message"))
            {
                t.Columns["message"].Caption = "Spiegazione errore";
                HelpForm.SetDataGrid(dataGrid1, t);
                formatgrids FF = new formatgrids(dataGrid1);
                FF.AutosizeColumnWidth();
                MessageBox.Show(this, "Ci sono degli errori, pertanto non è stato generato il file!");
                return;
            }
            if (txtCartella.Text == "")
            {
                DialogResult dr = folderBrowserDialog1.ShowDialog(this);
                if (dr == DialogResult.OK)
                {
                    txtCartella.Text = folderBrowserDialog1.SelectedPath;
                }
                else
                {
                    folderBrowserDialog1.SelectedPath = txtCartella.Text;
                    HelpForm.FocusControl(txtCartella);
                    MessageBox.Show(this, "Specificare il percorso del file");
                    return;
                }
            }

            string nomeFile = Mandati
                ? Meta.GetSys("esercizio") + "_mandato" + "_" + nDoc
                : Meta.GetSys("esercizio") + "_reversale" + "_" + nDoc;

            txtFile.Text = Path.Combine(txtCartella.Text, nomeFile + "." + fileExtension);
            try {
                StreamWriter sw = new StreamWriter(txtFile.Text, false, Encoding.Default);
                foreach (DataRow r in t.Rows)
                {
                    sw.WriteLine(r[0]);
                }
                sw.Flush();
                sw.Close();
                sw.Dispose();
            }
            catch (Exception e1) {
                QueryCreator.ShowException("Errore nel salvataggio del file " + txtFile.Text, e1);
                return;
            }
            MessageBox.Show(this, "File della trasmissione salvato in " + txtFile.Text);
        }