public DettaglioMovimentoBancario(int idMovimento) { InitializeComponent(); inizializza(); _movimento = _movimentoBancarioService.GetById(idMovimento); }
public SceltaOperazioneStorno(MovimentiBancariDTO movimento) { InitializeComponent(); inizializza(); _movimento = movimento; }
public MovimentiBancariDTO[] GetAll() { try { IList<MovimentoBancario> lista = _daoFactory.GetMovimentoBancarioDao().GetAll(); var movimenti = new MovimentiBancariDTO[lista.Count]; var index = 0; foreach (var movimento in lista) { movimenti[index] = setDto(movimento, false); index++; } return movimenti; } catch (Exception ex) { _log.Error("Errore nel caricamento dei movimenti bancari: " + Utility.GetMethodDescription(), ex); throw; } }
public DettaglioMovimentoBancario(MovimentiBancariDTO movimento) { InitializeComponent(); _movimento = movimento; }
private void listaMovimentiMouseUp(object sender, MouseEventArgs e) { _movimentoClick = null; if (e.Button == MouseButtons.Right) { _movimentoClick = DataGridHelper.GetCellEvent<MovimentiBancariDTO>(listaMovimenti, e); if (_movimentoClick != null) contextMenuStrip1.Show(listaMovimenti, e.X, e.Y); } }
private MovimentiBancariDTO setDto(MovimentoBancario item, bool loadIdentificativoArchiviazione) { try { var movimentiBancariService = _windsorRepository.GetContainer(_info.Azienda).Resolve<IMovimentiBancariService>(); if (item.Stato == StatoMovimentoBancarioEnum.DaVerificare) movimentiBancariService.CheckMovimento(item); var dto = new MovimentiBancariDTO { ID = item.ID, Abi = item.Abi, Cab = item.Cab, ContoCorrente = item.ContoCorrente, DataContabile = item.DataContabile, DataValuta = item.DataValuta, Importo = item.Importo, Segno = item.Segno, NumeroAssegno = item.NumeroAssegno, Descrizione = item.Descrizione, DescrizioneBreve = item.DescrizioneBreve, NumeroCRO = item.NumeroCRO, NumeroDistinta = item.NumeroDistinta, AbiFornitore = item.AbiFornitore, CabFornitore = item.CabFornitore, NomeFornitore = item.NomeFornitore, AbiOrdinante = item.AbiOrdinante, CabOrdinante = item.CabOrdinante, NomeOrdinante = item.NomeOrdinante }; if (_causaliACBI.ContainsKey(item.Causale)) { dto.Causale = _causaliACBI[item.Causale].Codice; dto.DescrizioneCausale = _causaliACBI[item.Causale].DescrizioneCompleta; } else _log.ErrorFormat("Causale non trovata - {0} - causale:{1} - azienda:{2}", Utility.GetMethodDescription(), item.Causale, _info.Azienda); if (item.Fornitore != null) dto.CodiceFornitore = item.Fornitore.ID; if (item.CodiceSoggetto != null) dto.CodiceSoggetto = item.CodiceSoggetto.Value; if (item.File != null) dto.CodiceFileCbi = item.File.ID; if (item.Condominio != null) { dto.CodiceCondominio = item.Condominio.ID; dto.DescrizioneCondominio = item.Condominio.DisplayName; } if (item.Esercizio != null) { dto.CodiceEsercizio = item.Esercizio.ID; dto.DescrizioneEsercizio = item.Esercizio.DisplayName; } if (item.Banca != null) dto.CodiceBanca = item.Banca.ID; if (item.EvasioneBancaria != null) dto.CodiceEvasioneBancaria = item.EvasioneBancaria.ID; dto.StatoMovimento = item.Stato; if (dto.StatoMovimento == StatoMovimentoBancarioEnum.DaContabilizzare && dto.CodiceEsercizio > 0) dto.Selezionabile = true; else dto.Selezionabile = false; if (item.EvasioneBancaria != null && loadIdentificativoArchiviazione) { var daoFactory = _windsorRepository.GetDaoFactory(_info.Azienda); foreach (var movimentoContabile in item.EvasioneBancaria.MovimentiContabili) { var pagamento = daoFactory.GetPagamentoDao().GetByMovimentoContabile(movimentoContabile); if (pagamento != null) { // TODO: Aggiungere le fatture archiviate con ARCHIVA if (pagamento.ScadenzaRiferimento.SpesaRiferimento.IsAbilitataArchiviazioneOttica) { var archiviazioneOtticaService = _windsorRepository.GetContainer(_info.Azienda).Resolve<IArchiviazioneOtticaService>(); dto.IdentificativoDocumentoSpesa = archiviazioneOtticaService.GetIdentificativoArchiviazione(pagamento.ScadenzaRiferimento.SpesaRiferimento, false); } else { var documenti = pagamento.ScadenzaRiferimento.SpesaRiferimento.Documenti; if (documenti != null && documenti.Count > 0) { var documento = documenti.FirstOrDefault(); if (documento != null) dto.IdentificativoDocumentoSpesa = documento.Checksum; } } } } } return dto; } catch (Exception ex) { _log.ErrorFormat("Errore nella conversione in DTO - {0} - id:{1}", ex, Utility.GetMethodDescription(), item.ID); throw; } }
public void LoadData(MovimentiBancariDTO movimentoBancario) { _movimentoBancario = movimentoBancario; inizializza(); CabDTO cabDto = _abiCabService.GetCabByCodice(_movimentoBancario.Abi, _movimentoBancario.Cab); if (cabDto != null) { _movimentoBancario.Abi += " - " + cabDto.DescrizioneAbi; _movimentoBancario.Cab += " - " + cabDto.DescrizioneCab; } movimentoBancarioBindingSource.DataSource = _movimentoBancario; sceltaCondominioCombo1.LoadData(); if (_movimentoBancario.CodiceCondominio != null) { sceltaCondominioCombo1.SelectItem -=sceltaCondominioCombo1SelectItem; sceltaCondominioCombo1.SetCondominioInitial(_movimentoBancario.CodiceCondominio.Value); if (sceltaCondominioCombo1.CondominioSelected != null) { esercizioDTOBindingSource.DataSource = sceltaCondominioCombo1.CondominioSelected.Esercizi; esercizi.Value = _movimentoBancario.CodiceEsercizio; } sceltaCondominioCombo1.SelectItem += sceltaCondominioCombo1SelectItem; } importo.Text = _movimentoBancario.Importo.GetValueOrDefault().ToString("c"); if (_movimentoBancario.Segno == "D") importo.Appearance.ForeColor = Color.Red; // ---------------------------------------------------------------------------------------- // Se la causale è di Bonifico Attivo sostituisco il fornitore con l'ordinante // ---------------------------------------------------------------------------------------- if (_movimentoBancario.Causale == "48") { groupFornitore.Visible = true; sceltaFornitoreCombo1.Visible = false; condomini.Visible = true; groupFornitore.Text = @"Ordinante"; lblFornitore.Text = @"Condomino"; abiFornitore.Text = _movimentoBancario.AbiOrdinante; cabFornitore.Text = _movimentoBancario.CabOrdinante; nomeFornitore.Text = _movimentoBancario.NomeOrdinante; condomini.Text = string.Empty; if (_movimentoBancario.CodiceCondominio != null && _movimentoBancario.CodiceCondominio > 0) { soggettoCondominioDTOBindingSource.DataSource = _soggettoService.GetByCondominioId(_movimentoBancario.CodiceCondominio.Value); if (_movimentoBancario.CodiceSoggetto > 0) condomini.Value = _movimentoBancario.CodiceSoggetto; } } else if (_movimentoBancario.Causale == "26") { groupFornitore.Visible = true; sceltaFornitoreCombo1.Visible = true; sceltaFornitoreCombo1.LoadData(); if (_movimentoBancario.CodiceFornitore > 0) sceltaFornitoreCombo1.SetFornitoreInitial(_movimentoBancario.CodiceFornitore); lblFornitore.Text = @"Fornitore"; condomini.Visible = false; abiFornitore.Text = _movimentoBancario.AbiFornitore; cabFornitore.Text = _movimentoBancario.CabFornitore; nomeFornitore.Text = _movimentoBancario.NomeFornitore; } else groupFornitore.Visible = false; if (!string.IsNullOrEmpty(abiFornitore.Text) && !string.IsNullOrEmpty(cabFornitore.Text)) { CabDTO cabDtoFornitoreOrdinante = _abiCabService.GetCabByCodice(abiFornitore.Text, cabFornitore.Text); if (cabDtoFornitoreOrdinante != null) { abiFornitore.Text += @" - " + cabDtoFornitoreOrdinante.DescrizioneAbi; cabFornitore.Text += @" - " + cabDtoFornitoreOrdinante.DescrizioneCab; } } descrizione.Text = string.Empty; if (!string.IsNullOrEmpty(_movimentoBancario.DescrizioneBreve) && !string.IsNullOrEmpty(_movimentoBancario.DescrizioneBreve.Trim())) descrizione.Text = _movimentoBancario.DescrizioneBreve.Trim(); if (!string.IsNullOrEmpty(_movimentoBancario.Descrizione) && !string.IsNullOrEmpty(_movimentoBancario.Descrizione.Trim())) { if (!string.IsNullOrEmpty(descrizione.Text)) descrizione.Text += Environment.NewLine; descrizione.Text += _movimentoBancario.Descrizione.Trim(); } }
public bool Contabilizza(MovimentiBancariDTO movimento) { var result = false; if (movimento.CodiceCondominio != null) { // ========================================================================== // Maschera scelta causale - Se non si tratta di un movimento di storno // ========================================================================== var causaleBancaria = getMovimentoBancarioService().GetCausaleACBIByCodice(movimento.Causale); if (causaleBancaria != null && causaleBancaria.Codice != "68") { // ================================================================================================= // Scelta maschera di registrazione contabile // ================================================================================================= // --------------------------------------------------------------------------------------- // Controllo se è prevista una causale contabile legata alla causale bancaria selezionata // --------------------------------------------------------------------------------------- CausaleContabileDTO causaleContabile = null; if (causaleBancaria.IdCausaleContabile != null) causaleContabile = getTabelleContabiliService().GetCausaleById(causaleBancaria.IdCausaleContabile.Value); EsercizioDTO esercizioAttuale = null; CondominioDTO condominioAttuale = null; if (movimento.CodiceCondominio != null) { condominioAttuale = getCondominioService().GetById(movimento.CodiceCondominio.Value, true); var eserciziAperti = getEsercizioService().GetApertiByCondominio(movimento.CodiceCondominio.GetValueOrDefault()); if (eserciziAperti.Count == 1) esercizioAttuale = eserciziAperti.SingleOrDefault(); } var codiceCausaleContabile = string.Empty; if (causaleContabile != null) codiceCausaleContabile = causaleContabile.Codice; else { if (movimento.CodiceSoggetto > 0) codiceCausaleContabile = "RR"; } // --------------------------------------------------------------------------------------- // Se non ho tutte le informazioni chiedo all'utente causale e esercizio // --------------------------------------------------------------------------------------- if (esercizioAttuale == null || string.IsNullOrEmpty(codiceCausaleContabile)) { var form = new SceltaCausale(movimento.CodiceCondominio.Value); form.SetCausale(codiceCausaleContabile); if (causaleBancaria.IdCausaleContabile != null) form.SetCausale(causaleBancaria.IdCausaleContabile.Value); if (form.ShowDialog() == DialogResult.OK) { condominioAttuale = form.Condominio; esercizioAttuale = form.Esercizio; causaleContabile = form.CausaleContabile; codiceCausaleContabile = causaleContabile.Codice; form.Dispose(); } else { form.Dispose(); return false; } } // --------------------------------------------------------------------------------------- // Leggo contato patrimoniale Bancario // --------------------------------------------------------------------------------------- var contoPatrimoniale = getPianoContiService().GetBancarioByEsercizio(esercizioAttuale); if (contoPatrimoniale != null) { Form formMovimento; // =============================================================================================== // TODO: Introdurre driver per decidere che tipo di registrazione contabile deve essere eseguita // ----------------------------------------------------------------------------------------------- // Legato alla nuova modifica per autorizzazione delle registrazioni e nuova maschera di // registrazione fatture // =============================================================================================== // Versamento condomini // ---------------------- if (codiceCausaleContabile == "RR") { var versamentiForm = ResolveComponent<IVersamentiSoggettiUI>(); formMovimento = versamentiForm.GetInserimentoVersamentoSoggetto(condominioAttuale, esercizioAttuale, movimento.Importo.GetValueOrDefault(), contoPatrimoniale, movimento.CodiceBanca, movimento.CodiceSoggetto, movimento.ID, movimento.DataContabile.GetValueOrDefault()); } else if (codiceCausaleContabile == "SS") { formMovimento = new SceltaOperazioneStorno(movimento); } else // Registrazione generica // ---------------------- { var incassoSpesa = Sfera.Enums.TipoMovimentoEnum.Spesa; if (movimento.Segno == "C") incassoSpesa = Sfera.Enums.TipoMovimentoEnum.Accredito; var movimentiForm = ResolveComponent<IMovimentiContabiliUI>(); formMovimento = movimentiForm.GetInserimentoMovimentoContabile(causaleContabile, esercizioAttuale, movimento.Importo.GetValueOrDefault() * -1, contoPatrimoniale, movimento.CodiceBanca, movimento.DataContabile, movimento.DescrizioneBreve + " " + movimento.Descrizione, incassoSpesa, movimento.ID); } if (formMovimento.ShowDialog() == DialogResult.OK) result = true; formMovimento.Dispose(); } else CommonMessages.DisplayWarning("La Contabilizzazione non è ammessa." + Environment.NewLine + "Non è stato trovato il conto Banca"); } // ========================================================================== // Movimento di storno // ========================================================================== else { var form = new SceltaOperazioneStorno(movimento); if (form.ShowDialog() == DialogResult.OK) result = true; form.Dispose(); } } return result; }
public MovimentiBancariDTO SetContabilizzato(MovimentiBancariDTO movimentoDto, int? idMovimentoContabile) { try { var movimento = _daoFactory.GetMovimentoBancarioDao().GetById(movimentoDto.ID, false); movimento.Stato = StatoMovimentoBancarioEnum.Contabilizzato; movimentoDto.StatoMovimento = movimento.Stato; if (idMovimentoContabile != null) { var movimentoPatrimoniale = _daoFactory.GetMovimentoContabileDao().GetById(idMovimentoContabile.Value, false); movimentoPatrimoniale.Stato = StatoMovimentoContabileEnum.Evaso; var evasione = new EvasioneBancaria($"Evasione automatica del {DateTime.Today:d}", null); _daoFactory.GetEvasioneBancariaDao().SaveOrUpdate(evasione); movimentoPatrimoniale.EvasioneBancaria = evasione; movimento.EvasioneBancaria = evasione; } return movimentoDto; } catch (Exception ex) { _log.ErrorFormat("Errore inaspettato durante la contabilizzazione di un singolo movimento bancario - {0} - movimentoBnacario:{1} - movimentoContabile:{2}", ex, Utility.GetMethodDescription(), movimentoDto != null ? movimentoDto.ID.ToString(CultureInfo.InvariantCulture) : "<NULL>", idMovimentoContabile); throw; } }
public MovimentiBancariDTO SetMovimentoBancarioContabilizzato(MovimentiBancariDTO movimento, int? idMovimentoContabile, UserInfo userinfo) { var windsorRep = new WindsorConfigRepository(); try { windsorRep.BeginTransaction(userinfo); var movimentiBancari = windsorRep.GetContainer(userinfo.Azienda).Resolve<IMovimentiBancariService>(); var item = movimentiBancari.SetContabilizzato(movimento, idMovimentoContabile); windsorRep.Commit(); return item; } catch (Exception ex) { _log.ErrorFormat("Errore nella esecuzione della funzione - {0} - azienda:{1}", ex, Utility.GetMethodDescription(), userinfo.Azienda); windsorRep.Rollback(); throw; } }
public string AnnullaEvasione(MovimentiBancariDTO movimento) { var result = string.Empty; if (movimento.CodiceEvasioneBancaria != null && movimento.CodiceEvasioneBancaria > 0) result = GetServiceClient().AnnullaEvasioneBancaria(movimento.CodiceEvasioneBancaria.Value, GetUserInfo()); else if (movimento.StatoMovimento == StatoMovimentoBancarioEnum.Contabilizzato) result = AnnullaEvasioneManualeBancaria(movimento.ID); CloseService(); return result; }
public string AggiornaMovimento(MovimentiBancariDTO movimento, EsercizioDTO esercizio, CondominioDTO condominio, FornitoreDTO fornitore, SoggettoCondominioDTO soggetto) { int? idEsercizio = null; int? idCondominio = null; int? idFornitore = null; int? idSoggetto = null; if (condominio != null) idCondominio = condominio.ID; if (esercizio != null) idEsercizio = esercizio.ID; if (fornitore != null) idFornitore = fornitore.ID; if (soggetto != null) idSoggetto = soggetto.ID; var messaggio = GetServiceClient().AggiornaMovimentoBancario(movimento.ID, idEsercizio, idCondominio, idFornitore, idSoggetto, GetUserInfo()); if (string.IsNullOrEmpty(messaggio)) { if (condominio != null) { movimento.CodiceCondominio = condominio.ID; movimento.DescrizioneCondominio = condominio.DisplayName; } if (esercizio != null) { movimento.CodiceEsercizio = esercizio.ID; movimento.DescrizioneEsercizio = esercizio.DisplayName; } if (fornitore != null) { movimento.CodiceFornitore = fornitore.ID; movimento.NomeFornitore = fornitore.DisplayNominativo; } if (soggetto != null) { movimento.CodiceSoggetto = soggetto.ID; movimento.NomeOrdinante = soggetto.DisplayNominativo; } } CloseService(); return messaggio; }
public MovimentiBancariDTO ContabilizzaSingolo(MovimentiBancariDTO movimento, int? idMovimentoContabilePatrimoniale) { var result = GetServiceClient().SetMovimentoBancarioContabilizzato(movimento, idMovimentoContabilePatrimoniale, GetUserInfo()); CloseService(); return result; }