@* ENCABEZADO DE LA PAGINA *@

@msTextoEncabezado

Simulación: @objetoCASA.NombreSimulacion
Fecha de creación: @DateTime.Now

@* TABLA COSTE HORA DESPACHO PROFESIONAL *@

hola | adios

Coste hora de los trabajos realizados por el despacho profesional

Tipo de costes | Coste/hora
--- | ---
Costes directos | @objetoCASA.DespachoProfesional.CostesDirectos.MilesYDecimales() €/hora
Costes indirectos | @objetoCASA.DespachoProfesional.TasaCostesIndirectos.MilesYDecimales() €/hora
Costes variables | @objetoCASA.CostesProduccion.CostesVariables.MilesYDecimales() €/hora
Coste hora Despacho Profesional: @objetoCASA.CostesProduccion.TotalCostes.MilesYDecimales() €/hora

@* TABLA COSTE HORA EXTERNALIZACION *@

Coste hora Externalización

Externalización | Porcentaje
--- | ---
Incremento por externalización | @objetoCASA.CostesProduccion.CoeficienteCostesExternalizacion %
Coste hora Externalización: @objetoCASA.CostesProduccion.CosteHoraExternalizacion.MilesYDecimales() €/hora

@* TABLA USOS/TIPOLOGIAS *@

Usos/Tipologías

Superficie (m²) | Usos | Tipología | Intervención
--- | --- | --- | ---
@if (totalUsos != 0) { @foreach (var uso in objetoCASA.TrabajoProfesional.Usos) {
@uso.superficie.MilesYDecimales() | @objetoCASA.Enumerados.GruposTipologias?.FirstOrDefault(x => x.idEnumeracion == uso.idGrupoTipologia)?.ValorAlfabetico1 | @objetoCASA.Enumerados.Tipologias?.FirstOrDefault(x => x.idTipologia == uso.idTipologia)?.Descripcion | @objetoCASA.Enumerados.Intervenciones?.FirstOrDefault(x => x.idEnumeracion == uso.idTipoIntervencion)?.ValorAlfabetico1
} } else {
No hay registros
}
Total superficie: @objetoCASA.TrabajoProfesional.Usos.Sum(x => x.superficie).MilesYDecimales() m²

Trabajo profesional

@* PLAZO DE PRESENTACION *@
Plazo de presentación de la documentación: @objetoCASA.CostesProduccion.PlazoPresentacionDocumentos meses
@if (objetoCASA.CostesProduccion.IncrementoUrgencia > 0) { Incremento del @objetoCASA.CostesProduccion.IncrementoUrgencia% en los costes de producción de la documentación por plazo de presentación reducido }

@* TABLA TRABAJO/HORA *@

Trabajos | Horas
--- | ---
Horas elaboración documentación | @objetoCASA.TrabajoProfesional.HorasTPEDocumentacion.MilesYDecimales() h
Horas de documentación en Despacho Profesional | @objetoCASA.CostesProduccion.HorasProduccionDespachoElabDocumentacion.MilesYDecimales() h
Horas de documentación mediante externalización | @objetoCASA.CostesProduccion.NumHorasMinimoExt.MilesYDecimales() h
Horas de dirección de obra | @objetoCASA.TrabajoProfesional.HorasTPEDireccion.MilesYDecimales() h
Horas trabajo profesional @objetoCASA.TrabajoProfesional.TotalHorasTPE.MilesYDecimales() h

@* TABLA COSTES ASOCIADOS A LOS SEVICIOS DE ARQUITECTURA *@

Costes Asociados a los Servicios de Arquitectura

COSTES DE PRODUCCIÓN DEL TRABAJO PROFESIONAL: | @objetoCASA.CostesProduccion.CostesProduccionTrabProf.MilesYDecimales() €
Beneficio (antes de impuestos) | @objetoCASA.CostesProduccion.Beneficio %
Precio del trabajo profesional: @objetoCASA.CostesProduccion.PrecioTrabProf.MilesYDecimales() €

@* TABLA OTROS TRABAJOS INCLUIDOS EN EL ENCARGO *@ @if (objetoCASA.CostesProduccion.OtrosTrabajos.Count != 0) {
Otros trabajos incluidos en el Encargo

Encargo | Precio
--- | ---

@foreach (var otroTrabajo in objetoCASA.CostesProduccion.OtrosTrabajos) {
@otroTrabajo.Denominacion | @otroTrabajo.Coste.MilesYDecimales() €
}
Total Otros trabajos: @objetoCASA.CostesProduccion.TotalOtrosTrabajos.MilesYDecimales() €
Precio del encargo: @objetoCASA.CostesProduccion.PrecioDelEncargo.MilesYDecimales() €

}

@code {

[Parameter] public bdHerramientaCACOA.CASA objetoCASA { get; set; } = new bdHerramientaCACOA.CASA();

public int totalUsos = 0;

public tsHerramientasCACOA bd;

MarkupString msTextoEncabezado => (MarkupString)textoEncabezado; MarkupString mspie1 => (MarkupString)pie1; MarkupString mspie2 => (MarkupString)pie2;

string textoEncabezado = ""; string pie1 = ""; string pie2 = "";

protected override async Task OnInitializedAsync() { bd = tsHerramientasCACOA.NuevoContexto(SoloLectura: false); totalUsos = objetoCASA.TrabajoProfesional.Usos.Count;

textoEncabezado = bd.enumeraciones.First(x => x.Codigo.Contains("PDFCASA")).ValorAlfabeticoLargo;

pie1 = bd.enumeraciones.First(x => x.Codigo.Contains(".PDFPIE1")).ValorAlfabeticoLargo; pie2 = bd.enumeraciones.First(x => x.Codigo.Contains(".PDFPIE2")).ValorAlfabeticoLargo; } public void RefreshState() { this.StateHasChanged(); }

}