private void apriSpesa(MovimentoContabileListaDTO movimento) { if (movimento != null && movimento.IsAllowOpenDettaglio) { if (movimento.IdSpesa > 0) { if (movimento.StatoSpesa == StatoSpesaEnum.PagataAltroAmministratore) { var form = getDettaglioSpesaService().GetFormDettaglioFiscale(movimento.IdSpesa.GetValueOrDefault()); if (ParentForm != null) form.MdiParent = ParentForm.MdiParent; form.Show(); } else if (movimento.TipoDocumentoSpesa.ToUpper() == "BOLLETTA") { var form = getDettaglioBollettaUIService().GetFormDettaglio(movimento.IdSpesa.GetValueOrDefault(), _condominio, _esercizio); if (ParentForm != null) form.MdiParent = ParentForm.MdiParent; form.Show(); } else if (movimento.TipoDocumentoSpesa.ToUpper() == "FATBILAPP") { var form = getBilancioAperturaUIService().GetFormDettaglio(_condominio, _esercizio); if (ParentForm != null) form.MdiParent = ParentForm.MdiParent; form.Show(); } else if (movimento.TipoDocumentoSpesa.ToUpper() == "NOTACC" && movimento.StatoSpesa == StatoSpesaEnum.Stornata) { var form = getDettaglioSpesaService().GetFormNotaAccredito(movimento.IdSpesa.GetValueOrDefault(), _condominio, _esercizio); getDettaglioSpesaService().Confirm += listaMovimentiUCConfirm; if (ParentForm != null) form.MdiParent = ParentForm.MdiParent; form.Show(); } else { var form = getDettaglioSpesaService().GetFormDettaglio(movimento.IdSpesa.GetValueOrDefault()); getDettaglioSpesaService().Confirm += listaMovimentiUCConfirm; if (!form.IsDisposed) { if (ParentForm != null) form.MdiParent = ParentForm.MdiParent; form.Show(); } } } else { var testata = getMovimentoContabileService().GetTestataById(movimento.IdTestata); if (testata != null) { var esercizio = getEsercizioService().GetById(testata.IdEsercizio.GetValueOrDefault()); var form = getMovimentiContabiliUIService().GetGestioneMovimentoContabile(testata, esercizio); form.ShowDialog(); getMovimentiContabiliUIService().DisposeGestioneMovimentoContabile(); } else CommonMessages.DisplayWarning("Il movimento non è più presente."); } } }
private MovimentoContabileListaDTO setListaDto(MovimentoContabile item, bool importiNegativi, IArchiviazioneOtticaService archiviazioneService) { try { var dto = new MovimentoContabileListaDTO { ID = item.ID, IdTestata = item.Testata.ID, Data = item.Testata.DataRegistrazione.GetValueOrDefault(), Causale = item.Causale.DescrizioneCompleta, IdCondominio = item.Testata.EsercizioRiferimento.CondominioRiferimento.ID, Condominio = item.Testata.EsercizioRiferimento.CondominioRiferimento.DisplayName, IdEsercizio = item.Testata.EsercizioRiferimento.ID, Esercizio = item.Testata.EsercizioRiferimento.DisplayName, IdConto = item.ContoRiferimento.ID, Conto = item.ContoRiferimento.Descrizione, TipoConto = item.ContoRiferimento.Tipo.ToString(), Descrizione = item.GetDescrizione(), Importo = !importiNegativi ? item.GetImportoSenzaSegno() : item.GetImportoConSegno(), ImportoResiduoEvasione = item.GetImportoSenzaSegno(), Stato = item.Stato }; if(item.ImportoEvasioneTransitorio != null) dto.ImportoResiduoEvasione -= item.ImportoEvasioneTransitorio; dto.Segno = item.Segno; dto.Note = item.Note; dto.NumeroRegistrazione = item.NumeroRegistrazione; dto.NumeroAssegno = item.NumeroAssegno; dto.NumeroRiga = item.NumeroRiga; if (item.EvasioneBancaria != null) dto.IdEvasioneBancaria = item.EvasioneBancaria.ID; if (item.FornitoreRiferimento != null) { dto.IdFornitore = item.FornitoreRiferimento.ID; dto.Nominativo = item.FornitoreRiferimento.DisplayName; } if (item.CondominoRiferimento != null) { dto.IdCondomino = item.CondominoRiferimento.ID; dto.Nominativo = item.CondominoRiferimento.Persona.DisplayName; } if(item.DettaglioRiferimento != null) dto.IdDettaglio = item.DettaglioRiferimento.ID; if (item.SottoContoRiferimento != null) { dto.IdSottoConto = item.SottoContoRiferimento.ID; dto.SottoConto = item.SottoContoRiferimento.GetDescrizione(item.Testata.EsercizioRiferimento, null, item); } else if (item.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoBancario() && item.ContoCorrenteBancario != null) { dto.IdSottoConto = item.ContoCorrenteBancario.ID * -1; dto.SottoConto = item.ContoCorrenteBancario.DisplayName; } else if (item.ContoRiferimento.Codice == getPianoContiService().GetCodiceContoFornitori() && item.FornitoreRiferimento != null) { dto.IdSottoConto = item.FornitoreRiferimento.ID * -1; dto.SottoConto = item.FornitoreRiferimento.DisplayName; } var spesaRiferimento = item.Testata.SpesaRiferimento; if (spesaRiferimento == null && item.DettaglioRiferimento != null) spesaRiferimento = item.DettaglioRiferimento.SpesaRiferimento; // ============================================================================================= // Commentato rendeva troppo lenta la ricerca dei movimenti - bugid#2967 // ============================================================================================= //if(spesaRiferimento == null) //{ // Pagamento pagamento = null; // if(pagamenti == null) // pagamento = daoFactory.GetPagamentoDao().GetByMovimentoContabile(item); // else // pagamento = pagamenti.FirstOrDefault(itemPagamento => itemPagamento.MovimentoContabile != null && itemPagamento.MovimentoContabile.ID == item.ID); // if (pagamento != null) // spesaRiferimento = pagamento.ScadenzaRiferimento.SpesaRiferimento; //} // ============================================================================================= if (spesaRiferimento != null) { dto.IdSpesa = spesaRiferimento.ID; dto.NumeroProtocollo = spesaRiferimento.NumeroProtocollo; dto.IdentificativoArchiviazioneOttica = archiviazioneService.GetIdentificativoArchiviazione(spesaRiferimento, true); dto.StatoSpesa = spesaRiferimento.Stato; dto.TipoDocumentoSpesa = spesaRiferimento.TipoDocumento; } else { dto.NumeroProtocollo = item.Testata.NumeroProtocollo; if (dto.NumeroProtocollo > 0) dto.IdentificativoArchiviazioneOttica = archiviazioneService.GetIdentificativoArchiviazione(item.Testata); else if (item.DettaglioRiferimento != null && item.DettaglioRiferimento.SpesaRiferimento != null) dto.IdentificativoArchiviazioneOttica = archiviazioneService.GetIdentificativoArchiviazione(item.DettaglioRiferimento.SpesaRiferimento, true); } 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<MovimentoContabileListaDTO>(listaMovimenti, e); if (_movimentoClick != null) contextMenuStrip1.Show(listaMovimenti, e.X, e.Y); } }
private void btnRicevutaClick(object sender, EventArgs e) { try { var condominio = sceltaCondominioCombo1.CondominioSelected; if (condominio != null) { // ==================================================================== // Descrizione del condominio // ==================================================================== var righeDaPubblicare = new string[4]; if (!string.IsNullOrEmpty(condominio.IndirizzoCompleto)) { var righeCondominio = condominio.IndirizzoCompleto.Split('&'); for (var i = 0; i < 4; i++) { if (righeCondominio.Length > i) { if (!string.IsNullOrEmpty(righeDaPubblicare[0])) righeDaPubblicare[0] += " "; righeDaPubblicare[0] += righeCondominio[i]; } righeDaPubblicare[i] = string.Empty; } } // ==================================================================== // Recupero l'intestazione dello studio // ==================================================================== var azienda = getAziendaService().GetAzienda(); var intestazioneStudio = azienda.Descrizione; var viaStudio = string.Empty; var capStudio = string.Empty; var localitaStudio = string.Empty; var comuneLettera = string.Empty; if (azienda.IndirizzoSede != null && !string.IsNullOrEmpty(azienda.IndirizzoSede.DescrizioneComune)) { viaStudio = azienda.IndirizzoSede.Indirizzo + " n. " + azienda.IndirizzoSede.Civico; capStudio = azienda.IndirizzoSede.Cap; localitaStudio = azienda.IndirizzoSede.DescrizioneComune + " " + azienda.IndirizzoSede.CodiceProvincia; comuneLettera = azienda.IndirizzoSede.DescrizioneComune.Substring(0, 1).ToUpper() + azienda.IndirizzoSede.DescrizioneComune.Substring(1).ToLower(); // Collasso diverse informazioni nel campo viaStudio viaStudio += " - " + capStudio + " " + localitaStudio; } var nominativoFornitore = string.Empty; if (sceltaFornitoreSottocontoCombo.SelectedFornitore != null) nominativoFornitore = sceltaFornitoreSottocontoCombo.SelectedFornitore.DisplayNominativo; var numeroRiferimento = numeroProtocollo.Text; var descrizioneCondominio = "CONDOMINIO: " + condominio.DisplayName; // Conversione lista movimenti IList<MovimentoContabileDTO> movimentiDto; if (_testata != null && _testata.Movimenti != null && _testata.Movimenti.Count > 0) movimentiDto = _testata.Movimenti.Where(item => item.NumeroRiga > 1).ToList(); else movimentiDto = _movimentiDare; var movimenti = new List<MovimentoContabileListaDTO>(movimentiDto.Count()); foreach (var movimento in movimentiDto) { try { if (movimento.IdConto.GetValueOrDefault() > 0) { var descrizioneConto = string.Empty; SottoContoDTO sottoConto = null; if (_esercizio != null) { var conto = getPianoContiService().GetById(movimento.IdConto.GetValueOrDefault(), _esercizio.ID); descrizioneConto = conto.Descrizione; if (movimento.IdSottoConto != null) sottoConto = conto.SottoConti.SingleOrDefault(item => item.ID == movimento.IdSottoConto.GetValueOrDefault()); if (sottoConto != null) descrizioneConto += " - " + sottoConto.Descrizione; } var movimentoLista = new MovimentoContabileListaDTO { ID = movimento.ID, Descrizione = getMovimentoContabileService().GetDescrizioneMovimento(movimento, sceltaCondominioCombo1.CondominioSelected, descrizioneDettaglio.Text, (DateTime?)dataInizioCompetenza.Value, (DateTime?)dataFineCompetenza.Value), IdConto = movimento.IdConto.GetValueOrDefault(), Conto = descrizioneConto, IdSottoConto = movimento.IdSottoConto, SottoConto = (sottoConto != null) ? sottoConto.Descrizione : string.Empty, Importo = movimento.Importo }; movimenti.Add(movimentoLista); } } catch (Exception ex) { _log.ErrorFormat("Errore non previsto nella stampa della ricevuta del movimento economico - SINGOLO MOVIMENTO - {0} - movimento:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), movimento != null ? movimento.ID.ToString() : "<NULL>", Login.Instance.CurrentLogin().Azienda); throw; } } if(movimentiDto.Count > 0) { var identificativoArchiviazioneOttica = "<NON DISPONIBILE>"; if (_testata != null) identificativoArchiviazioneOttica = _testata.IdentificativoArchiviazioneOttica; var addebitiPersonali = getMovimentoContabileService().GetAddebitiPersonaliByMovimenti(movimentiDto.Select(item => item.ID).ToList()); var anteprima = new AnteprimaStampa(movimenti, addebitiPersonali, new RicevutaSpesaReportParameters ( righeDaPubblicare, string.Empty, intestazioneStudio, viaStudio, capStudio, localitaStudio, comuneLettera, dataRegistrazione.DateTime, nominativoFornitore, numeroRiferimento, identificativoArchiviazioneOttica, descrizioneCondominio, addebitiPersonali.Count > 0 )); anteprima.ShowDialog(); anteprima.Dispose(); } } } catch (Exception ex) { _log.ErrorFormat("Errore non previsto nella stampa della ricevuta del movimento economico - {0} - movimento:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), _movimentoAvere != null ? _movimentoAvere.ID.ToString() : "<NULL>", Login.Instance.CurrentLogin().Azienda); } }
public Form GetStampaRicevutaSpesa(int idTestata, CondominioDTO condominio, EsercizioDTO esercizio) { try { Form form = null; var testata = _movimentoContabileService.GetTestataById(idTestata); if (condominio != null && testata != null && testata.Movimenti.Count > 0) { // ==================================================================== // Descrizione del condominio // ==================================================================== var righeCondominio = condominio.IndirizzoCompleto.Split('&'); var righeDaPubblicare = new string[4]; for (var i = 0; i < 4; i++) { if (righeCondominio.Length > i) { if (!string.IsNullOrEmpty(righeDaPubblicare[0])) righeDaPubblicare[0] += " "; righeDaPubblicare[0] += righeCondominio[i]; } righeDaPubblicare[i] = string.Empty; } // ==================================================================== // Recupero l'intestazione dello studio // ==================================================================== var azienda = _aziendaService.GetAzienda(); var intestazioneStudio = azienda.Descrizione; var viaStudio = string.Empty; var capStudio = string.Empty; var localitaStudio = string.Empty; var comuneLettera = string.Empty; if (azienda.IndirizzoSede != null) { viaStudio = azienda.IndirizzoSede.Indirizzo + " n. " + azienda.IndirizzoSede.Civico; capStudio = azienda.IndirizzoSede.Cap; if (!string.IsNullOrEmpty(azienda.IndirizzoSede.DescrizioneComune)) { localitaStudio = azienda.IndirizzoSede.DescrizioneComune + " " + azienda.IndirizzoSede.CodiceProvincia; comuneLettera = azienda.IndirizzoSede.DescrizioneComune.Substring(0, 1).ToUpper() + azienda.IndirizzoSede.DescrizioneComune.Substring(1).ToLower(); } // Collasso diverse informazioni nel campo viaStudio viaStudio += " - " + capStudio + " " + localitaStudio; } var nominativoFornitore = string.Empty; var movimentoAvere = _movimentoContabileService.GetMovimentoSingolo(testata); if (movimentoAvere.IdFornitore > 0) nominativoFornitore = _fornitoreService.GetById(movimentoAvere.IdFornitore.GetValueOrDefault()).DisplayNominativo; var numeroRiferimento = testata.NumeroProtocollo.ToString(); var descrizioneCondominio = "CONDOMINIO: " + condominio.DisplayName; // Conversione lista movimenti var movimentiDto = _movimentoContabileService.GetMovimentiLista(testata); var movimenti = new List<MovimentoContabileListaDTO>(movimentiDto.Count()); foreach (var movimento in movimentiDto) { int? idEsercizio = null; if (esercizio != null) idEsercizio = esercizio.ID; var conto = _pianoContiService.GetById(movimento.IdConto.GetValueOrDefault(), idEsercizio); if (conto != null) { SottoContoDTO sottoConto = null; if (movimento.IdSottoConto != null) sottoConto = conto.SottoConti.SingleOrDefault(item => item.ID == movimento.IdSottoConto.GetValueOrDefault()); var descrizioneConto = conto.Descrizione; if (sottoConto != null) descrizioneConto += " - " + sottoConto.Descrizione; var movimentoLista = new MovimentoContabileListaDTO { ID = movimento.ID, Descrizione = _movimentoContabileService.GetDescrizioneMovimento(movimento, condominio, testata.Descrizione, testata.DataInizioCompetenza, testata.DataFineCompetenza), IdConto = movimento.IdConto.GetValueOrDefault(), Conto = descrizioneConto, IdSottoConto = movimento.IdSottoConto, SottoConto = (sottoConto != null) ? sottoConto.Descrizione : string.Empty, Importo = movimento.Importo }; movimenti.Add(movimentoLista); } } if(movimentiDto.Count > 0) { var addebitiPersonali = _movimentoContabileService.GetAddebitiPersonaliByMovimenti(movimentiDto.Select(item => item.ID).ToList()); form = new AnteprimaStampa(movimenti, addebitiPersonali, new RicevutaSpesaReportParameters ( righeDaPubblicare, string.Empty, intestazioneStudio, viaStudio, capStudio, localitaStudio, comuneLettera, testata.DataRegistrazione.GetValueOrDefault(), nominativoFornitore, numeroRiferimento, testata.IdentificativoArchiviazioneOttica, descrizioneCondominio, addebitiPersonali.Count > 0 )); } } return form; } catch (Exception ex) { var idEsercizio = string.Empty; if (esercizio != null) idEsercizio = esercizio.ID.ToString(); var idCondominio = string.Empty; if (condominio != null) idCondominio = condominio.ID.ToString(); _log.ErrorFormat("Errore nella stampa della ricevuta - {0} - testata:{1} - esercizio:{2} - condominio:{3}", ex, Gipasoft.Library.Utility.GetMethodDescription(), idTestata, idEsercizio, idCondominio); throw; } }
public string DeleteMovimento(MovimentoContabileListaDTO movimento) { var result = GetServiceClient().DeleteMovimentoContabile(movimento.ID.GetValueOrDefault(), GetUserInfo()); CloseService(); return result; }
public string AnnullaEvasione(MovimentoContabileListaDTO movimento) { var message = string.Empty; if (movimento.IdEvasioneBancaria != null) message = _movimentoBancarioService.AnnullaEvasione(new MovimentiBancariDTO { CodiceEvasioneBancaria = movimento.IdEvasioneBancaria.Value }); else if (movimento.Stato == StatoMovimentoContabileEnum.Evaso) message = _movimentoBancarioService.AnnullaEvasioneManualeContabile(movimento.ID.GetValueOrDefault()); return message; }