private void apriSpesa(MovimentoContabileGenericoDTO movimento)
 {
     if (movimento != null && movimento.IsAllowOpenDettaglio)
     {
         if (movimento.IdSpesa > 0)
         {
             if (movimento.StatoSpesa == StatoSpesaEnum.PagataAltroAmministratore)
             {
                 var form = getDettaglioSpesaUIService().GetFormDettaglioFiscale(movimento.IdSpesa.GetValueOrDefault());
                 var parentForm = ParentForm;
                 if (parentForm != null) form.MdiParent = parentForm.MdiParent;
                 form.Show();
             }
             else if (movimento.TipoDocumentoSpesa.ToUpper() == "BOLLETTA")
             {
                 var form = getDettaglioBollettaUIService().GetFormDettaglio(movimento.IdSpesa.GetValueOrDefault(), _condominio, getEsercizio());
                 var parentForm = ParentForm;
                 if (parentForm != null) form.MdiParent = parentForm.MdiParent;
                 form.Show();
             }
             else if (movimento.TipoDocumentoSpesa.ToUpper() == "FATBILAPP")
             {
                 var form = getBilancioAperturaUIService().GetFormDettaglio(_condominio, getEsercizio());
                 var parentForm = ParentForm;
                 if (parentForm != null) form.MdiParent = parentForm.MdiParent;
                 form.Show();
             }
             else if (movimento.TipoDocumentoSpesa.ToUpper() == "NOTACC" && movimento.StatoSpesa == StatoSpesaEnum.Stornata)
             {
                 var form = getDettaglioSpesaUIService().GetFormNotaAccredito(movimento.IdSpesa.GetValueOrDefault(), _condominio, getEsercizio());
                 var parentForm = ParentForm;
                 if (parentForm != null) form.MdiParent = parentForm.MdiParent;
                 form.Show();
             }
             else
             {
                 var form = getDettaglioSpesaUIService().GetFormDettaglio(movimento.IdSpesa.GetValueOrDefault());
                 if (!form.IsDisposed)
                 {
                     var parentForm = ParentForm;
                     if (parentForm != null) form.MdiParent = parentForm.MdiParent;
                     form.Show();
                 }
             }
         }
         else
         {
             var testata = _movimentoService.GetTestataById(movimento.IdTestata);
             if (testata != null)
             {
                 var form = getMovimentiContabiliUIService().GetGestioneMovimentoContabile(testata, getEsercizio());
                 form.ShowDialog();
                 getMovimentiContabiliUIService().DisposeGestioneMovimentoContabile();
             }
             else
                 CommonMessages.DisplayWarning("Il movimento non è più presente.");
         }
     }
 }
        private MovimentoContabileGenericoDTO setGenericoDto(MovimentoContabile item)
        {
            try
            {
                var dto = new MovimentoContabileGenericoDTO
                {
                    ID = item.ID,
                    IdTestata = item.Testata.ID,
                    IdEsercizio = item.Testata.EsercizioRiferimento.ID,
                    IdCondominio = item.Testata.EsercizioRiferimento.CondominioRiferimento.ID,
                    IdConto = item.ContoRiferimento.ID,
                    Note = item.Note,
                    NumeroRiga = item.NumeroRiga,
                    NumeroRegistrazione = item.NumeroRegistrazione,
                    NumeroAssegno = item.NumeroAssegno,
                    Segno = item.Segno,
                    Descrizione = item.Descrizione
                };

                // Importo
                switch (item.Segno)
                {
                    case "D":
                        dto.ImportoDare = item.GetImportoSenzaSegno();
                        break;
                    case "A":
                        dto.ImportoAvere = item.GetImportoSenzaSegno();
                        break;
                }

                // SottoConto
                if (item.SottoContoRiferimento != null)
                    dto.IdSottoConto = item.SottoContoRiferimento.ID;
                else if (item.ContoCorrenteBancario != null)
                    dto.IdSottoConto = item.ContoCorrenteBancario.ID * -1;
                else if ((item.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoFornitori() || item.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoRitenuta()) && item.FornitoreRiferimento != null)
                    dto.IdSottoConto = item.FornitoreRiferimento.ID * -1;
                
                // Soggetti
                if (item.FornitoreRiferimento != null)
                    dto.IdFornitore = item.FornitoreRiferimento.ID;
                if (item.CondominoRiferimento != null)
                    dto.IdCondomino = item.CondominoRiferimento.ID;

                // Spesa
                if (item.Testata.SpesaRiferimento != null)
                {
                    dto.IdSpesa = item.Testata.SpesaRiferimento.ID;
                    dto.StatoSpesa = item.Testata.SpesaRiferimento.Stato;
                    dto.TipoDocumentoSpesa = item.Testata.SpesaRiferimento.TipoDocumento;
                }

                // Evasione Bancaria
                if (item.EvasioneBancaria != null)
                    dto.IdEvasioneBancaria = item.EvasioneBancaria.ID;

                dto.IsAllowOpenDettaglio = item.Testata.NumeroProtocollo > 0 || dto.IdSpesa > 0;

                return dto;
            }
            catch (Exception ex)
            {
                if (item != null)
                {
                    
                    _log.Error("Errore nel caricamento del Movimento Contabile: " + Utility.GetMethodDescription() + " - id:" + item.ID, ex);
                }
                else
                {
                    
                    _log.Error("Errore nel caricamento del Movimento Contabile: " + Utility.GetMethodDescription() + " - Movimento --> null", ex);
                }
                throw;
            }
        }
 private void listaMouseUp(object sender, MouseEventArgs e)
 {
     _movimentoClick = null;
     if (e.Button == MouseButtons.Right)
     {
         _movimentoClick = DataGridHelper.GetCellEvent<MovimentoContabileGenericoDTO>(listaMovimenti, e);
         if (_movimentoClick != null)
             contextMenuStrip1.Show(listaMovimenti, e.X, e.Y);
     }
 }