@using System.Globalization
@using HerramientaCASA.Components.Pages.Comun
@using bdHerramientaCACOA.HerramientaURBAN


<div class="row justify-content-center">
    <div class="col-md-6 mt-3">
        <div style="height: 24px;">
             <b>Costes Asociados a los Servicios de Arquitectura</b> 
        </div>
        <table class="table tablaCACOA tablaCACOA2 mb-0">

            <thead>
                <tr>
                    <th class="colorB fw-bold">Concepto</th>
                    <th class="colorB fw-bold text-end"></th>
                </tr>
            </thead>
            <tbody>
                <tr>
                    <td class="tdAlter TotalesTabla fw-bold ">COSTES  DE PRODUCCIÓN DEL TRABAJO PROFESIONAL</td>
                    <td class=" tdAlter TotalesTabla text-end"><span> @objetoURBAN.CostesProduccion.CostesProduccionTrabProf.MilesYDecimales() €</span></td>
                </tr>

                <tr>
                    <td class="TotalesTabla colorFilasIntro "><b>Beneficio</b> (antes de impuestos)</td>
                    <td class="TotalesTabla text-end">
                        <div class="d-flex" style="gap:3px;">
                            <InputNumber TValue="double" Locale="es-ES" Min="0" class="inputForm formatoMoneda inputTabla" Value="@objetoURBAN.CostesProduccion.Beneficio" ValueExpression="() => objetoURBAN.CostesProduccion.Beneficio" ValueChanged="(value) => BeneficioCambiado(value)"></InputNumber> %
                        </div>
                    </td>
                </tr>
            </tbody>
            <tfoot>
                <tr>
                    <td colspan="2" class="TotalesTabla text-end fw-bold">
                        Precio del trabajo profesional:  <span>@objetoURBAN.CostesProduccion.PrecioTrabajoProfesional.MilesYDecimales() € </span>
                    </td>
                </tr>
            </tfoot>
        </table>

    </div>
</div>


@code {
    [Parameter]
    public URBAN objetoURBAN { get; set; } = new URBAN();

    private double porcentajeCostes;
    private double sumaTotal;
    private bool editarElemento;


    private string tituloPopup = "";
    private Modal popupGestionDatos = default!;
    private Modal popupConfirmarBorrado = default!;

    private bool nuevoElemento;
    private ValidationMessageStore? messageStore;

    [CascadingParameter]
    public CostesProduccionURBAN _Parent { get; set; }

    protected override async Task OnInitializedAsync()
    {
    }

    private async void BeneficioCambiado(double e)
    {
        objetoURBAN.CostesProduccion.Beneficio = e;
        objetoURBAN.CalcularCostesProduccion();

        await InvokeAsync(StateHasChanged);
        _Parent.RefreshState();
    }

    public void RefreshState()
    {
        this.StateHasChanged();
    }
}
