예제 #1
0
        public void Reload()
        {
            if (esercizi.SelectedItem != null)
            {
                var form =
                    new ExecuteLoadDataListAsync<AssembleaDTO>(
                        "E' in corso la compilazione dell'elenco delle assemblee ....." + Environment.NewLine +
                        "Si prega di attendere.");
                Func<List<AssembleaDTO>> loadDati =
                    () => _assembleaService.GetByEsercizio((EsercizioDTO) esercizi.SelectedItem.ListObject);
                form.LoadData(loadDati);
                form.ShowDialog();

                assembleaDTOBindingSource.DataSource = form.DataSourceObject;
                //se si è persa la colonna unbound la ricreo
                if (listaAssemblea.DisplayLayout.Bands.Count > 1)
                {
                    if (!listaAssemblea.DisplayLayout.Bands[1].Columns.Exists("DescrizioneSemplice"))
                    {
                        listaAssemblea.DisplayLayout.Bands[1].Columns.Add("DescrizioneSemplice", "Descrizione");
                    }
                }

                form.Dispose();
            }
            else
            {
                //qua non dovrebbe mai arrivare...ma arriva quando si cambia condominio e si clicca subito su cerca perché esercizi resta non definito...
                MessageBox.Show(@"L'esercizio indicato non è valido o è vuoto.",
                    @"Gestione assemblee", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
        }
        public Form GetMovimentiEvasi(int id, CondominioDTO condominio, EsercizioDTO esercizio)
        {
            var service = ResolveComponent<IMovimentoBancarioService>();

            // Caricamento asincrono dei movimenti bancari
            var form = new ExecuteLoadDataListAsync<MovimentiBancariDTO>("E' in corso la ricerca dei movimenti bancari ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<MovimentiBancariDTO>> loadDati = () => service.GetByFilter(new MovimentoBancarioFilter { IdEvasioneBancaria = id });
            form.LoadData(loadDati);
            form.ShowDialog();

            // Se presente un solo movimento bancario carico direttamente il dettaglio
            if (form.DataSourceObject.Count > 1)
            {
                _formMovimenti = new GestioneMovimentiBancariUI(condominio, esercizio);
                ((GestioneMovimentiBancariUI)_formMovimenti).HideFilterPanel();
                ((GestioneMovimentiBancariUI)_formMovimenti).LoadData(form.DataSourceObject);
            }
            else if(form.DataSourceObject.Count > 0)
            {
                _formMovimenti = new DettaglioMovimentoBancario(form.DataSourceObject[0]);
                ((DettaglioMovimentoBancario)_formMovimenti).LoadData();
            }
            form.Dispose();

            return _formMovimenti;
        }
예제 #3
0
 public void LoadData()
 {
     var form = new ExecuteLoadDataListAsync<SpedizioneArchiviazioneOtticaDTO>("E' in corso la ricerca dei file caricati ....." + Environment.NewLine + "Si prega di attendere.");
     Func<List<SpedizioneArchiviazioneOtticaDTO>> loadDati = () => getArchiviazioneOtticaService().GetSpedizioni();
     form.LoadData(loadDati);
     form.ShowDialog();
     spedizioniArchiviazioneOtticaDTOBindingSource.DataSource = form.DataSourceObject;
     form.Dispose();
 }
 public void Reload()
 {
     var form = new ExecuteLoadDataListAsync<PagamentoRitenutaDTO>("E' in corso la ricerca delle ritenute ....." + Environment.NewLine + "Si prega di attendere.");
     Func<List<PagamentoRitenutaDTO>> loadDati = () => getRitenutaService().GetPagamentiByAzienda(_filter);
     form.LoadData(loadDati);
     form.ShowDialog();
     pagamentoRitenutaDTOBindingSource.DataSource = form.DataSourceObject;
     form.Dispose();
 }
예제 #5
0
파일: TabelleUC.cs 프로젝트: gipasoft/Sfera
 private void load()
 {
     var formLoad = new ExecuteLoadDataListAsync<TestataTabellaSempliceDTO>("E' in corso la lettura delle tabelle ....." + Environment.NewLine + "Si prega di attendere.");
     Func<List<TestataTabellaSempliceDTO>> loadDatiTabelle = () => getTabelleService().GetAllTabelleSemplici();
     formLoad.LoadData(loadDatiTabelle);
     formLoad.ShowDialog();
     testataTabellaSempliceDTOBindingSource.DataSource = formLoad.DataSourceObject;
     lista.DataBind();
     formLoad.Dispose();
 }
예제 #6
0
파일: UtenzeUI.cs 프로젝트: gipasoft/Sfera
        protected override void ExecuteRefresh()
        {
            var form = new ExecuteLoadDataListAsync<UtenzaDTO>();
            Func<List<UtenzaDTO>> loadDati = () => getUtenzaService().GetUtenzeAll();
            form.LoadData(loadDati);
            form.ShowDialog();
            form.Dispose();

            lista.DataSource = utenzaDTOBindingSource;
            utenzaDTOBindingSource.DataSource = form.DataSourceObject;
        }
예제 #7
0
        private void btnCercaClick(object sender, EventArgs e)
        {
            var filter = new MessaggioFilter();
            if(sceltaCondominioCombo1.CondominioSelected != null)
                filter.CodiceCondominio = sceltaCondominioCombo1.CondominioSelected.ID;
            filter.Nominativo = nominativo.Text;

            if (tipoMessaggio.Value != null)
                filter.TipoMessaggio = (TipoMessaggio)Enum.Parse(typeof(TipoMessaggio), tipoMessaggio.Text);


            if (motivoMessaggio.Value != null)
            {
                var motivoMessaggioSelezionato = motivoMessaggio.Value as IList<object>;
                if (motivoMessaggioSelezionato != null){
                    filter.MotivoMessaggio = new List<MotivoMessaggio>();
                    foreach (var motivo in motivoMessaggioSelezionato)
                    {
                        MotivoMessaggio motivoMessaggioValue;
                        if (Enum.TryParse(motivo.ToString(), true, out motivoMessaggioValue))
                            filter.MotivoMessaggio.Add(motivoMessaggioValue);
                    }
                }
            }

            if(tipoSoggetto.Value != null)
                filter.Tipo = (TipoNominativo)Enum.Parse(typeof(TipoNominativo), tipoSoggetto.Text);

            if (tipoFornitore.Value != null)
                filter.TipoFornitore = (int)tipoFornitore.Value;

            var gruppi = string.Empty;
            if(gruppo.CheckedItems.Count > 0)
            {
                foreach (var item in gruppo.CheckedItems)
                {
                    if(!string.IsNullOrEmpty(gruppi))
                        gruppi += ",";
                    gruppi += item.DataValue.ToString();
                }
            }
            filter.Gruppi = gruppi;
            filter.DataRiferimento = (DateTime?)dataRiferimento.Value;

            var form = new ExecuteLoadDataListAsync<StoricoMessaggioDTO>("E' in corso la ricerca dei messaggi ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<StoricoMessaggioDTO>> loadDati = () => getMessaggioService().GetByFilter(filter);
            form.LoadData(loadDati);
            form.ShowDialog();

            listaMessaggiUC1.LoadData(form.DataSourceObject);
            listaMessaggiUC1.Visible = true;
            form.Dispose();
        }
예제 #8
0
        protected override void ExecuteRefresh()
        {
            var formAttesa = new ExecuteLoadDataListAsync<AttivitaDTO>("E' in corso il caricamento delle attività ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<AttivitaDTO>> loadDati = loadData;
            formAttesa.LoadData(loadDati);
            formAttesa.ShowDialog();

            lista.DataSource = AttivitaSource;
            AttivitaSource.DataSource = formAttesa.DataSourceObject;
            formAttesa.Dispose();
            SferaServiceProxy.Instance.Close();
        }
예제 #9
0
        protected override void ExecuteRefresh()
        {
            _condominioService.ClearCache();

            var form = new ExecuteLoadDataListAsync<CondominioDTO>();
            Func<List<CondominioDTO>> loadDati = () => _condominioService.GetAll(true);
            form.LoadData(loadDati);
            form.ShowDialog();

            lista.DataSource = condominioDTOBindingSource;
            condominioDTOBindingSource.DataSource = form.DataSourceObject;
            form.Dispose();
        }
예제 #10
0
        private void btnConfermaClick(object sender, EventArgs e)
        {
            validationSummary1.Validate();

            if (validationSummary1.IsValid)
            {
                var tipoRendiconto = TipoRendiconto.Consuntivo;
                if (preventivoConsuntivo.Value.ToString() == "P")
                    tipoRendiconto = TipoRendiconto.Preventivo;

                var noteHtml = Conversione.ToString(note.GetDocumento("HTML"));

                // ====================================================================
                // Chiedo la stampa batch
                // ====================================================================
                var dialogResult = CommonMessages.DisplayConfirmCancel("Vuoi eseguire una stampa batch in modo che l'applicazione non resti bloccata durante l'elaborazione?");
                switch (dialogResult)
                {
                    case DialogResult.No:
                        {
                            var form = new ExecuteLoadDataListAsync<ReportBilancioDTO>("E' in corso il caricamento del riparto ....." + Environment.NewLine + "Si prega di attendere.");
                            var parametersBilancio = getParameters(sceltaCondominioCombo1.CondominioSelected, (EsercizioDTO) esercizi.SelectedItem.ListObject, noteHtml, tipoRendiconto);
                            if (parametersBilancio.TipoReport != TipoReportBilancio.Undefined)
                            {
                                Func<List<ReportBilancioDTO>> loadDati = () => getBilancioDataSource(parametersBilancio);
                                form.LoadData(loadDati);
                                form.ShowDialog();
                                ShowReport(((EsercizioDTO)esercizi.SelectedItem.ListObject).ID, form.DataSourceObject, parametersBilancio);
                                form.Dispose();
                            }
                        }
                        break;

                    case DialogResult.Yes: 
                        INotifier notifier = null;
                        if (ParentForm?.MdiParent is INotifier)
                            notifier = (INotifier) ParentForm.MdiParent;
                        var parameters = getParameters(sceltaCondominioCombo1.CondominioSelected, (EsercizioDTO)esercizi.SelectedItem.ListObject, noteHtml, tipoRendiconto);
                        if (parameters.TipoReport != TipoReportBilancio.Undefined)
                            getBilancioService().GetBilancioAnnualeAsync((int)esercizi.Value, (DateTime?)dataRegistrazioneIniziale.Value, (DateTime?)dataRegistrazioneFinale.Value, (int?)stabili.Value, (int?)gruppi.Value, addebitiCondominio.Checked, false, false, _impostazioneReportDTO.LimitePagamenti, _impostazioneReportDTO.DettaglioPersonali, addebitiCondominio.Checked, addebitiDirettiStabileScala.Checked, parameters, notifier, BilancioConsuntivoResources.riparto_large);
                        break;
                }
            }
            else
                validationSummary1.ShowErrorSummary();
        }
예제 #11
0
        public void LoadData()
        {
            var filter = new FileCbiFilter
            {
                Descrizione = descrizione.Text,
                DataIniziale = (DateTime?) dataPagamentoIniziale.Value,
                DataFinale = (DateTime?) dataPagamentoFinale.Value
            };

            var form = new ExecuteLoadDataListAsync<FileCBIListaDTO>("E' in corso la ricerca dei file caricati ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<FileCBIListaDTO>> loadDati = () => getElaborazioneFileCBIService().GetByFilter(filter);
            form.LoadData(loadDati);
            form.ShowDialog();
            fileCBIListaDTOBindingSource.DataSource = form.DataSourceObject;
            lista.Visible = true;
            form.Dispose();
        }
예제 #12
0
        public void LoadDataByEsercizio(CondominioDTO condominio, EsercizioDTO esercizio)
        {
            _condominio = condominio;
            _esercizio = esercizio;

            if (_esercizio != null)
            {
                var form = new ExecuteLoadDataListAsync<TestataSollecitoDTO>("E' in corso il caricamento dei solleciti ....." + Environment.NewLine + "Si prega di attendere.");
                Func<List<TestataSollecitoDTO>> loadDati = () => getSollecitoService().GetSollecitiByEsercizio(_esercizio, _condominio);
                form.LoadData(loadDati);
                form.ShowDialog();
                testataSollecitoDTOBindingSource.DataSource = form.DataSourceObject;
                form.Dispose();
                listaSolleciti.Visible = true;
            }
            else
                listaSolleciti.Visible = false;
        }
예제 #13
0
        private void btnCercaClick(object sender, EventArgs e)
        {
            validationSummaryCerca.Validate();
            if (validationSummaryCerca.IsValid)
            {
                var form = new ExecuteLoadDataListAsync<RiepilogoSpesaDTO>("E' in corso la lettura delle spese ....." + Environment.NewLine + "Si prega di attendere.");
                Func<List<RiepilogoSpesaDTO>> loadDati = () => getGestioneFiscaleService().GetRiepilogoSpeseQuadroAC((int) anno.Value);
                form.LoadData(loadDati);
                form.ShowDialog();
                riepilogoSpesaDTOBindingSource.DataSource = form.DataSourceObject;
                form.Dispose();

                listaSpese.Visible = true;
                panelButtons.Visible = true;
            }
            else
                validationSummaryCerca.ShowErrorSummary();
        }
예제 #14
0
파일: VotantiUC.cs 프로젝트: gipasoft/Sfera
        private void loadData()
        {
            //======================================================================
            //  Votanti
            //======================================================================
            StabileDTO stabile = null;
            if (stabili.SelectedItem != null)
                stabile = (StabileDTO)stabili.SelectedItem.ListObject;

            GruppoStabileDTO scala = null;
            if (scale.SelectedItem != null)
                scala = (GruppoStabileDTO)scale.SelectedItem.ListObject;

            var form = new ExecuteLoadDataListAsync<ConvocazioneAssembleaDTO>("E' in corso la compilazione dell'elenco dei votanti ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<ConvocazioneAssembleaDTO>> loadDati = () => getAssembleaService().GetVotanti(_assemblea, _ordineGiorno, stabile, scala);
            form.LoadData(loadDati);
            form.ShowDialog();
            setDataSource(form.DataSourceObject);
            form.Dispose();
        }
예제 #15
0
        private void btnCercaClick(object sender, EventArgs e)
        {
            var filter = new PersonaFilter {Testo = note.Text, Nominativo = nominativo.Text, Indirizzo = indirizzo.Text};
            if (sceltaCondominioCombo1.CondominioSelected != null)
                filter.CodiceCondominio = sceltaCondominioCombo1.CondominioSelected.ID;

            if (residenteSearch.CheckState != CheckState.Indeterminate)
                filter.IsResidente = (bool?)residenteSearch.CheckedValue;

            if(tipoSoggetto.Value != null)
                filter.Tipo = (TipoNominativo)Enum.Parse(typeof(TipoNominativo), tipoSoggetto.Text);

            if (tipoFornitore.Value != null)
                filter.TipoFornitore = (int)tipoFornitore.Value;

            var gruppi = string.Empty;
            if(gruppo.CheckedItems.Count > 0)
            {
                foreach (var item in gruppo.CheckedItems)
                {
                    if(!string.IsNullOrEmpty(gruppi))
                        gruppi += ",";
                    gruppi += item.DataValue.ToString();
                }
            }
            filter.Gruppi = gruppi;
            filter.DataRiferimento = (DateTime?)dataRiferimento.Value;

            var form = new ExecuteLoadDataListAsync<PersonaContattoDTO>("E' in corso la ricerca delle anagrafiche ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<PersonaContattoDTO>> loadDati = () => getPersonaService().GetByFilter(filter, getTipoIndirizzo());
            form.LoadData(loadDati);
            form.ShowDialog();

            personaContattoDTOBindingSource.DataSource = form.DataSourceObject;

            lista.Visible = true;
            buttonPanel.Visible = true;
            form.Dispose();
        }
예제 #16
0
 private void calcoloSubentro()
 {
     var form = new ExecuteLoadDataListAsync<CalcoloSubentroDTO>("Sono in corso di esecuzione i calcoli dei subentri ....." + Environment.NewLine + "Si prega di attendere.");
     Func<List<CalcoloSubentroDTO>> loadDati = () => getSubentroService().GetCalcoloSubentro(_condominio.ID, _dataSubentro, _personaEntrante, _personaUscente.ID, _idUnitaImmobiliarePrincipale, _unitaImmobiliari, _tipoSubentro, getTipoRendiconto());
     form.LoadData(loadDati);
     form.ShowDialog();
     calcoloSubentroDTOBindingSource.DataSource = form.DataSourceObject;
     form.Dispose();
 }
예제 #17
0
 private void calcoloRiepilogoSpeseSubentro()
 {
     var form = new ExecuteLoadDataListAsync<RiepilogoSpeseSubentroDTO>("Sono in corso di esecuzione i calcoli dei subentri ....." + Environment.NewLine + "Si prega di attendere.");
     Func<List<RiepilogoSpeseSubentroDTO>> loadDati = () => getSubentroService().GetRiepilogoCalcoloSubentro(_esercizio, _personaUscente, _personaUscente.ID, _unitaImmobiliari, (List<CalcoloSubentroDTO>)calcoloSubentroDTOBindingSource.DataSource, 0, 0, null);
     form.LoadData(loadDati);
     form.ShowDialog();
     riepilogoSpeseSubentroDTOBindingSource.DataSource = form.DataSourceObject;
     form.Dispose();
 }
예제 #18
0
        void loadMillesimi()
        {
            var form = new ExecuteLoadDataListAsync<MillesimoDTO>("E' in corso la lettura dei millesimi ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<MillesimoDTO>> loadDati = () => getMillesimi((ContoDTO)conti.SelectedItem.ListObject);
            form.LoadData(loadDati);
            form.ShowDialog();

            millesimoBindingSource.DataSource = form.DataSourceObject;
            _millesimi.Clear();

            form.Dispose();
        }
예제 #19
0
        public void Reload(CondominioDTO condominio, EsercizioDTO esercizio)
        {
            _condominio = condominio;
            _esercizio = esercizio;
            Visible = false;

            _contiDaAggiornare.Clear();

            if (_esercizio != null)
            {
                pianoContiDTOBindingSource.DataSource = getPianoContiService().GetPianoConti(TipoContoEconomicoEnum.Economico); 
                
                var form = new ExecuteLoadDataListAsync<ContoDTO>("Il caricamento dei conti è in corso di esecuzione ....." + Environment.NewLine + "Si prega di attendere.");
                Func<List<ContoDTO>> loadDati = () => getPianoContiService().GetByEsercizio(esercizio, true);
                form.LoadData(loadDati);
                form.ShowDialog();
                _contiDataSource = form.DataSourceObject;

                loadDataSourceConti();
                if(conti.DisplayLayout.Bands[0].Columns.Exists("IdCondominio"))
                    conti.DisplayLayout.Bands[0].Columns["IdCondominio"].DefaultCellValue = _condominio.ID;

                conti.DisplayLayout.ValueLists.Clear();
                if (conti.DisplayLayout.ValueLists.Count == 0)
                {
                    if (conti.DisplayLayout.Bands[0].Columns.Exists("IdEsercizio"))
                    {
                        conti.DisplayLayout.ValueLists.Add(DataSourceHelper.GetValueList(_condominio.Esercizi, "ID", "DisplayName", "Esercizi"));
                        conti.DisplayLayout.Bands[0].Columns["IdEsercizio"].ValueList = conti.DisplayLayout.ValueLists["Esercizi"];
                    }

                    if (conti.DisplayLayout.Bands[0].Columns.Exists("IdContatore"))
                    {
                        conti.DisplayLayout.ValueLists.Add(DataSourceHelper.GetValueList(getUtenzaService().GetContatoriByCondominio(_condominio.ID), "ID", "Descrizione", "ContaCalorie"));
                        conti.DisplayLayout.Bands[0].Columns["IdContatore"].ValueList = conti.DisplayLayout.ValueLists["ContaCalorie"];
                    }
                }

                listaContiPatrimoniali.DisplayLayout.ValueLists.Clear();
                if (listaContiPatrimoniali.DisplayLayout.ValueLists.Count == 0)
                {
                    if (listaContiPatrimoniali.DisplayLayout.Bands[0].Columns.Exists("IdEsercizio"))
                    {
                        listaContiPatrimoniali.DisplayLayout.ValueLists.Add(DataSourceHelper.GetValueList(_condominio.Esercizi, "ID", "DisplayName", "Esercizi"));
                        listaContiPatrimoniali.DisplayLayout.Bands[0].Columns["IdEsercizio"].ValueList = listaContiPatrimoniali.DisplayLayout.ValueLists["Esercizi"];
                    }
                    if (listaContiPatrimoniali.DisplayLayout.Bands[0].Columns.Exists("TipoLiquidita"))
                    {
                        listaContiPatrimoniali.DisplayLayout.ValueLists.Add(DataSourceHelper.GetValueList<TipoLiquidita>("TipoLiquidita"));
                        listaContiPatrimoniali.DisplayLayout.Bands[0].Columns["TipoLiquidita"].ValueList = listaContiPatrimoniali.DisplayLayout.ValueLists["TipoLiquidita"];
                        
                    }
                }

                contoDTOBindingSourcePatrimoniali.DataSource = getPianoContiService().GetPatrimonialiByEsercizio(esercizio, true);
                Visible = true;

                form.Dispose();
            }
        }
예제 #20
0
        public void LoadData(CondominioDTO condominio, EsercizioDTO esercizio, MovimentoContabileFilter filter)
        {
            _condominio = condominio;
            _esercizio = esercizio;
            _filter = filter;

            var form = new ExecuteLoadDataListAsync<MovimentoContabileListaDTO>("E' in corso la ricerca dei movimenti ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<MovimentoContabileListaDTO>> loadDati = () => getMovimentoContabileService().GetListaByFilter(filter);
            form.LoadData(loadDati);
            form.ShowDialog();
            movimentoContabileListaDTOBindingSource.DataSource = form.DataSourceObject;
            form.Dispose();

            if (listaMovimenti.DisplayLayout.Bands[0].Summaries.Count == 0)
            {
                DataGridHelper.AddSummary(listaMovimenti.DisplayLayout.Bands[0], "Importo", "c");
                DataGridHelper.AddSummary(listaMovimenti.DisplayLayout.Bands[0], "ImportoDare", "c");
                DataGridHelper.AddSummary(listaMovimenti.DisplayLayout.Bands[0], "ImportoAvere", "c");
            }

            listaMovimenti.DisplayLayout.Bands[0].Columns["SelectColumn"].Hidden = true;
            listaMovimenti.PerformAction(UltraGridAction.FirstRowInBand);

            listaMovimenti.DisplayLayout.Bands[0].RowEditTemplate = ultraGridRowEditTemplate1;
            SferaServiceProxy.Instance.Close();
        }
예제 #21
0
        public void Reload()
        {
            // Lista Scadenze
            listaRitenute.InitializeRow += listaRitenute_InitializeRow;
            var filter = new RitenutaFilter
            {
                Detraibile = getDetraibile(),
                MeseRiferimento = (int) meseRiferimento.Value,
                AnnoRiferimento = (int) annoRiferimento.Value
            };

            // Load dati con messaggio di attesa
            var form = new ExecuteLoadDataListAsync<RitenutaAccontoDTO>("E' in corso la ricerca delle ritenute da versare ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<RitenutaAccontoDTO>> loadDati = () => getRitenutaAccontoService().GetByFilter(filter, dataPagamento.DateTime);
            form.LoadData(loadDati);
            form.ShowDialog();
            ritenutaAccontoDtoBindingSource.DataSource = form.DataSourceObject;

            listaRitenute.InitializeRow -= listaRitenute_InitializeRow;

            setVisibleLista(true);
            if (listaRitenute.Rows.Count > 0)
                btnAvanti.Enabled = true;

            form.Dispose();
        }
        private void btnConfermaClick(object sender, EventArgs e)
        {
            try
            {
                validationSummary1.Validate();
                if (validationSummary1.IsValid)
                {
                    var righeCondominio = _condominio.IndirizzoCompleto.Split('&');
                    var righeDaPubblicare = new string[4];
                    righeDaPubblicare[0] = righeCondominio[0];
                    righeDaPubblicare[2] = string.Empty;
                    righeDaPubblicare[3] = string.Empty;
                    for (var i = 1; i < 4; i++)
                    {
                        if (righeCondominio.Length > i)
                        {
                            if (!string.IsNullOrEmpty(righeDaPubblicare[1]))
                                righeDaPubblicare[1] += " - ";
                            righeDaPubblicare[1] += righeCondominio[i];
                        }
                    }

                    // ====================================================================
                    // 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;
                    if (azienda.IndirizzoSede != null)
                    {
                        viaStudio = azienda.IndirizzoSede.Indirizzo + " n. " + azienda.IndirizzoSede.Civico;
                        capStudio = azienda.IndirizzoSede.Cap;
                        localitaStudio = azienda.IndirizzoSede.DescrizioneComune + " " + azienda.IndirizzoSede.CodiceProvincia;

                        // Collasso diverse informazioni nel campo viaStudio
                        viaStudio += " - " + capStudio + " " + localitaStudio;
                    }

                    var descrizioneEsercizio = string.Empty;
                    EsercizioDTO esercizio = null;
                    if (esercizi.SelectedItem != null)
                    {
                        esercizio = (EsercizioDTO)esercizi.SelectedItem.ListObject;
                        descrizioneEsercizio = esercizio.DisplayName;
                    }

                    var reportParameters =
                        new StatoPatrimonialeReportParameters
                            (
                            righeDaPubblicare,
                            _condominio.Codice,
                            descrizioneEsercizio,
                            string.Empty,
                            true,
                            string.Empty,
                            intestazioneStudio,
                            viaStudio,
                            capStudio,
                            localitaStudio,
                            (DateTime?)dataFinale.Value
                            );

                    if (tipoStampa.Value.ToString() == "SP" && esercizi.SelectedItem != null)
                    {
                        try
                        {
                            var dataSourceCassa = getStatoPatrimonialeService().GetSituazioneCassa(_condominio, esercizio, (DateTime?)dataFinale.Value);
                            var resultPatrimoniale = getStatoPatrimonialeService().GetSituazionePatrimoniale((EsercizioDTO)esercizi.SelectedItem.ListObject, (DateTime?)dataFinale.Value);
                            if (string.IsNullOrEmpty(resultPatrimoniale.Message))
                            {
                                var dataSourcePatrimoniale = resultPatrimoniale.SituazionePatrimoniale;
                                if (dataSourceCassa != null && dataSourcePatrimoniale != null)
                                {
                                    var anteprima = new AnteprimaStampa(dataSourceCassa, dataSourcePatrimoniale, reportParameters);
                                    anteprima.ShowDialog();
                                    anteprima.Dispose();
                                }
                            }
                            else
                            {
                                CommonMessages.DisplayWarning($"Errore nell'elaborazione dello stato patrimoniale:{Environment.NewLine}{resultPatrimoniale.Message}");
                            }
                        }
                        catch (Exception ex)
                        {
                            var idEsercizio = "<NULL>";
                            if (esercizio != null)
                                idEsercizio = esercizio.ID.ToString(CultureInfo.InvariantCulture);

                            _log.ErrorFormat("Errore inaspettato durante la stampa dello stato patrimoniale - {0} - tipoStampa: SP - condominio:{1} - esercizio:{2}", ex, Utility.GetMethodDescription(), _condominio.ID, idEsercizio);
                            throw;
                        }
                    }
                    else if (tipoStampa.Value.ToString() == "BS")
                    {
                        try
                        {
                            var dataSource = getStatoPatrimonialeService().GetSaldiConti(_condominio, esercizio, (DateTime?)dataFinale.Value);
                            if (dataSource != null)
                            {
                                var anteprima = new AnteprimaStampaBilancio(dataSource, reportParameters);
                                anteprima.ShowDialog();
                                anteprima.Dispose();
                            }
                        }
                        catch (Exception ex)
                        {
                            var idEsercizio = "<NULL>";
                            if (esercizio != null)
                                idEsercizio = esercizio.ID.ToString(CultureInfo.InvariantCulture);

                            _log.ErrorFormat("Errore inaspettato durante la stampa dello stato patrimoniale - {0} - tipoStampa: BS - esercizio:{1}", ex, Utility.GetMethodDescription(), idEsercizio);
                            throw;
                        }
                    }
                    else if (tipoStampa.Value.ToString() == "PT")
                    {
                        try
                        {
                            if (string.IsNullOrEmpty(reportParameters.DescrizioneEsercizio))
                                reportParameters.DescrizioneEsercizio = dataIniziale.DateTime.ToShortDateString() + " - " + dataFinale.DateTime.ToShortDateString();

                            EsercizioDTO esercizioDTO = null;
                            if (esercizi.SelectedItem != null)
                                esercizioDTO = esercizi.SelectedItem.ListObject as EsercizioDTO;

                            var contiSelezionati = new List<ContoDTO>();
                            var righeContiSelezionati = DataGridHelper.GetSelectedRows(conti, true);
                            var sottoContiSelezionati = new List<string>();

                            try
                            {
                                foreach (var ultraGridRow in righeContiSelezionati)
                                {
                                    try
                                    {
                                        var conto = ultraGridRow.ListObject as ContoDTO;
                                        if (conto != null)
                                        {
                                            contiSelezionati.Add(conto);
                                            if (ultraGridRow.ChildBands != null && ultraGridRow.ChildBands.Count > 0)
                                            {
                                                foreach (var row in ultraGridRow.ChildBands[0].Rows)
                                                {
                                                    if (row.Cells.Exists("SelectColumn") && row.Cells["SelectColumn"].Value.ToString().ToLower() == "true")
                                                    {
                                                        if (row.Cells["Codice"].Value != null)
                                                            sottoContiSelezionati.Add(row.Cells["Codice"].Value.ToString());
                                                        else
                                                            _log.ErrorFormat("Codice sottoconto null - {0} - conto:{1} - sottoconto:{2}", Utility.GetMethodDescription(), conto.ID, row.Cells["ID"].Value);
                                                    }
                                                }
                                            }
                                        }
                                    }
                                    catch (Exception ex)
                                    {
                                        _log.ErrorFormat("Errore nella selezione dei sottoconti - SINGOLO CONTO - {0} - rowindex:{1} - condominio:{2} - azienda:{3}", ex, Utility.GetMethodDescription(), ultraGridRow.Index, _condominio.ID, Login.Instance.CurrentLogin().Azienda);                                
                                        throw;
                                    }
                                }
                            }
                            catch (Exception ex)
                            {
                                _log.ErrorFormat("Errore nella selezione dei sottoconti - {0} - condominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), _condominio.ID, Login.Instance.CurrentLogin().Azienda);                                
                            }

                            var form = new ExecuteLoadDataListAsync<MovimentoContabileBilancioDTO>("Il partitario è in corso di caricamento ....." + Environment.NewLine + "Si prega di attendere.");
                            Func<List<MovimentoContabileBilancioDTO>> loadDati = () => getStatoPatrimonialeService().GetDettaglioPartitario(esercizioDTO, contiSelezionati, sottoContiSelezionati, (DateTime?)dataIniziale.Value, (DateTime?)dataFinale.Value);
                            form.LoadData(loadDati);
                            form.ShowDialog();
                            var dataSource = form.DataSourceObject;
                            form.Dispose();

                            if (dataSource != null)
                            {
                                var anteprima = new AnteprimaStampaPartitario(dataSource, reportParameters);
                                anteprima.ShowDialog();
                                anteprima.Dispose();
                            }
                        }
                        catch (Exception ex)
                        {
                            var idEsercizio = "<NULL>";
                            if (esercizio != null)
                                idEsercizio = esercizio.ID.ToString(CultureInfo.InvariantCulture);

                            _log.ErrorFormat("Errore inaspettato durante la stampa dello stato patrimoniale - {0} - tipoStampa: PT - condominio:{1} - esercizio:{2}", ex, Utility.GetMethodDescription(), _condominio.ID, idEsercizio);
                            throw;
                        }
                    }
                    else if (tipoStampa.Value.ToString() == "RC")
                    {
                        try
                        {
                            var dataInizialeParam = dataIniziale.Value as DateTime?;
                            var dataFinaleParam = dataFinale.Value as DateTime?;
                            if (dataInizialeParam == null && esercizio != null)
                                dataInizialeParam = esercizio.DataApertura.GetValueOrDefault();
                            if (dataFinaleParam == null && esercizio != null)
                                dataFinaleParam = esercizio.DataChiusura.GetValueOrDefault();

                            if (dataInizialeParam == null || dataFinaleParam == null)
                            {
                                CommonMessages.DisplayWarning("Occorre scegliere un esercizio o un intervallo di date");
                                return;
                            }

                            var form = new ExecuteLoadDataObjectAsync<ResultMessagesOfArrayOfMovimentoLiquiditaDTOn0Zc5SOa>("Il registro di contabilità è in corso di caricamento ....." + Environment.NewLine + "Si prega di attendere.");
                            Func<ResultMessagesOfArrayOfMovimentoLiquiditaDTOn0Zc5SOa> loadDati = () => getStatoPatrimonialeService().GetRegistroContabilita(_condominio, dataInizialeParam.GetValueOrDefault(), dataFinaleParam.GetValueOrDefault());
                            form.LoadData(loadDati);
                            form.ShowDialog();
                            var result = form.DataSourceObject;
                            form.Dispose();

                            if (!string.IsNullOrEmpty(result.FatalMessage))
                            {
                                CommonMessages.DisplayWarning($"Si sono verificati i seguenti errori:{Environment.NewLine}{result.FatalMessage}");
                                return;
                            }
                            if (!string.IsNullOrEmpty(result.WarnMessage))
                                CommonMessages.DisplayWarning($"ATTENZIONE sono stati segnalati i seguenti avvertimenti:{Environment.NewLine}{result.WarnMessage}");

                            var dataSource = result.Result;
                            if (dataSource != null)
                            {
                                if (esercizio == null)
                                    esercizio = getEsercizioService().GetEsercizioCompetenza(sceltaCondominioCombo1.CondominioSelected, DateTime.Today);

                                if (_impostazioneReportDTO == null)
                                {
                                    if(esercizio.ID == 0)
                                        return;
                                    setImpostazioneReport(esercizio);
                                    impostazioneReportDTOBindingSource.DataSource = _impostazioneReportDTO;
                                    if (_impostazioneReportDTO == null)
                                        return;
                                }

                                var anteprima = new AnteprimaReportRegistroContabilita(dataSource, sceltaCondominioCombo1.CondominioSelected, getEsercizioReport(), dataInizialeParam.GetValueOrDefault(), dataFinaleParam.GetValueOrDefault(), _impostazioneReportDTO, getReportKey());
                                anteprima.ShowDialog();
                                anteprima.Dispose();
                            }
                        }
                        catch (Exception ex)
                        {
                            var idEsercizio = "<NULL>";
                            if (esercizio != null)
                                idEsercizio = esercizio.ID.ToString(CultureInfo.InvariantCulture);

                            _log.ErrorFormat("Errore inaspettato durante la stampa del registro di contabilità - {0} - tipoStampa: RC - esercizio:{1}", ex, Utility.GetMethodDescription(), idEsercizio);
                            throw;
                        }
                    }
                    else if (tipoStampa.Value.ToString() == "RE")
                    {
                        try
                        {
                            var dataInizialeParam = dataIniziale.Value as DateTime?;
                            var dataFinaleParam = dataFinale.Value as DateTime?;
                            if (dataInizialeParam == null && esercizio != null)
                                dataInizialeParam = esercizio.DataApertura.GetValueOrDefault();
                            if (dataFinaleParam == null && esercizio != null)
                                dataFinaleParam = esercizio.DataChiusura.GetValueOrDefault();

                            if (dataInizialeParam == null || dataFinaleParam == null)
                            {
                                CommonMessages.DisplayWarning("Occorre scegliere un esercizio o un intervallo di date");
                                return;
                            }

                            var form = new ExecuteLoadDataObjectAsync<ResultMessagesOfArrayOfReportRiepilogoContoEconomicoDTOn0Zc5SOa>("Il riepilogo economico è in corso di caricamento ....." + Environment.NewLine + "Si prega di attendere.");
                            Func<ResultMessagesOfArrayOfReportRiepilogoContoEconomicoDTOn0Zc5SOa> loadDati = () => getStatoPatrimonialeService().GetRiepilogoContoEconomico(esercizio, dataInizialeParam.GetValueOrDefault(), dataFinaleParam.GetValueOrDefault());
                            form.LoadData(loadDati);
                            form.ShowDialog();
                            var result = form.DataSourceObject;
                            form.Dispose();

                            if (!string.IsNullOrEmpty(result.FatalMessage))
                            {
                                CommonMessages.DisplayWarning($"Si sono verificati i seguenti errori:{Environment.NewLine}{result.FatalMessage}");
                                return;
                            }
                            if (!string.IsNullOrEmpty(result.WarnMessage))
                                CommonMessages.DisplayWarning($"ATTENZIONE sono stati segnalati i seguenti avvertimenti:{Environment.NewLine}{result.WarnMessage}");

                            var dataSource = result.Result;
                            if (dataSource != null)
                            {
                                if (esercizio == null)
                                    esercizio = getEsercizioService().GetEsercizioCompetenza(sceltaCondominioCombo1.CondominioSelected, DateTime.Today);

                                if (_impostazioneReportDTO == null)
                                {
                                    if (esercizio.ID == 0)
                                        return;
                                    setImpostazioneReport(esercizio);
                                    impostazioneReportDTOBindingSource.DataSource = _impostazioneReportDTO;
                                    if (_impostazioneReportDTO == null)
                                        return;
                                }

                                var anteprima = new AnteprimaReportRiepilogoContoEconomico(dataSource, sceltaCondominioCombo1.CondominioSelected, getEsercizioReport(), dataInizialeParam.GetValueOrDefault(), dataFinaleParam.GetValueOrDefault(), _impostazioneReportDTO, getReportKey());
                                anteprima.ShowDialog();
                                anteprima.Dispose();
                            }
                        }
                        catch (Exception ex)
                        {
                            var idEsercizio = "<NULL>";
                            if (esercizio != null)
                                idEsercizio = esercizio.ID.ToString(CultureInfo.InvariantCulture);

                            _log.ErrorFormat("Errore inaspettato durante la stampa del registro di contabilità - {0} - tipoStampa: RC - esercizio:{1}", ex, Utility.GetMethodDescription(), idEsercizio);
                            throw;
                        }
                    }
                }
                else
                    validationSummary1.ShowErrorSummary();
            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato durante la stampa dello stato patrimoniale - {0} - condominio:{1} - azienda:{2}", ex, Utility.GetMethodDescription(), _condominio.ID, Login.Instance.CurrentLogin().Azienda);
            }
        }
예제 #23
0
        private void btnConfermaClick(object sender, EventArgs e)
        {
            try
            {
                if (parametriStampaSollecitiUC1 != null && parametriStampaSollecitiUC1.ValidateData())
                {
                    var modello = getModelloLetteraService().GetModelloLetteraById(parametriStampaSollecitiUC1.IdModelloLettera);

                    if (!string.IsNullOrEmpty(modello.Testo))
                    {
                        var condomini = _riepilogoRataVersateUC1.GetSelectedRows();
                        var idCondomini = new List<int>(condomini.Count);
                        var indirizziCondomini = new Dictionary<int, TipoIndirizzo>(condomini.Count);
                        var groupByPersone = _riepilogoRataVersateUC1.GetRaggruppamentoSoggetto() == "P";
                        
                        foreach (var soggetto in condomini)
                        {
                            if (groupByPersone)
                            {
                                if (!idCondomini.Contains(soggetto.IdPersona))
                                {
                                    idCondomini.Add(soggetto.IdPersona);
                                    indirizziCondomini.Add(soggetto.IdPersona, soggetto.Indirizzo.RecapitoResidenza);
                                }
                            }
                            else
                            {
                                if (!idCondomini.Contains(soggetto.IdSoggettoCondominio))
                                {
                                    idCondomini.Add(soggetto.IdSoggettoCondominio);
                                    indirizziCondomini.Add(soggetto.IdSoggettoCondominio, soggetto.Indirizzo.RecapitoResidenza);
                                }
                            }
                        }

                        EsercizioDTO esercizio = null;
                        int? idEsercizio = null;
                        if(_riepilogoRataVersateUC1.GetEsercizio() != null)
                        {
                            esercizio = _riepilogoRataVersateUC1.GetEsercizio();
                            idEsercizio = esercizio.ID;
                        }

                        var form = new ExecuteLoadDataListAsync<TestataSollecitoDTO>("E' in corso la stampa dei solleciti ....." + Environment.NewLine + "Si prega di attendere.");
                        Func<List<TestataSollecitoDTO>> loadDati = () => getSollecitoService().GetSollecitiByEsercizioSoggetti(idEsercizio, indirizziCondomini, groupByPersone, parametriStampaSollecitiUC1.DataFineRate, parametriStampaSollecitiUC1.DataVersamenti, _riepilogoRataVersateUC1.ImportoLimite, parametriStampaSollecitiUC1.ImportoCompetenze, parametriStampaSollecitiUC1.DataLettera, parametriStampaSollecitiUC1.StampaProprietario, parametriStampaSollecitiUC1.IdBanca, parametriStampaSollecitiUC1.IdModelloLettera, parametriStampaSollecitiUC1.GetTestoModelloLettera(), parametriStampaSollecitiUC1.DataRegistrazioneContabile, parametriStampaSollecitiUC1.IdContoEconomico, parametriStampaSollecitiUC1.IdSottoContoEconomico, parametriStampaSollecitiUC1.Storico, _riepilogoRataVersateUC1.GetSollecitaProprietarioConduzione());
                        form.LoadData(loadDati);
                        form.ShowDialog();
                        var datiSolleciti = form.DataSourceObject;
                        form.Dispose();

                        // ==========================================================================
                        // Per ogni condomino escludo le righe con esercizio non selezionato - bugid#7825
                        // ==========================================================================
                        foreach (var testataSollecitoDTO in datiSolleciti)
                        {
                            var dettaglioDatiSolleciti = testataSollecitoDTO.Dettagli.Where(dettaglioSollecitoDTO => isItemSelected(testataSollecitoDTO, dettaglioSollecitoDTO, condomini)).ToList();
                            testataSollecitoDTO.Dettagli = dettaglioDatiSolleciti;
                            testataSollecitoDTO.ImportoTotaleDaVersare = testataSollecitoDTO.Dettagli.Sum(item => item.ImportoDaVersare);
                        }
                        // ==========================================================================

                        if (parametriStampaSollecitiUC1.LetteraDettagliata)
                        {
                            var datiRate = groupByPersone ? getRateService().GetByEsercizioPersone(esercizio, idCondomini, parametriStampaSollecitiUC1.DataFineRate, _riepilogoRataVersateUC1.GetSollecitaProprietarioConduzione()) : getRateService().GetByEsercizioSoggetti(esercizio, idCondomini, parametriStampaSollecitiUC1.DataFineRate, _riepilogoRataVersateUC1.GetSollecitaProprietarioConduzione());
                            var datiVersamenti = groupByPersone ? getVersamentiService().GetByEsercizioPersone(esercizio, idCondomini, _riepilogoRataVersateUC1.GetSollecitaProprietarioConduzione()) : getVersamentiService().GetByEsercizioSoggetti(esercizio, idCondomini, _riepilogoRataVersateUC1.GetSollecitaProprietarioConduzione());
                            
                            foreach (var testataSollecitoDTO in datiSolleciti)
                            {
                                if(groupByPersone)
                                {
                                    var totaleRate = datiRate.Where(item => item.IdPersona == testataSollecitoDTO.Id).Sum(item => item.Importo.GetValueOrDefault());
                                    var totaleVersamenti = datiVersamenti.Where(item => item.IdPersona == testataSollecitoDTO.Id).Sum(item => item.Importo);
                                    testataSollecitoDTO.ImportoTotaleDaVersare = totaleRate - totaleVersamenti;
                                }
                                else
                                {
                                    var totaleRate = datiRate.Where(item => item.IdSoggettoCondominio == testataSollecitoDTO.Id).Sum(item => item.Importo.GetValueOrDefault());
                                    var totaleVersamenti = datiVersamenti.Where(item => item.IdSoggetto == testataSollecitoDTO.Id).Sum(item => item.Importo);
                                    testataSollecitoDTO.ImportoTotaleDaVersare = totaleRate - totaleVersamenti;
                                }
                            }

                            StampaSolleciti.Stampa(_riepilogoRataVersateUC1.GetCondominio(), datiSolleciti, datiRate, datiVersamenti, condomini, modello.Oggetto, parametriStampaSollecitiUC1.OrdineInterno, parametriStampaSollecitiUC1.DataLettera, parametriStampaSollecitiUC1.DataFineRate, parametriStampaSollecitiUC1.StampaProprietario, groupByPersone, getAziendaService());
                        }
                        else
                            StampaSolleciti.Stampa(_riepilogoRataVersateUC1.GetCondominio(), datiSolleciti, condomini, modello.Oggetto, parametriStampaSollecitiUC1.OrdineInterno, parametriStampaSollecitiUC1.DataLettera, parametriStampaSollecitiUC1.DataFineRate, parametriStampaSollecitiUC1.StampaProprietario, groupByPersone, getAziendaService());

                        reset();
                        //if(ParentForm != null)
                        //    ParentForm.Close();
                    }
                }
            }
            catch (Exception ex)
            {
                var modelloLettera = string.Empty;
                if (parametriStampaSollecitiUC1 != null)
                    modelloLettera = parametriStampaSollecitiUC1.IdModelloLettera.ToString(CultureInfo.InvariantCulture);

                
                _log.Error("Errore durante la conferma del sollecito - " + Gipasoft.Library.Utility.GetMethodDescription() + " - modello lettera:" + modelloLettera + " - azienda:" + Security.Login.Instance.CurrentLogin().Azienda, ex);
            }
        }
예제 #24
0
        private void load()
        {
            try
            {
                var filter = new PersonaComunicazioneFilter();
                if (sceltaCondominioCombo1.CondominioSelected != null)
                    filter.IdCondominio = sceltaCondominioCombo1.CondominioSelected.ID;
                filter.IdStabile = (int?)stabili.Value;
                filter.IdGruppo = (int?)gruppi.Value;
                if (consiglieri.CheckState != CheckState.Indeterminate)
                    filter.Consigliere = (bool?)consiglieri.CheckedValue;
                if (residenteSearch.CheckState != CheckState.Indeterminate)
                    filter.IsResidente = (bool?)residenteSearch.CheckedValue;

                var form = new ExecuteLoadDataListAsync<PersonaComunicazioneDTO>("E' in corso la ricerca dei condomini ....." + Environment.NewLine + "Si prega di attendere.");
                Func<List<PersonaComunicazioneDTO>> loadDati = () => getComunicazioniService().GetPersoneByFilter(_esercizio, filter, dataIntestazione.DateTime);
                form.LoadData(loadDati);
                form.ShowDialog();
                personaComunicazioneDTOBindingSource.DataSource = form.DataSourceObject;
                form.Dispose();

                DataSourceHelper.CheckUnchekColumns(listaPersone, "SelectColumn", CheckState.Checked);

                setRowLayout();

                if (listaPersone.DisplayLayout.Bands[0].Summaries.Count == 0)
                    DataGridHelper.AddSummary(listaPersone.DisplayLayout.Bands[0], "ImportoRaccomandata", "c");

                // Imposto le note
                if (notaPredefinitaDTOBindingSource.Count > 0)
                    notePredefinite.SelectedIndex = 0;
            }
            catch (Exception ex)
            {
                if (ParentForm != null)
                    ParentForm.Close();

                var idCondominio = 0;
                if (_condominio != null)
                    idCondominio = _condominio.ID;
                
                
                _log.Error("Errore durante il caricamento dei condomini per lettere - " + Utility.GetMethodDescription() + " - idCondominio:" + idCondominio, ex);
            }
        }
예제 #25
0
        public void LoadData(MovimentoBancarioFilter filter)
        {
            var form = new ExecuteLoadDataListAsync<MovimentiBancariDTO>("E' in corso la ricerca dei movimenti bancari ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<MovimentiBancariDTO>> loadDati = () => getMovimentoBancarioService().GetByFilter(filter);
            form.LoadData(loadDati);
            form.ShowDialog();
            loadData(form.DataSourceObject);
            form.Dispose();

            panelButton.Visible = filtroGroup.Visible;

            SferaServiceProxy.Instance.Close();
        }
예제 #26
0
        private void contextMenuStrip1ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            try
            {
                contextMenuStrip1.Close(ToolStripDropDownCloseReason.ItemClicked);
                if (e.ClickedItem.Name == "allegatiToolStripMenuItem")
                {
                    if (_messaggioClick != null && _messaggioClick.ID > 0)
                    {
                        apriAllegati(_messaggioClick);
                    }
                }
                else if (e.ClickedItem.Name == "controllaRapportinoToolStripMenuItem")
                {
                    var form = new ExecuteLoadDataObjectAsync<string>("Il controllo del rapportino è in corso di esecuzione ....." + Environment.NewLine + "Si prega di attendere.");
                    Func<string> loadDati = () => getMessaggioService().ControllaRapportinoSingolo(_messaggioClick);
                    form.LoadData(loadDati);
                    form.ShowDialog();

                    if(string.IsNullOrEmpty(form.DataSourceObject))
                        CommonMessages.DisplayComplete("Il controllo del rapportino è terminato correttamente");
                    else
                        CommonMessages.DisplayWarning(form.DataSourceObject);

                    form.Dispose();
                }
                else if (e.ClickedItem.Name == "riprovaInvioToolStripMenuItem")
                {
                    var messageRetry = getMessaggioService().RetryInvioMessaggio(_messaggioClick.ID);
                    if(string.IsNullOrEmpty(messageRetry))
                        CommonMessages.DisplayComplete("Il messaggio è stato messo in coda d'invio");
                    else
                        CommonMessages.DisplayWarning(string.Format("Si sono verificati dei problemi nel tentativo di reinviare il messaggio:{0}{1}", Environment.NewLine, messageRetry));
                }
                else if (e.ClickedItem.Name == "infoMessaggioToolStripMenuItem")
                {
                    var form = new ExecuteLoadDataListAsync<InfoSpedizioneMessaggioDTO>("E' in corso la ricerca dei documenti ....." + Environment.NewLine + "Si prega di attendere.");
                    Func<List<InfoSpedizioneMessaggioDTO>> loadDati = () => getMessaggioService().GetInfoMessaggio(new List<StoricoMessaggioDTO> { _messaggioClick }, _messaggioClick.Tipo);
                    form.LoadData(loadDati);
                    form.ShowDialog();
                    var infoList = form.DataSourceObject;
                    var info = infoList.FirstOrDefault(item => item.Id == _messaggioClick.ID);
                    if (info != null)
                    {
                        var formInfo = new InfoMessaggioUI(info);
                        formInfo.ShowDialog();
                        formInfo.Dispose();
                    }
                    else
                        CommonMessages.DisplayComplete("Non sono disponibili informazioni");
                    form.Dispose();
                }

                contextMenuStrip1.Close(ToolStripDropDownCloseReason.ItemClicked);

            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nel click col bottone DX del mouse - {0} - key:{1}", ex, Utility.GetMethodDescription(), e.ClickedItem.Name);
                throw;
            }
        }
예제 #27
0
        private void cerca()
        {
            try
            {
                var filter = new VersamentoFilter();

                if (sceltaCondominioCombo1.CondominioSelected != null)
                    filter.CodiceCondominio = sceltaCondominioCombo1.CondominioSelected.ID;
                if (esercizi.Value != null)
                    filter.CodiceEsercizio = (int)esercizi.Value;
                if (rate.Value != null)
                    filter.CodiceRata = (int)rate.Value;
                if (condomini.Value != null)
                    filter.CodicePersona = (int)condomini.Value;
                if (_fileCBI != null)
                    filter.IdFileCBI = _fileCBI;

                var form = new ExecuteLoadDataListAsync<VersamentoSoggettoDTO>("E' in corso la ricerca dei versamenti ....." + Environment.NewLine + "Si prega di attendere.");
                Func<List<VersamentoSoggettoDTO>> loadDati = () => getVersamentiCondominiService().GetByFilter(filter);
                form.LoadData(loadDati);
                form.ShowDialog();
                versamentoDTOBindingSource.DataSource = form.DataSourceObject;
                form.Dispose();

                listaVersamenti.Visible = true;
                panelButtons.Visible = true;

                if (listaVersamenti.DisplayLayout != null && listaVersamenti.DisplayLayout.Bands.Count > 0)
                {
                    if (listaVersamenti.DisplayLayout.Bands[0].Summaries.Count == 0)
                        DataGridHelper.AddSummary(listaVersamenti.DisplayLayout.Bands[0], "Importo", "c");

                    if (listaVersamenti.DisplayLayout.Bands.Count > 1 && listaVersamenti.DisplayLayout.Bands[1].Summaries.Count == 0)
                    {
                        DataGridHelper.AddSummary(listaVersamenti.DisplayLayout.Bands[1], "ImportoRata", "c");
                        DataGridHelper.AddSummary(listaVersamenti.DisplayLayout.Bands[1], "ImportoVersamento", "c");
                    }
                }

                listaVersamenti.AfterRowUpdate -= listaVersamentiAfterRowUpdate;
                listaVersamenti.UpdateData();
                listaVersamenti.PerformAction(UltraGridAction.ExitEditMode);
                listaVersamenti.AfterRowUpdate += listaVersamentiAfterRowUpdate;

            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore nella ricerca dei versamenti - {0} - esercizio:{1} - condominio:{2}", ex, Utility.GetMethodDescription(), esercizi.Value, sceltaCondominioCombo1.IdCondominioSelected);
                throw;
            }
        }
예제 #28
0
        private void btnConfermaClick(object sender, EventArgs e)
        {
            int? codiceCondominio = null;
            if(sceltaCondominioCombo1.CondominioSelected != null)
                codiceCondominio = sceltaCondominioCombo1.CondominioSelected.ID;

            int? idEsercizio = null;
            if (esercizi.Value != null)
                idEsercizio = (int?)esercizi.Value;

            int? codiceFornitore = null;
            if(sceltaFornitoreCombo1.SelectedFornitore != null)
                codiceFornitore = sceltaFornitoreCombo1.SelectedFornitore.ID;

            TipoDocumentoArchiviazione? tipoDoc;
            switch (tipo.Value as string)
            {
                case "FP":
                    tipoDoc = TipoDocumentoArchiviazione.FatturaPassiva;
                    break;
                case "CO":
                    tipoDoc = TipoDocumentoArchiviazione.Contratto;
                    break;
                default:
                    tipoDoc = null;
                    break;
            }

            var filter = new DocumentoFilter
            {
                CodiceCondominio = codiceCondominio,
                CodiceEsercizio = idEsercizio,
                CodiceFornitore = codiceFornitore,
                CodiceFascicoloImmobiliare = (int?)fascicoloImmobiliare.Value,
                DataFatturaIniziale = (DateTime?)dataFatturaIniziale.Value,
                DataFatturaFinale = (DateTime?)dataFatturaFinale.Value,
                NumeroFattura = numeroFattura.Text,
                Detrazione = Convert.ToInt32((double?)detrazione.Value),
                ImportoMinimo = importoIniziale.Value,
                ImportoMassimo = importoFinale.Value,
                Tipo = tipoDoc,
                FreeText = testo.Text
            };

            if (filter.DataFatturaFinale == null && filter.DataFatturaIniziale != null)
                filter.DataFatturaFinale = filter.DataFatturaIniziale;

            var form = new ExecuteLoadDataListAsync<DocumentoDTO>("E' in corso la ricerca dei documenti ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<DocumentoDTO>> loadDati = () => getDocumentoService().GetByFilter(filter);
            form.LoadData(loadDati);
            form.ShowDialog();
            listaDocumentiUC1.LoadData(form.DataSourceObject);
            form.Dispose();
        }
예제 #29
0
        private IList<ReportRataSoggettoDTO> getRate()
        {
            var form = new ExecuteLoadDataListAsync<ReportRataSoggettoDTO>("E' in corso la lettura delle rate ....." + Environment.NewLine + "Si prega di attendere.");
            Func<List<ReportRataSoggettoDTO>> loadDati = () => getRateCondominiService().GetReportByEsercizio(_esercizio.ID, (int?)lotti.Value, (int?)stabili.Value, (int?)scale.Value, _saldiSoggetti, getTipoAccorpamento());
            form.LoadData(loadDati);
            form.ShowDialog();
            IList<ReportRataSoggettoDTO> result = form.DataSourceObject;
            form.Dispose();

            return result;
        }
예제 #30
0
        public void LoadData(CondominioDTO condominio, EsercizioDTO esercizio, TipoListaRate tipoLista, bool isAllowEmpty, bool rateAcconto, TipoAccorpamentoRateEnum tipo)
        {
            try
            {
                Clear();

                _condominio = condominio;
                _esercizio = esercizio;
                _tipo = tipo;
                _rateAcconto = rateAcconto;

                if (condominio != null && esercizio != null && listaRateSoggetti != null)
                {
                    loadConti();
                    _pianoRateale = getRateCondominiService().GetPianoRatealeByEsercizio(_esercizio.ID, false);
                    if (_pianoRateale != null &&  _pianoRateale.ID > 0)
                        _tipo = _pianoRateale.Tipo;

                    var form = new ExecuteLoadDataListAsync<RataSoggettoDTO>("Le rate sono in corso di caricamento ....." + Environment.NewLine + "Si prega di attendere.");
                    Func<List<RataSoggettoDTO>> loadDati = () => getRateCondominiService().GetByEsercizio(esercizio.ID);
                    form.LoadData(loadDati);
                    form.ShowDialog();

                    if (form.DataSourceObject == null)
                    {
                        ParentForm?.Close();
                        return;
                    }

                    _rateSoggetti = form.DataSourceObject;
                    form.Dispose();

                    var formSaldi = new ExecuteLoadDataObjectAsync<ResultSaldiCondomini>("I saldi dei condomini sono in corso di caricamento ....." + Environment.NewLine + "Si prega di attendere.");
                    Func<ResultSaldiCondomini> loadSaldi = () => getRateCondominiService().GetSaldiSoggetti(esercizio.ID, null, null, _tipo);
                    formSaldi.LoadData(loadSaldi);
                    formSaldi.ShowDialog();

                    if ((string.IsNullOrEmpty(formSaldi.DataSourceObject.Message) && formSaldi.DataSourceObject.Saldi != null) ||  !_isCreazione)
                    {

                        _saldiSoggetti = formSaldi.DataSourceObject.Saldi;
                        formSaldi.Dispose();
                        if (_rateSoggetti.Count > 0 || isAllowEmpty)
                        {
                            btnStampa.Visible = true;
                            btnConferma.Visible = true;
                            chkDataEmissione.Visible = true;
                            sceltaTipoLista.Visible = true;
                            listaRateSoggetti.Visible = true;

                            if (_isCreazione)
                            {
                                btnStampa.Visible = false;
                                nuovaDataPanel.Visible = false;
                            }
                            else
                            {
                                btnStampa.Visible = true;
                                nuovaDataPanel.Visible = true;
                            }

                            // Se è ancora a null carico la lista dei soggetti relativi all'esercizio.
                            if (_soggetti == null)
                                _soggetti = getRateCondominiService().GetPartecipanti(esercizio.ID, _tipo);

                            if (tipoLista == TipoListaRate.Pivot)
                            {
                                try
                                {
                                    var resultMessage = getRateCondominiService().ConvertRateSoggettiToPivot(_rateSoggetti, _saldiSoggetti, null, _allowInvertiSegno, _pianoRateale, _isCreazione);
                                    if (resultMessage.DataTable == null)
                                    {
                                        CommonMessages.DisplayWarning(string.Format("Si sono verificati i seguenti errori:{1}{0}{1}Si prega di riprovare", resultMessage.FatalMessage, Environment.NewLine));
                                        ParentForm?.Close();
                                        return;
                                    }
 
                                    listaRateSoggetti.DataSource = resultMessage.DataTable;
                                    setGridLayout(tipoLista);
                                    setRowsLayout();
                                }
                                catch (Exception ex)
                                {
                                    _log.ErrorFormat("Errore inaspettato durante il caricamento delle rate - DATA SOURCE - {0} - condominio:{1} - esercizio:{2}", ex, Utility.GetMethodDescription(), _condominio.ID, _esercizio.ID);
                                }
                            }
                            else if (tipoLista == TipoListaRate.Editabile)
                            {
                                listaRateSoggetti.DataSource = _rateSoggetti;

                                listaRateSoggetti.DisplayLayout.ValueLists.Clear();
                                listaRateSoggetti.DisplayLayout.ValueLists.Add(DataSourceHelper.GetValueList(_soggetti, "ID", "DisplayNominativo", "SoggettiCondominio"));
                                listaRateSoggetti.DisplayLayout.Bands[0].Columns["IdSoggettoCondominio"].ValueList = listaRateSoggetti.DisplayLayout.ValueLists["SoggettiCondominio"];
                                setGridLayout(tipoLista);
                            }

                            listaRateSoggetti.DisplayLayout.Bands[0].Summaries.Clear();
                            foreach (var column in listaRateSoggetti.DisplayLayout.Bands[0].Columns)
                            {
                                if (column.DataType == typeof (decimal))
                                    DataGridHelper.AddSummary(listaRateSoggetti.DisplayLayout.Bands[0], column.Key, "c");
                            }
                        }
                        else
                        {
                            listaRateSoggetti.DataSource = new List<RataSoggettoDTO>();
                            CommonMessages.DisplayWarning("Non sono presenti rate.");
                            var parentForm = _parentForm as MainContabilita;
                            if (parentForm != null)
                                parentForm.ToClose = true;
                            else if (ParentForm != null)
                                ((MainContabilita) ParentForm).ToClose = true;
                        }

                        listaRateSoggetti.PerformAction(UltraGridAction.FirstRowInBand);

                        loadPianoRateale();
                    }
                    else
                    {
                        CommonMessages.DisplayWarning($"Si sono verificati degli errori nel caricamento dei saldi:{Environment.NewLine}{formSaldi.DataSourceObject.Message}");
                        formSaldi.Dispose();
                    }
                }

            }
            catch (Exception ex)
            {
                _log.ErrorFormat("Errore inaspettato durante il caricamento dei dati del piano rateale - 1 - {0} - condominio:{1} - esercizio:{2}", ex, Utility.GetMethodDescription(), _condominio.ID, _esercizio.ID);
                throw;
            }
        }