Example #1
0
        private void deleteTestata(TestataMovimentoContabile testata, IDaoFactory daoFactory)
        {
            testata.SpesaRiferimento = null;
            testata.EsercizioRiferimento = null;

            // --------------------------------------------------------------------
            // Aggiunto codice per rimuovere tutti i riferimenti bugid#4143
            // --------------------------------------------------------------------
            var movimenti = testata.Movimenti.ToList();
            foreach (var movimentoContabile in movimenti)
            {
                movimentoContabile.Testata = null;
                testata.Movimenti.Remove(movimentoContabile);

                if (movimentoContabile.ContoRiferimento != null)
                {
                    movimentoContabile.ContoRiferimento.Movimenti.Remove(movimentoContabile);
                    movimentoContabile.ContoRiferimento = null;
                }

                if (movimentoContabile.FornitoreRiferimento != null)
                {
                    movimentoContabile.FornitoreRiferimento.MovimentiContabili.Remove(movimentoContabile);
                    movimentoContabile.FornitoreRiferimento = null;
                }
            }
            testata.Movimenti.Clear();
            daoFactory.GetTestataMovimentoContabileDao().Delete(testata);
            // --------------------------------------------------------------------

        }