private void gridControl1_DoubleClick(object sender, EventArgs e)
        {
            _Dato = this.gridView1.GetFocusedRow() as DatiVersamentiAltriEnti;
            if (_Dato != null)
            {
                this.textEditStruttura.Text    = _Struttura.Descrizione;
                this.textEditSoggetto.Text     = _Struttura.SoggettoEconomico.RagioneSociale;
                this.textEditDestinatario.Text = _Dato.SoggettoEconomico.RagioneSociale;
                this.dateEditInizio.DateTime   = _Dato.DataInizio;
                this.dateEditFine.DateTime     = _Dato.DataFine;
                this.spinEditImporto.Value     = _Dato.Importo;

                layoutControlGroup2.HideToCustomization();
                tabbedControlGroup1.HideToCustomization();
                layoutControlGroup3.RestoreFromCustomization();
            }
        }
        private void Calcola()
        {
            _Elenco = new List <DatiVersamentiAltriEnti>();

            XPCollection <SoggettoEconomico> soggetti = new XPCollection <SoggettoEconomico>(this.unitOfWork1);

            foreach (SoggettoEconomico soggettoEconomico in soggetti)
            {
                if (soggettoEconomico == _Struttura.SoggettoEconomico)
                {
                    continue;
                }

                XPCollection <Versamento> precedenti = new XPCollection <Versamento>(this.unitOfWork1,
                                                                                     new GroupOperator(GroupOperatorType.And, new CriteriaOperator[] {
                    new BinaryOperator("Tipologia", EnumTipologiaVersamento.Versamento_AdAltriEnti),
                    new BinaryOperator("Struttura", _Struttura),
                    new BinaryOperator("SoggettoEconomico", soggettoEconomico)
                }));
                precedenti.Sorting            = new SortingCollection(new SortProperty[] { new SortProperty("FinePeriodo", DevExpress.Xpo.DB.SortingDirection.Descending) });
                precedenti.TopReturnedObjects = 1;

                DatiVersamentiAltriEnti dato = new DatiVersamentiAltriEnti();
                dato.SoggettoEconomico = soggettoEconomico;
                dato.Soggetto          = soggettoEconomico.RagioneSociale;

                dato.DataFine = this.dateEditDataFinePeriodo.DateTime.Date;
                if (precedenti.Count > 0)
                {
                    dato.DataInizio = precedenti[0].FinePeriodo.AddDays(1);
                }
                else
                {
                    dato.DataInizio = new DateTime(2011, 6, 1);
                }

                dato.Importo = ImportoVendite(_Struttura, dato.DataInizio, dato.DataFine, soggettoEconomico);

                _Elenco.Add(dato);
            }

            this.gridControl1.DataSource = _Elenco;
            this.gridView1.BestFitColumns();
        }