예제 #1
0
 public void MetaData_BeforePost()
 {
     EPM.beforePost();
 }
예제 #2
0
        private void esita()
        {
            if (txtDataOperaz.Text == "")
            {
                MessageBox.Show(this, "Inserire la data di operazione");
                txtDataOperaz.Focus();
                return;
            }
            string          dataMember = gridMandati.DataMember;
            CurrencyManager cm         = (CurrencyManager)gridMandati.BindingContext[DS, dataMember];
            DataView        view       = cm.List as DataView;

            if (view == null)
            {
                return;
            }

            object bankReference   = txtRifBanca.Text;
            object transactionDate = HelpForm.GetObjectFromString(typeof(DateTime), txtDataOperaz.Text, "x.y");

            if (transactionDate != DBNull.Value)
            {
                {
                    try {
                        DateTime a = (DateTime)transactionDate;
                    }
                    catch {
                        MessageBox.Show(this, "Data operazione non valida");
                        return;
                    }
                }
            }
            object valueDate = HelpForm.GetObjectFromString(typeof(DateTime), txtDataValuta.Text, "x.y");

            if (valueDate != DBNull.Value)
            {
                try {
                    DateTime a = (DateTime)valueDate;
                }
                catch {
                    MessageBox.Show(this, "Data valuta non valida");
                    return;
                }
            }
            string   messaggio = "";
            MetaData metaBT    = MetaData.GetMetaData(this, "banktransaction");
            MetaData metaBI    = MetaData.GetMetaData(this, "bankimport");

            metaBT.SetDefaults(DS.banktransaction);
            metaBI.SetDefaults(DS.bankimport);


            DS.bankimport.Clear();
            DS.banktransaction.Clear();
            DataRow rBI = metaBI.Get_New_Row(null, DS.bankimport);

            for (int i = 0; i < view.Count; i++)
            {
                if (gridMandati.IsSelected(i))
                {
                    messaggio += "," + view[i]["nmov"];
                    meta.SetDefaults(DS.banktransaction);
                    DataRow r = metaBT.Get_New_Row(rBI, DS.banktransaction);
                    r["bankreference"]   = bankReference;
                    r["transactiondate"] = transactionDate;
                    r["valuedate"]       = valueDate;
                    r["amount"]          = view[i]["curramount"];
                    r["kpay"]            = view[i]["kpay"];
                    r["idpay"]           = view[i]["idpay"];
                    r["idexp"]           = view[i]["idexp"];
                }
            }
            if (messaggio != "")
            {
                messaggio = "Per esitare i seguenti movimenti: " + messaggio.Substring(1)
                            + "\nsono stati creati gli esiti assegnando i seguenti valori:"
                            + "\nrif. banca: '" + bankReference
                            + "'\ndata operazione: '" + HelpForm.StringValue(transactionDate, "x.y")
                            + "'\ndata valuta: '" + HelpForm.StringValue(valueDate, "x.y") + "'";
            }
            metaBI.DS = DS;
            epm       = new EP_Manager(metaBI, null, null, null, null, null, null, null, null, "bankimport");
            epm.beforePost();

            PostData pd = meta.Get_PostData();

            pd.InitClass(DS, meta.Conn);
            if (pd.DO_POST())
            {
                epm.afterPost();
                MessageBox.Show(this, messaggio, "DB AGGIORNATO CORRETTAMENTE");
            }
            else
            {
                MessageBox.Show(this, "Errore durante l'aggiornamento del D.B.!", "ERRORE");
            }
            aggiornaDataGrid("MOVIMENTI non esitati");
            decimal importoTot = ricalcolaImportoTotale();

            txtImporto.Text = importoTot.ToString("c");
        }