private void DefinirFormulas()
        {
            #region Calculos comunes

            _calcManagerComun = CalculationManager<DatosProyecto>.Create();
            _calcManagerComun.AfterFormulaExecution += CalcManager_AfterFormulaExecution;

            //Cant Dias = Horas Totales / Horas x Día
            _calcManagerComun.DefineFormula(x => x.Dias, x => (x.HorasTotales.ConvertirADecimal(0) / x.HorasPorDia.ConvertirADecimal()).ConvertirAString());
            // %Evento = 1 / Cant Eventos
            _calcManagerComun.DefineFormula(x => x.PorcentajeEvento, x => (1 / x.CantidadEventos.ConvertirADecimal()).ConvertirAString(Formatos.FormatoPorcentajeConDecimales));

            // Horas/Evento = Horas Totales / Cant Eventos
            _calcManagerComun.DefineFormula(x => x.HorasEvento, x => (x.HorasTotales.ConvertirADecimal(0) / x.CantidadEventos.ConvertirADecimal()).ConvertirAString());

            //El Precio Bruto = Honorarios / (1-Factor o Tasa) + Gastos
            _calcManagerComun.DefineFormula(x => x.PrecioBruto, x => ((x.Honorarios.ConvertirADecimal(0) / (1 - x.Factor.ConvertirADecimal(0))) + x.Gastos.ConvertirADecimal(0)).ConvertirAString(Formatos.FormatoEntero));

            #endregion

            #region Calculos de Hs

            #region Calculo de Hs - Tipo 1

            _calcManagerHsTotales1 = CalculationManager<DatosProyecto>.Create()
                //Horas Totales = Cant Cursos * (Dias de la semana *  Horas x Dia + Cant Participantes * Horas x Correccion)
                .DefineFormula(x => x.HorasTotales,
                    x => (x.CantidadEventos.ConvertirADecimal(0) * (x.DiasPorSemana.ConvertirADecimal(0) * x.HorasPorDia.ConvertirADecimal(0) + x.CantidadParticipantes.ConvertirADecimal(0) * x.HorasCorreccion.ConvertirADecimal(0))).ConvertirAString());
            _calcManagerHsTotales1.AfterFormulaExecution += CalcManager_AfterFormulaExecution;
            #endregion

            #region Calculo de Hs - Tipo 2

            //TODO: Unificar con HsTotales1 (+ HorasAdicionales)
            _calcManagerHsTotales2 = CalculationManager<DatosProyecto>.Create()
                //Horas Totales = Cant Talleres * (Dias de la semana *  Horas x Dia + Cant a corregir * Horas x Corrección) + Horas de customizado
                .DefineFormula(x => x.HorasTotales,
                    x => ((x.CantidadEventos.ConvertirADecimal(0) * (x.DiasPorSemana.ConvertirADecimal(0) * x.HorasPorDia.ConvertirADecimal(0) + x.CantidadParticipantes.ConvertirADecimal(0) * x.HorasCorreccion.ConvertirADecimal(0)))
                                + x.HorasAdicionales.ConvertirADecimal(0)).ConvertirAString());
            _calcManagerHsTotales2.AfterFormulaExecution += CalcManager_AfterFormulaExecution;
            #endregion

            #region Calculo de Hs - Tipo 3
            _calcManagerHsTotales3 = CalculationManager<DatosProyecto>.Create()
                //Horas Totales = Cant Eventos * Horas x Evento
                .DefineFormula(x => x.HorasTotales, x => (x.CantidadEventos.ConvertirADecimal(0) * x.HorasEventoIngresado.ConvertirADecimal(0)).ConvertirAString());
            _calcManagerHsTotales3.AfterFormulaExecution += CalcManager_AfterFormulaExecution;
            #endregion

            #region Calculo de Hs - Tipo 4
            _calcManagerHsTotales4 = CalculationManager<DatosProyecto>.Create()
                //Horas Totales= Cant Eventos*(DiasPorSemana * Horas x Dia +Cant participantes* Hs Corrección)
                .DefineFormula(x => x.HorasTotales,
                    x => (x.CantidadEventos.ConvertirADecimal(0)
                        * (x.DiasPorSemana.ConvertirADecimal(0) * x.HorasPorDia.ConvertirADecimal(0) + x.CantidadParticipantes.ConvertirADecimal(0) * x.HorasCorreccion.ConvertirADecimal(0))).ConvertirAString());

            _calcManagerHsTotales4.AfterFormulaExecution += CalcManager_AfterFormulaExecution;
            #endregion

            #region Calculo de Hs - Tipo 5

            _calcManagerHsTotales5 = CalculationManager<DatosProyecto>.Create();
            //HoralTotales = HorasPorEventoIngresado
            _calcManagerHsTotales5.DefineFormula(x => x.HorasTotales, x => x.HorasEventoIngresado.ConvertirADecimal(0).ConvertirAString());

            _calcManagerHsTotales5.AfterFormulaExecution += CalcManager_AfterFormulaExecution;
            #endregion

            #endregion

            #region Calculos de Honorarios

            #region Calculo de Honorarios - Tipo 1

            _calcManagerPrecioBruto1 = CalculationManager<DatosProyecto>.Create()
                //Honorarios = Rate Fijo
                .DefineFormula(x => x.Honorarios, x => (x.RateFijo.ConvertirADecimal(0)).ConvertirAString(Formatos.FormatoEntero));

            _calcManagerPrecioBruto1.AfterFormulaExecution += CalcManager_AfterFormulaExecution;

            #endregion

            #region Calculo de Honorarios - Tipo 2

            _calcManagerPrecioBruto2 = CalculationManager<DatosProyecto>.Create()
                // Honorarios = ( Rate Fijo + Rate Variable* Cant. Personas adicionales )* Cant Cursos
                .DefineFormula(x => x.Honorarios,
                    x => ((x.RateFijo.ConvertirADecimal(0) + (x.RateVariable.ConvertirADecimal(0) * CalcularParticipantesAdicionales(x.CantidadTopeRateFijo.ConvertirADecimal(0), x.CantidadParticipantes.ConvertirADecimal(0)))
                            ) * x.CantidadEventos.ConvertirADecimal(0)
                        ).ConvertirAString(Formatos.FormatoEntero));

            _calcManagerPrecioBruto2.AfterFormulaExecution += CalcManager_AfterFormulaExecution;
            #endregion

            #region Calculo de Honorarios - Tipo 3
            _calcManagerPrecioBruto3 = CalculationManager<DatosProyecto>.Create()
                //Honorarios = (Horas Totales * RateVariable)
                .DefineFormula(x => x.Honorarios, x => (x.HorasTotales.ConvertirADecimal(0) * x.RateVariable.ConvertirADecimal(0)).ConvertirAString(Formatos.FormatoEntero));

            _calcManagerPrecioBruto3.AfterFormulaExecution += CalcManager_AfterFormulaExecution;
            #endregion

            #region Calculo de Honorarios - Tipo 4
            _calcManagerPrecioBruto4 = CalculationManager<DatosProyecto>.Create()
                //Honorarios = (Cant Participantes * Precio x Participante* Cant Eventos)
                .DefineFormula(x => x.Honorarios,
                    x => (x.CantidadParticipantes.ConvertirADecimal(0) * x.RateVariable.ConvertirADecimal(0) * x.CantidadEventos.ConvertirADecimal(0)).ConvertirAString(Formatos.FormatoEntero));

            _calcManagerPrecioBruto4.AfterFormulaExecution += CalcManager_AfterFormulaExecution;
            #endregion

            #endregion
        }