public override IList<TableColumn> GetColumnList(XtraReport report, string reportKey, IReportParameters reportParameters, int? page, bool stampaMillesimi = false)
        {
            var columns = new List<TableColumn>();

            // ------------------
            // Numero Riga
            // ------------------
            var width = 30f;
            var hidden = false;
            var nome = "Num.";

            var fontName = string.Empty;
            var fontStyle = string.Empty;
            float fontSize = 0;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            var impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.NumeroRiga);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.NumeroRiga, fontName, fontStyle, fontSize, hidden, false, true));

            // ------------------
            // Data
            // ------------------
            hidden = false;
            width = 80f;
            nome = "Data";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Data);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Data, fontName, fontStyle, fontSize, hidden, false, true));

            // ------------------
            // Descrizione
            // ------------------
            hidden = false;
            width = 250f;
            nome = "Descrizione";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Descrizione);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Descrizione, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Tipo Documento
            // ------------------
            var groupName = "Documento";
            hidden = false;
            width = 80f;
            nome = "Tipo";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.TipoDocumento);
            if (impostazioneDettaglio != null)
            {
                groupName = impostazioneDettaglio.GroupName;
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.TipoDocumento, fontName, fontStyle, fontSize, hidden, false, groupName, true));

            // ------------------
            // Numero Documento
            // ------------------
            groupName = "Documento";
            hidden = false;
            width = 80f;
            nome = "Numero Fattura";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.NumeroDocumento);
            if (impostazioneDettaglio != null)
            {
                groupName = impostazioneDettaglio.GroupName;
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.NumeroDocumento, fontName, fontStyle, fontSize, hidden, false, groupName, true));

            // ------------------
            // Data Documento
            // ------------------
            groupName = "Documento";
            hidden = false;
            width = 80f;
            nome = "Data";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.DataDocumento);
            if (impostazioneDettaglio != null)
            {
                groupName = impostazioneDettaglio.GroupName;
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.DataDocumento, fontName, fontStyle, fontSize, hidden, false, groupName, true));

            // ------------------
            // Protocollo
            // ------------------
            groupName = "Documento";
            hidden = false;
            width = 80f;
            nome = "Prot.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.NumeroProtocollo);
            if (impostazioneDettaglio != null)
            {
                groupName = impostazioneDettaglio.GroupName;
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.NumeroProtocollo, fontName, fontStyle, fontSize, hidden, false, groupName, true));

            // ================================================
            //  Cassa
            // ================================================

            // ------------------
            // Entrate
            // ------------------
            groupName = "Cassa";
            nome = "Entrate";
            hidden = false;
            width = 110f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoCassaDare);
            if (impostazioneDettaglio != null)
            {
                groupName = impostazioneDettaglio.GroupName;
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoCassaDare, fontName, fontStyle, fontSize, hidden, true, groupName));

            // ------------------
            // Uscite
            // ------------------
            groupName = "Cassa";
            nome = "Uscite";
            hidden = false;
            width = 110f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoCassaAvere);
            if (impostazioneDettaglio != null)
            {
                groupName = impostazioneDettaglio.GroupName;
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoCassaAvere, fontName, fontStyle, fontSize, hidden, true, groupName));

            // ------------------
            // Saldo
            // ------------------
            groupName = "Cassa";
            nome = "Saldo";
            hidden = false;
            width = 110f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoCassaSaldo);
            if (impostazioneDettaglio != null)
            {
                groupName = impostazioneDettaglio.GroupName;
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoCassaSaldo, fontName, fontStyle, fontSize, hidden, false, groupName));


            // ================================================
            //  Banca
            // ================================================

            foreach (var datiBancariDTO in _banche)
            {
                groupName = string.Format("{0} - {1}", datiBancariDTO.Descrizione, datiBancariDTO.ContoCorrente);

                // ------------------
                // Entrate
                // ------------------
                nome = "Entrate";
                hidden = false;
                width = 110f;
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoBancaDare, datiBancariDTO.ID);
                if (impostazioneDettaglio != null)
                {
                    groupName = impostazioneDettaglio.GroupName;
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(datiBancariDTO.ID, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoBancaDare, fontName, fontStyle, fontSize, hidden, true, groupName));

                // ------------------
                // Uscite
                // ------------------
                nome = "Uscite";
                hidden = false;
                width = 110f;
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoBancaAvere, datiBancariDTO.ID);
                if (impostazioneDettaglio != null)
                {
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(datiBancariDTO.ID, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoBancaAvere, fontName, fontStyle, fontSize, hidden, true, groupName));

                // ------------------
                // Saldo
                // ------------------
                nome = "Saldo";
                hidden = false;
                width = 110f;
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoBancaSaldo, datiBancariDTO.ID);
                if (impostazioneDettaglio != null)
                {
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(datiBancariDTO.ID, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoBancaSaldo, fontName, fontStyle, fontSize, hidden, false, groupName));

            }

            return columns;
        }
        public override IList<TableColumn> GetColumnList(XtraReport report, string reportKey, IReportParameters reportParameters, int? page, bool stampaMillesimi = false)
        {
            if (reportParameters is BilancioConsuntivoReportParameters)
                _reportParameters = (BilancioConsuntivoReportParameters)reportParameters;

            var columns = new List<TableColumn>();

            // ------------------
            // Codice
            // ------------------
            var width = 60f;
            var hidden = false;
            var nome = "Codice";

            var fontName = string.Empty;
            var fontStyle = string.Empty;
            float fontSize = 0;
            //if (report != null)
            //{
            //    fontName = report.Font.FontFamily.Name;
            //    fontStyle = GetFontStyleEnum(report.Font.Style);
            //    fontSize = report.Font.Size;
            //}

            var impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.CodiceConto);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.CodiceConto, fontName, fontStyle, fontSize, hidden, false, true));

            // ------------------
            // Descrizione
            // ------------------
            hidden = false;
            width = 250f;
            nome = "Descrizione";
            //if (report != null)
            //{
            //    fontName = report.Font.FontFamily.Name;
            //    fontStyle = GetFontStyleEnum(report.Font.Style);
            //    fontSize = report.Font.Size;
            //}
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.DescrizioneConto);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.DescrizioneConto, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Millesimi
            // ------------------
            hidden = false;
            width = 80f;
            float? widthMillesimi = null;
            nome = "Millesimi";
            //if (report != null)
            //{
            //    fontName = report.Font.FontFamily.Name;
            //    fontStyle = GetFontStyleEnum(report.Font.Style);
            //    fontSize = report.Font.Size;
            //}
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.MillesimiProprieta);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.MillesimiProprieta, fontName, fontStyle, fontSize, hidden, true, true) { MillesimiFontStyle = fontStyle, MillesimiFontName = fontName, MillesimiFontSize = fontSize });

            // ------------------
            // Importo
            // ------------------
            nome = "Importo movimento";
            hidden = false;
            width = 110f;
            //if (report != null)
            //{
            //    fontName = report.Font.FontFamily.Name;
            //    fontStyle = GetFontStyleEnum(report.Font.Style);
            //    fontSize = report.Font.Size;
            //}

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Importo);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            if (_reportParameters.VisualizzaProprietariInquilini.GetValueOrDefault())
                hidden = true;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Importo, fontName, fontStyle, fontSize, hidden, true, true));

            // ------------------
            // Importo Proprietà
            // ------------------
            nome = "Importo proprietà";
            hidden = true;
            width = 110f;
            //if (report != null)
            //{
            //    fontName = report.Font.FontFamily.Name;
            //    fontStyle = GetFontStyleEnum(report.Font.Style);
            //    fontSize = report.Font.Size;
            //}

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoProprieta);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            if (_reportParameters.VisualizzaProprietariInquilini.GetValueOrDefault())
                hidden = false;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoProprieta, fontName, fontStyle, fontSize, hidden, true, true));

            // ------------------
            // Importo Conduzione
            // ------------------
            nome = "Importo conduzione";
            hidden = true;
            width = 110f;
            //if (report != null)
            //{
            //    fontName = report.Font.FontFamily.Name;
            //    fontStyle = GetFontStyleEnum(report.Font.Style);
            //    fontSize = report.Font.Size;
            //}

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoConduzione);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            if (_reportParameters.VisualizzaProprietariInquilini.GetValueOrDefault())
                hidden = false;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoConduzione, fontName, fontStyle, fontSize, hidden, true, true));
            
            // ------------------
            // Totale
            // ------------------
            nome = "Totale Conto";
            hidden = false;
            width = 110f;
            //if (report != null)
            //{
            //    fontName = report.Font.FontFamily.Name;
            //    fontStyle = GetFontStyleEnum(report.Font.Style);
            //    fontSize = report.Font.Size;
            //}

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Totale);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            if (_reportParameters.VisualizzaProprietariInquilini.GetValueOrDefault())
                hidden = true;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Totale, fontName, fontStyle, fontSize, hidden, true));

            return columns;
        }
        public override IList<TableColumn> GetColumnList(XtraReport report, string reportKey, IReportParameters reportParameters, int? page, bool stampaMillesimi = false)
        {
            var columns = new List<TableColumn>();

            // ------------------
            // Codice
            // ------------------
            var hidden = false;
            var width = 60f;
            var nome = "Codice";

            var fontName = string.Empty;
            var fontStyle = string.Empty;
            float fontSize = 0;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            if (_impostazioneReportDTO != null)
            {
                if (_impostazioneReportDTO.LegendaUnitaCodiceWidth == null)
                    hidden = true;
                else if(_impostazioneReportDTO.LegendaUnitaCodiceWidth > 0)
                    width = _impostazioneReportDTO.LegendaUnitaCodiceWidth.GetValueOrDefault();
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.OrdineUnita, fontName, fontStyle, fontSize, hidden, false, true));

            // ------------------
            // Descrizione
            // ------------------
            hidden = false;
            width = 250f;
            nome = "Descrizione";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            if (_impostazioneReportDTO != null)
            {
                if (_impostazioneReportDTO.LegendaUnitaDescrizioneWidth == null)
                    hidden = true;
                else if (_impostazioneReportDTO.LegendaUnitaDescrizioneWidth > 0)
                    width = _impostazioneReportDTO.LegendaUnitaDescrizioneWidth.GetValueOrDefault();
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Descrizione, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Tipo
            // ------------------
            hidden = false;
            width = 100f;
            nome = "Tipo";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            if (_impostazioneReportDTO != null)
            {
                if (_impostazioneReportDTO.LegendaUnitaTipoWidth == null)
                    hidden = true;
                else if (_impostazioneReportDTO.LegendaUnitaTipoWidth > 0)
                    width = _impostazioneReportDTO.LegendaUnitaTipoWidth.GetValueOrDefault();
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.TipoUnita, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Interno Unìtà
            // ------------------
            hidden = false;
            width = 100f;
            nome = "Int.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            if (_impostazioneReportDTO != null)
            {
                if (_impostazioneReportDTO.LegendaUnitaInternoWidth == null)
                    hidden = true;
                else if (_impostazioneReportDTO.LegendaUnitaInternoWidth > 0)
                    width = _impostazioneReportDTO.LegendaUnitaInternoWidth.GetValueOrDefault();
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Interno, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Subalterno
            // ------------------
            hidden = false;
            width = 100f;
            nome = "Sub.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            if (_impostazioneReportDTO != null)
            {
                if (_impostazioneReportDTO.LegendaUnitaInternoWidth == null)
                    hidden = true;
                else if (_impostazioneReportDTO.LegendaUnitaInternoWidth > 0)
                    width = _impostazioneReportDTO.LegendaUnitaInternoWidth.GetValueOrDefault();
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Subalterno, fontName, fontStyle, fontSize, hidden, false));

            return columns;
        }
Esempio n. 4
0
 public virtual IList<TableColumn> GetColumnList(XtraReport report, string reportKey, IReportParameters reportParameters, int? page, bool stampaMillesimi = false)
 {
     return new List<TableColumn>();
 }
 public LegendaUnitaImmobiliareHelper(ImpostazioneReportDTO impostazioneReportDTO, IReportParameters reportParameters) : base(impostazioneReportDTO)
 {
     _impostazioneReportDTO = impostazioneReportDTO;
 }
        public override IList<TableColumn> GetColumnList(XtraReport report, string reportKey, IReportParameters reportParameters, int? page, bool stampaMillesimi = false)
        {
            var columns = new List<TableColumn>();

            // ------------------
            // Descrizione
            // ------------------
            var hidden = false;
            var width = 250f;
            var nome = "Descrizione";

            var fontName = string.Empty;
            var fontStyle = string.Empty;
            float fontSize = 0;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }
            var impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Descrizione);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Descrizione, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Importo
            // ------------------
            nome = "Importo";
            hidden = false;
            width = 110f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Importo);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Importo, fontName, fontStyle, fontSize, hidden, true, null));

            return columns;
        }
