예제 #1
0
        public DocumentiUI(VersamentoSoggettoDTO versamentoSoggetto)
        {
            InitializeComponent();
            _versamentoSoggetto = versamentoSoggetto;

            Func<VersamentoSoggettoDTO, DocumentoDTO, DocumentoDTO> loadCustomDati = (versamento, documento) => getVersamentoCondominiService().SetDocumentoVersamento(versamento, documento);
            var formControl = new DocumentiUC<VersamentoSoggettoDTO>(getVersamentoCondominiService().GetDocumentiByVersamento(_versamentoSoggetto), _versamentoSoggetto, _versamentoSoggetto.IdCondominio, loadCustomDati) {Dock = DockStyle.Fill};
            Controls.Add(formControl);
        }
예제 #2
0
 private void listaVersamentiMouseUp(object sender, MouseEventArgs e)
 {
     _versamentoClick = null;
     if (e.Button == MouseButtons.Right)
     {
         _versamentoClick = DataGridHelper.GetCellEvent<VersamentoSoggettoDTO>(listaVersamenti, e);
         if (_versamentoClick != null)
             contextMenuStrip1.Show(listaVersamenti, e.X, e.Y);
     }
 }
예제 #3
0
 public List<DocumentoDTO> GetByVersamento(VersamentoSoggettoDTO versamento)
 {
     var result = GetServiceClient().GetDocumentiByVersamento(versamento.ID, GetUserInfo());
     CloseService();
     return result;
 }
        private VersamentoSoggettoDTO setDto(VersamentoSoggetto item, bool rate)
        {
            try
            {
                var dto = new VersamentoSoggettoDTO
                {
                    ID = item.ID,
                    Version = item.Version,
                    IdEsercizio = item.Esercizio.ID,
                    DescrizioneEsercizio = item.Esercizio.DisplayName,
                    IdCondominio = item.Esercizio.CondominioRiferimento.ID,
                    Condominio = item.Esercizio.CondominioRiferimento.DisplayName,
                    Importo = item.Importo,
                    DataPagamento = item.Data,
                    NumeroAssegno = item.NumeroAssegno,
                    NumeroProtocollo = item.NumeroProtocollo,
                    Causale = item.Causale,
                    Nota = item.Nota,
                    IsDeleteAllow = item.Esercizio.Stato != StatoEsercizioEnum.Chiuso,
                    IdSoggetto = item.Soggetto.ID,
                    IdPersona = item.Soggetto.Persona.ID,
                    DescrizioneSoggetto = item.Soggetto.DisplayName,
                    IdUnitaImmobiliare = item.Soggetto.UnitaImmobiliare.ID,
                    DescrizioneUnitaImmobiliare = item.Soggetto.UnitaImmobiliare.Descrizione,
                    OrdineUnitaImmobiliare = item.Soggetto.UnitaImmobiliare.Ordine.GetValueOrDefault(),
                    TipoUnitaImmobiliare = item.Soggetto.UnitaImmobiliare.TipoUnitaImmobiliare.Descrizione,
                    Interno = item.Soggetto.UnitaImmobiliare.InternoCompleto,
                    Scala = item.Soggetto.UnitaImmobiliare.GruppoStabileRiferimento.Descrizione,
                    DisplayName = item.Soggetto.DisplayName,
                    Tipo = item.Tipo.ToString(),
                    NumeroDocumenti = item.Documenti.Count,
                    TipoVersamentoDopoChiusura = item.TipoVersamentoDopoChiusura,
                    TipoVersamentoPrimaApertura = item.TipoVersamentoPrimaApertura,
                    IsAllowUpdate = getVersamentiCondominiService().IsAllowUpdate(item).FatalMessage 
                };

                if (item.MovimentoContabilePatrimoniale != null)
                {
                    dto.IdMovimentoContabile = item.MovimentoContabilePatrimoniale.ID;
                    dto.IdTestataMovimentoContabile = item.MovimentoContabilePatrimoniale.Testata.ID;
                    dto.IdConto = item.MovimentoContabilePatrimoniale.ContoRiferimento.ID;
                    if (item.MovimentoContabilePatrimoniale.SottoContoRiferimento != null)
                        dto.IdSottoConto = item.MovimentoContabilePatrimoniale.SottoContoRiferimento.ID;
                    else if (item.MovimentoContabilePatrimoniale.ContoCorrenteBancario != null && item.MovimentoContabilePatrimoniale.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoBancario())
                        dto.IdSottoConto = item.MovimentoContabilePatrimoniale.ContoCorrenteBancario.ID * -1;

                    if (item.MovimentoContabilePatrimoniale.EvasioneBancaria != null)
                        dto.IdEvasioneBancaria = item.MovimentoContabilePatrimoniale.EvasioneBancaria.ID;
                }

                if (item.File != null)
                    dto.IdFileCbi = item.File.ID;

                if (item.SoggettoEffettivo != null)
                {
                    dto.IdSoggettoEffettivo = item.SoggettoEffettivo.ID;
                    dto.DescrizioneSoggettoEffettivo = item.SoggettoEffettivo.DisplayName;
                }
                
                // Richiesto dettaglio rate .....
                if (item.Rate.Count > 0 && rate)
                {
                    decimal importoVersamentoRate = 0;
                    foreach (var versamento in item.Rate)
                    {
                        var rata = new RataVersamentoDTO
                        {
                            DataScadenza = versamento.Rata.DataScadenza,
                            Descrizione = versamento.Rata.PianoRatealeDettaglio.Descrizione,
                            IdRata = versamento.Rata.ID,
                            ImportoRata = versamento.Rata.Importo,
                            ImportoVersamento = versamento.Importo,
                            StatoRata = versamento.Rata.Stato
                        };

                        dto.Rate.Add(rata);
                        importoVersamentoRate += rata.ImportoVersamento;
                    }

                    dto.IdRataPrincipale = dto.Rate[0].IdRata;
                    dto.DescrizioneRata = dto.Rate[0].Descrizione;

                    // Se il versamento supera l'importo delle rate è stato registrato il residuo fuori piano rateale
                    if (dto.Importo > importoVersamentoRate)
                    {
                        dto.Rate.Add(new RataVersamentoDTO
                        {
                            IdRata = 0,
                            DataScadenza = null,
                            Descrizione = "Versamento fuori piano rateale",
                            ImportoRata = 0,
                            ImportoVersamento = dto.Importo - importoVersamentoRate,
                            StatoRata = StatoRataEnum.Inserita,
                        });
                    }
                }
                // .... il dettaglio rate non è richiesto, compongo solo la descrizione
                else
                {
                    if (item.Rate.Count > 0)
                    {
                        foreach (var versamentoRate in item.Rate)
                        {
                            if (!string.IsNullOrEmpty(dto.DescrizioneRata))
                                dto.DescrizioneRata += " - ";
                            dto.DescrizioneRata += versamentoRate.Rata.PianoRatealeDettaglio.Descrizione;
                        }
                    }
                    else
                        dto.DescrizioneRata = "Versamento fuori piano rateale";
                }

                return dto;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato nella conversione in DTO - {0} - id:{1}", ex, Library.Utility.GetMethodDescription(), item.ID);
                throw;
            }
        }
