82 lines
3.2 KiB
C#
82 lines
3.2 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Consulenza.ExternalServices;
|
|
using Consulenza.ReportWriter.Business;
|
|
using Consulenza.ReportWriter.Business.OBJ_PDF;
|
|
using System.Data;
|
|
using Consulenza.ReportWriter.Business.CHART_PDF;
|
|
using Consulenza.ReportCommon;
|
|
using Consulenza.ReportWriter.Business.Entity;
|
|
using System.Text;
|
|
|
|
namespace Consulenza.ReportWriter.Manager.Section.Immobiliare.MonitoraggioNucleo
|
|
{
|
|
/// <summary>
|
|
/// Scheda 22
|
|
/// </summary>
|
|
public class S22 : Section.Immobiliare.Monitoraggio.S22
|
|
{
|
|
|
|
public S22(EnvironmentFacade environmentFacade, int idSection)
|
|
: base(environmentFacade, idSection)
|
|
{
|
|
}
|
|
|
|
protected override DataTable GetDataTable()
|
|
{
|
|
#region Definizione dei parametri
|
|
|
|
var parametri = new List<Parametro>
|
|
{
|
|
new Parametro
|
|
{
|
|
Direction = ParameterDirection.Input,
|
|
DbType = DbType.Int64,
|
|
ParameterName = "ChiaveNucleo",
|
|
Value = EnvironmentFacade.ReportEnvironment.NucleoImmobiliare.ChiaveNucleo
|
|
}
|
|
};
|
|
|
|
#endregion
|
|
|
|
var dt = DataAccess.ExecuteDataTableStoredProcedure(DBProvider.SqlServerConsulenzaUnica, "REP_Nucleo_Immobiliare_S8_DettImmobiliAnomalieCatastali", parametri);
|
|
|
|
|
|
//Riaggregazione
|
|
//var query = (from p in dt.AsEnumerable()
|
|
// orderby p.Field<string>("tipoImmobile") ascending, p.Field<decimal>("ValoreStimato") descending
|
|
// group p by p.Field<string>("IdImmobileCatasto") into g
|
|
// select new
|
|
// {
|
|
// IdImmobileCatasto = g.Key,
|
|
// Descrizione = g.Select(x => x.Field<string>("Descrizione")).FirstOrDefault(),
|
|
// ValoreStimato = g.Select(x => x.Field<decimal>("ValoreStimato")).FirstOrDefault(),
|
|
// AnomalieRilevate = string.Join("<BR><BR>", g.Select(x => x.Field<string>("AnomalieRilevate")))
|
|
// }).ToList();
|
|
|
|
// Modificata ES in data 10.08.2017
|
|
var query = (from p in dt.AsEnumerable()
|
|
orderby p.Field<decimal>("ValoreStimato") descending
|
|
group p by p.Field<string>("IdImmobileCatasto") into g
|
|
select new
|
|
{
|
|
IdImmobileCatasto = g.Key,
|
|
Descrizione = g.Select(x => x.Field<string>("Descrizione")).FirstOrDefault(),
|
|
ValoreStimato = g.Select(x => x.Field<decimal>("ValoreStimato")).FirstOrDefault(),
|
|
AnomalieRilevate = string.Join("<BR><BR>", g.Select(x => x.Field<string>("AnomalieRilevate")))
|
|
}).ToList();
|
|
|
|
|
|
var dtResult = dt.Clone();
|
|
|
|
foreach (var item in query)
|
|
dtResult.Rows.Add(item.IdImmobileCatasto, item.Descrizione, item.ValoreStimato, string.Empty, item.AnomalieRilevate);
|
|
|
|
|
|
return dtResult;
|
|
}
|
|
|
|
}
|
|
}
|