Esempio n. 7
0
        public override IList<TableColumn> GetColumnList(XtraReport report, string reportKey, IReportParameters reportParameters, int? page, bool stampaMillesimi = false)
        {
            var columns = new List<TableColumn>();

            // ------------------
            // Ordine Unità
            // ------------------
            var width = 60f;
            float? widthMillesimi = null;
            var hidden = false;
            var nome = "Unità";

            var fontName = string.Empty;
            var fontStyle = string.Empty;
            float fontSize = 0;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            var impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.OrdineUnita);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }

            if (Math.Abs(fontSize) < GetTolerance() && _impostazioniReport.FontSize > 0)
                fontSize = _impostazioniReport.FontSize;
            if (Math.Abs(fontSize) < GetTolerance())
                fontSize = 8;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.OrdineUnita, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Nominativo
            // ------------------
            hidden = false;
            width = 250f;
            widthMillesimi = null;
            nome = "Nominativo";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Nominativo);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.Nominativo, fontName, fontStyle, fontSize, hidden, true));
            
            // ------------------
            // Tipo Unità
            // ------------------
            hidden = false;
            width = 150f;
            widthMillesimi = null;
            nome = "Tipo Un.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.TipoUnita);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.TipoUnita, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Subalterno
            // ------------------
            hidden = false;
            width = 50f;
            widthMillesimi = null;
            nome = "Sub.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Subalterno);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.Subalterno, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Interno
            // ------------------
            hidden = false;
            width = 50f;
            widthMillesimi = null;
            nome = "Int.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Interno);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.Interno, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Piano
            // ------------------
            nome = "Piano";
            hidden = false;
            width = 50f;
            widthMillesimi = null;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Piano);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.Piano, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Proprietà/Conduzione
            // ------------------
            nome = "P/C";
            hidden = false;
            width = 30f;
            widthMillesimi = null;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ProprietaConduzione);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.ProprietaConduzione, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Millesimi Proprietà
            // ------------------
            hidden = false;
            width = 80f;
            widthMillesimi = null;
            nome = "Mill.Prop.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.MillesimiProprieta);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, widthMillesimi, 1, ColumnTypeEnum.MillesimiProprieta, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Conti
            // ------------------
            var groupConto = _dataSource.OrderBy(item => item.OrdineConto).GroupBy(item => item.OrdineConto);
            foreach (var kvp in groupConto)
            {
                try
                {
                    var item = kvp.FirstOrDefault();
                    if (item != null)
                    {
                        hidden = item.OrdineConto == 9997;
                        width = 80f;
                        if (stampaMillesimi)
                        {
                            width = 130f;
                            widthMillesimi = 50f;
                        }
                        if (report != null)
                        {
                            fontName = report.Font.FontFamily.Name;
                            fontStyle = GetFontStyleEnum(report.Font.Style);
                            fontSize = report.Font.Size;
                        }

                        var printPage = 1;
                        var millesimiFontName = string.Empty;
                        var millesimiFontSize = 0f;
                        var millesimiFontStyle = string.Empty;
                        var hideMillesimi = false;

                        var firstRow = kvp.FirstOrDefault();
                        if (firstRow != null)
                        {
                            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Conto, firstRow.IdConto, firstRow.OrdineConto);
                            if (impostazioneDettaglio != null)
                            {
                                hidden = impostazioneDettaglio.Hidden;
                                fontName = impostazioneDettaglio.FontName;
                                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                                    fontStyle = impostazioneDettaglio.FontStyle;
                                if (impostazioneDettaglio.FontSize != null)
                                    fontSize = impostazioneDettaglio.FontSize.Value;

                                millesimiFontName = fontName;
                                millesimiFontSize = fontSize;
                                millesimiFontStyle = fontStyle;

                                if (!string.IsNullOrEmpty(impostazioneDettaglio.MillesimiFontName))
                                    millesimiFontName = impostazioneDettaglio.MillesimiFontName;
                                else if (!string.IsNullOrEmpty(_impostazioniReport.MillesimiFontName))
                                    millesimiFontName = _impostazioniReport.MillesimiFontName;

                                if (impostazioneDettaglio.MillesimiFontSize != null)
                                    millesimiFontSize = impostazioneDettaglio.MillesimiFontSize.Value;
                                else if (_impostazioniReport.MillesimiFontSize != null)
                                    millesimiFontSize = _impostazioniReport.MillesimiFontSize.Value;

                                if (!string.IsNullOrEmpty(impostazioneDettaglio.MillesimiFontStyle))
                                    millesimiFontStyle = impostazioneDettaglio.MillesimiFontStyle;
                                else if (!string.IsNullOrEmpty(_impostazioniReport.MillesimiFontStyle))
                                    millesimiFontStyle = _impostazioniReport.MillesimiFontStyle;

                                if (impostazioneDettaglio.Width != null)
                                {
                                    width = impostazioneDettaglio.Width.Value;
                                    if (impostazioneDettaglio.WidthMillesimi != null)
                                        widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                                }

                                if (_impostazioniReport.MultiPage && impostazioneDettaglio.PrintPage.GetValueOrDefault() > 1)
                                    printPage = impostazioneDettaglio.PrintPage.GetValueOrDefault();

                                hideMillesimi = impostazioneDettaglio.HideMillesimi;
                            }
                        }

                        string descrizioneConto;
                        if (item.IdConto > 0)
                        {
                            descrizioneConto = item.DescrizioneConto;
                            if (_impostazioniReport.DescrizioneContoCompleta && !string.IsNullOrEmpty(item.CodiceConto))
                                descrizioneConto = string.Format("{0} - {1}", item.CodiceConto, item.DescrizioneConto);
                        }
                        else
                            descrizioneConto = impostazioneDettaglio.Conto;

                        string descrizioneImporto = "Importo";
                        if (impostazioneDettaglio != null && !string.IsNullOrEmpty(impostazioneDettaglio.DescrizioneImporto))
                            descrizioneImporto = impostazioneDettaglio.DescrizioneImporto;

                        string descrizioneMillesimi = "Mill.";
                        if (impostazioneDettaglio != null && !string.IsNullOrEmpty(impostazioneDettaglio.DescrizioneMillesimi))
                            descrizioneMillesimi = impostazioneDettaglio.DescrizioneMillesimi;

                        if (millesimiFontSize == 0f)
                            millesimiFontSize = 8f;

                        var tableColumn = new TableColumn(item.IdConto, kvp.Key, descrizioneConto, descrizioneImporto, descrizioneMillesimi, width, widthMillesimi, printPage, ColumnTypeEnum.Conto, fontName, fontStyle, fontSize, millesimiFontName, millesimiFontStyle, millesimiFontSize, hidden, hideMillesimi);
                        columns.Add(tableColumn);
                    }
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nell'impostazione della column - {0} - key:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), kvp.Key);
                    throw;
                }

            }

            // ------------------
            // Totale
            // ------------------
            nome = "Totale";
            hidden = true;
            width = 30f;
            widthMillesimi = null;
            var numeroPagina = 1;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Conto, 0, 9997);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if(impostazioneDettaglio.PrintPage != null)
                    numeroPagina = impostazioneDettaglio.PrintPage.Value;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                    widthMillesimi = impostazioneDettaglio.WidthMillesimi;
                }
            }
            if(impostazioneDettaglio == null || impostazioneDettaglio.PrintPage == page)
                columns.Add(new TableColumn(null, 9997, nome, null, null, width, widthMillesimi, numeroPagina, ColumnTypeEnum.Conto, fontName, fontStyle, fontSize, hidden, true));

            return columns;
        }