예제 #5
0
        public IList<VersamentoSoggettoDTO> GetByEserciziAttiviPersone(int idCondomino, IList<int> persone)
        {
            try
            {
                var versamenti = _daoFactory.GetVersamentoSoggettoDao().GetByEserciziAttiviPersone(idCondomino, persone);
                var versamentiDTO = new List<VersamentoSoggettoDTO>(versamenti.Count);
                foreach (var versamentoSoggetto in versamenti)
                {
                    var dto = new VersamentoSoggettoDTO
                    {
                        ID = versamentoSoggetto.ID,
                        IdEsercizio = versamentoSoggetto.Esercizio.ID,
                        DescrizioneEsercizio = versamentoSoggetto.Esercizio.DisplayName,
                        TipoUnitaImmobiliare = versamentoSoggetto.Soggetto.UnitaImmobiliare.TipoUnitaImmobiliare.Descrizione,
                        Importo = versamentoSoggetto.Importo,
                        DataPagamento = versamentoSoggetto.Data
                    };

                    if (versamentoSoggetto.Rate.Count > 0)
                    {
                        foreach (var versamentoRate in versamentoSoggetto.Rate)
                        {
                            if (!string.IsNullOrEmpty(dto.DescrizioneRata))
                                dto.DescrizioneRata += " - ";
                            dto.DescrizioneRata += versamentoRate.Rata.PianoRatealeDettaglio.Descrizione;
                        }
                    }
                    else
                        dto.DescrizioneRata = "Versamento fuori piano rateale";

                    versamentiDTO.Add(dto);
                }

                return versamentiDTO;
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato nella lettura dei versamenti - {0} - condominio:{1}", ex, Utility.GetMethodDescription(), idCondomino);
                throw;
            }
        }
 public DocumentoDTO SetDocumentoVersamento(VersamentoSoggettoDTO versamento, DocumentoDTO documento)
 {
     documento.IdCondominio = versamento.IdCondominio;
     documento.IdVersamento = versamento.ID;
     documento.Tipo = "Versamento Condomino";
     return documento;
 }
 public List<DocumentoDTO> GetDocumentiByVersamento(VersamentoSoggettoDTO versamento)
 {
     return _documentoService.GetByVersamento(versamento);
 }
 public AuthorizationMessages IsAllowUpdateVersamento(VersamentoSoggettoDTO versamento)
 {
     var result = GetServiceClient().IsAllowUpdateVersamento(versamento.ID, GetUserInfo());
     CloseService();
     return result;
 }
 public string DeleteVersamento(VersamentoSoggettoDTO versamento)
 {
     var result = GetServiceClient().DeleteVersamento(versamento.ID, GetUserInfo());
     CloseService();
     return result;
 }