Esempio n. 8
0
        public override IList<TableColumn> GetColumnList(XtraReport report, string reportKey, IReportParameters reportParameters, int? page, bool stampaMillesimi = false)
        {
            var columns = new List<TableColumn>();

            // ------------------
            // Ordine Unità
            // ------------------
            var width = 60f;
            var hidden = false;
            var nome = "Unità";

            var fontName = string.Empty;
            var fontStyle = string.Empty;
            float fontSize = 0;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            var impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.OrdineUnita);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                }
            }

            if (Math.Abs(fontSize) < GetTolerance() && _impostazioniReport.FontSize > 0)
                fontSize = _impostazioniReport.FontSize;
            if (Math.Abs(fontSize) < GetTolerance())
                fontSize = 8;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.OrdineUnita, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Nominativo
            // ------------------
            hidden = false;
            width = 250f;
            nome = "Nominativo";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Nominativo);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Nominativo, fontName, fontStyle, fontSize, hidden, true));
            
            // ------------------
            // Tipo Unità
            // ------------------
            hidden = false;
            width = 150f;
            nome = "Tipo Un.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.TipoUnita);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.TipoUnita, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Subalterno
            // ------------------
            hidden = false;
            width = 50f;
            nome = "Sub.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Subalterno);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Subalterno, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Interno
            // ------------------
            hidden = false;
            width = 50f;
            nome = "Int.";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Interno);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Interno, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Piano
            // ------------------
            nome = "Piano";
            hidden = false;
            width = 50f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Piano);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Piano, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Proprietà/Conduzione
            // ------------------
            nome = "P/C";
            hidden = false;
            width = 30f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ProprietaConduzione);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                {
                    width = impostazioneDettaglio.Width.Value;
                }
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ProprietaConduzione, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Rate
            // ------------------
            var groupRata = _dataSource.OrderBy(item => item.DataScadenza.GetValueOrDefault()).ThenBy(item => item.NumeroRata).GroupBy(item => item.NumeroRata);
            foreach (var kvp in groupRata)
            {
                try
                {
                    var item = kvp.FirstOrDefault();
                    if (item != null)
                    {
                        width = 80f;
                        if (report != null)
                        {
                            fontName = report.Font.FontFamily.Name;
                            fontStyle = GetFontStyleEnum(report.Font.Style);
                            fontSize = report.Font.Size;
                        }

                        if (item.NumeroRata > 0)
                            fontStyle = System.Drawing.FontStyle.Bold.ToString();

                        var printPage = 1;
                        var firstRow = kvp.FirstOrDefault();
                        if (firstRow != null)
                        {
                            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Conto, firstRow.IdDettaglioRata, firstRow.NumeroRata);
                            if (impostazioneDettaglio != null)
                            {
                                hidden = impostazioneDettaglio.Hidden;
                                fontName = impostazioneDettaglio.FontName;
                                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                                    fontStyle = impostazioneDettaglio.FontStyle;
                                if (impostazioneDettaglio.FontSize != null)
                                    fontSize = impostazioneDettaglio.FontSize.Value;

                                if (impostazioneDettaglio.Width != null)
                                {
                                    width = impostazioneDettaglio.Width.Value;
                                }

                                if (_impostazioniReport.MultiPage && impostazioneDettaglio.PrintPage.GetValueOrDefault() > 1)
                                    printPage = impostazioneDettaglio.PrintPage.GetValueOrDefault();
                            }
                        }

                        string descrizioneRata;
                        if (item.IdDettaglioRata > 0 || impostazioneDettaglio == null)
                        {
                            descrizioneRata = item.DescrizioneRata;
                        }
                        else
                            descrizioneRata = impostazioneDettaglio.Conto;

                        string descrizioneImporto = "Importo";
                        if (!string.IsNullOrEmpty(impostazioneDettaglio?.DescrizioneImporto))
                            descrizioneImporto = impostazioneDettaglio.DescrizioneImporto;

                        var tableColumn = new TableColumn(item.IdDettaglioRata, kvp.Key, descrizioneRata, descrizioneImporto, null, width, null, printPage, ColumnTypeEnum.Conto, fontName, fontStyle, fontSize, null, null, 0, hidden, true);
                        columns.Add(tableColumn);
                    }
                }
                catch (Exception ex)
                {
                    _log.ErrorFormat("Errore nell'impostazione della column - {0} - key:{1}", ex, Gipasoft.Library.Utility.GetMethodDescription(), kvp.Key);
                    throw;
                }

            }
            
            return columns;
        }
Esempio n. 9
0
        public override IList<TableColumn> GetColumnList(XtraReport report, string reportKey, IReportParameters reportParameters, int? page, bool stampaMillesimi = false)
        {
            if (reportParameters is BilancioConsuntivoReportParameters)
                _reportParameters = (BilancioConsuntivoReportParameters)reportParameters;

            var columns = new List<TableColumn>();

            // ------------------
            // Codice
            // ------------------
            var width = 60f;
            var hidden = false;
            var nome = "Codice";

            var fontName = string.Empty;
            var fontStyle = string.Empty;
            float fontSize = 0;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            var impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.CodiceConto);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.CodiceConto, fontName, fontStyle, fontSize, hidden, false, true));

            // ------------------
            // Descrizione
            // ------------------
            hidden = false;
            width = 250f;
            nome = "Descrizione";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }
            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.DescrizioneConto);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            if (_reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto)
            {
                var widthNumeroFattura = 80f;
                var impostazioneNumeroFattura = GetImpostazioneDettaglio(ColumnTypeEnum.NumeroFattura);
                if (impostazioneNumeroFattura != null)
                {
                    if(!impostazioneNumeroFattura.Hidden)
                        widthNumeroFattura += impostazioneNumeroFattura.Width.GetValueOrDefault();
                    else
                        widthNumeroFattura = 0;
                }

                var widthDataFattura = 80f;
                var impostazioneDataFattura = GetImpostazioneDettaglio(ColumnTypeEnum.DataFattura);
                if (impostazioneDataFattura != null)
                    widthDataFattura = !impostazioneDataFattura.Hidden ? impostazioneDataFattura.Width.GetValueOrDefault() : 0;

                var widthDataPagamento = 80f;
                var impostazioneDataPagamento = GetImpostazioneDettaglio(ColumnTypeEnum.DataPagamento);
                if (impostazioneDataPagamento != null)
                    widthDataPagamento = !impostazioneDataPagamento.Hidden ? impostazioneDataPagamento.Width.GetValueOrDefault() : 0;

                var widthDataRitenuta = 80f;
                var impostazioneDataRitenuta = GetImpostazioneDettaglio(ColumnTypeEnum.DataFattura);
                if (impostazioneDataRitenuta != null)
                    widthDataRitenuta = !impostazioneDataRitenuta.Hidden ? impostazioneDataRitenuta.Width.GetValueOrDefault() : 0;

                var widthFornitore = 150f;
                var impostazioneFornitore = GetImpostazioneDettaglio(ColumnTypeEnum.Fornitore);
                if (impostazioneFornitore != null)
                    widthFornitore = !impostazioneFornitore.Hidden ? impostazioneFornitore.Width.GetValueOrDefault() : 0;

                width += widthNumeroFattura + widthDataFattura + widthDataPagamento + widthDataRitenuta + widthFornitore;
            }

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.DescrizioneConto, fontName, fontStyle, fontSize, hidden, false));

            if (reportKey == "BILCONS")
            {
                // ------------------
                // Data Fattura
                // ------------------
                hidden = _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                width = 80f;
                nome = "Data Fattura";
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.DataFattura);
                if (impostazioneDettaglio != null)
                {
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden || _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.DataFattura, fontName, fontStyle, fontSize, hidden, false, true));

                // ------------------
                // Numero Fattura
                // ------------------
                hidden = _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                width = 80f;
                nome = "Numero Fattura";
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.NumeroFattura);
                if (impostazioneDettaglio != null)
                {
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden || _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.NumeroFattura, fontName, fontStyle, fontSize, hidden, false, true));

                // ------------------
                // Numero Registrazione / Protocollo
                // ------------------
                hidden = _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                width = 90f;
                nome = "Prot.";
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Protocollo);
                if (impostazioneDettaglio != null)
                {
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden || _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Protocollo, fontName, fontStyle, fontSize, hidden, false, true));

                // ------------------
                // Data Pagamento
                // ------------------
                hidden = _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                width = 80f;
                nome = "Dt.Pagamento";
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.DataPagamento);
                if (impostazioneDettaglio != null)
                {
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden || _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.DataPagamento, fontName, fontStyle, fontSize, hidden, false, true));

                // ------------------
                // Data Versamento Ritenuta
                // ------------------
                hidden = _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                width = 80f;
                nome = "Dt.Ritenuta";
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.DataVersamentoRitenuta);
                if (impostazioneDettaglio != null)
                {
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden || _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.DataVersamentoRitenuta, fontName, fontStyle, fontSize, hidden, false, true));

                // ------------------
                // Fornitore
                // ------------------
                hidden = _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                width = 150f;
                nome = "Fornitore";
                if (report != null)
                {
                    fontName = report.Font.FontFamily.Name;
                    fontStyle = GetFontStyleEnum(report.Font.Style);
                    fontSize = report.Font.Size;
                }

                impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Fornitore);
                if (impostazioneDettaglio != null)
                {
                    nome = impostazioneDettaglio.Conto;
                    hidden = impostazioneDettaglio.Hidden || _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto;
                    fontName = impostazioneDettaglio.FontName;
                    if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                        fontStyle = impostazioneDettaglio.FontStyle;
                    if (impostazioneDettaglio.FontSize != null)
                        fontSize = impostazioneDettaglio.FontSize.Value;
                    if (impostazioneDettaglio.Width != null)
                        width = impostazioneDettaglio.Width.Value;
                }
                columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Fornitore, fontName, fontStyle, fontSize, hidden, false, true));                
            }

            // ------------------
            // Importo
            // ------------------
            nome = "Importo movimento";
            hidden = false;
            width = 110f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Importo);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            if (_reportParameters.VisualizzaProprietariInquilini.GetValueOrDefault())
                hidden = true;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Importo, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Importo Proprietà
            // ------------------
            nome = "Importo proprietà";
            hidden = true;
            width = 110f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoProprieta);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            if (_reportParameters.VisualizzaProprietariInquilini.GetValueOrDefault())
                hidden = false;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoProprieta, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Importo Conduzione
            // ------------------
            nome = "Importo conduzione";
            hidden = true;
            width = 110f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoConduzione);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }

            if (_reportParameters.VisualizzaProprietariInquilini.GetValueOrDefault())
                hidden = false;

            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoConduzione, fontName, fontStyle, fontSize, hidden, true));

            // ------------------
            // Totale
            // ------------------
            nome = "Totale conto";
            hidden = false;
            width = 110f;
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.Totale);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden;
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.Totale, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Importo Consuntivo Anno Precedente
            // ------------------
            hidden = true;
            width = 110f;
            nome = "Consuntivo Precedente";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoConsuntivoAnnoPrecedente);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden || (reportKey == "BILPREV" && _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto);
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoConsuntivoAnnoPrecedente, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Importo Preventivo Anno Precedente
            // ------------------
            hidden = true;
            width = 110f;
            nome = "Preventivo Precedente";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoPreventivoAnnoPrecedente);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden || (reportKey == "BILPREV" && _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto);
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoPreventivoAnnoPrecedente, fontName, fontStyle, fontSize, hidden, false));

            // ------------------
            // Scostamento Anno Precedente
            // ------------------
            hidden = true;
            width = 110f;
            nome = "Scostamento";
            if (report != null)
            {
                fontName = report.Font.FontFamily.Name;
                fontStyle = GetFontStyleEnum(report.Font.Style);
                fontSize = report.Font.Size;
            }

            impostazioneDettaglio = GetImpostazioneDettaglio(ColumnTypeEnum.ImportoScostamentoAnnoPrecedente);
            if (impostazioneDettaglio != null)
            {
                nome = impostazioneDettaglio.Conto;
                hidden = impostazioneDettaglio.Hidden || (reportKey == "BILPREV" && _reportParameters.TipoDettaglio == TipoDettaglioReportBilancio.Sottoconto);
                fontName = impostazioneDettaglio.FontName;
                if (!string.IsNullOrEmpty(impostazioneDettaglio.FontStyle))
                    fontStyle = impostazioneDettaglio.FontStyle;
                if (impostazioneDettaglio.FontSize != null)
                    fontSize = impostazioneDettaglio.FontSize.Value;
                if (impostazioneDettaglio.Width != null)
                    width = impostazioneDettaglio.Width.Value;
            }
            columns.Add(new TableColumn(null, 0, nome, null, null, width, null, 1, ColumnTypeEnum.ImportoScostamentoAnnoPrecedente, fontName, fontStyle, fontSize, hidden, false));

            return columns;
        }