Ejemplo n.º 1
0
        /// <summary>
        /// Comparación entre 2 objetos de página.
        /// </summary>
        /// <param name="obj">Página a comparar.</param>
        /// <returns>Resultado de la comparación.</returns>
        public override int CompareTo(object obj)
        {
            RegistroModPagina onePage = (RegistroModPagina)obj;

            // Obtenemos del modelo la parte en la que pone "p01",
            // ya que el año puede hacer que un "2018p03" vaya antes que un "2019p01".
            string thisName = GetType().Name.Substring(GetType().Name.Length - 3);
            string objName  = obj.GetType().Name.Substring(obj.GetType().Name.Length - 3);

            return(thisName.CompareTo(objName));
        }
Ejemplo n.º 2
0
        private void AcumulaCasillas(string[] casillasBase, string casillaResultado, RegistroModPagina modPagina)
        {
            decimal suma = 0;

            foreach (var clave in casillasBase)
            {
                suma += Convert.ToDecimal(modPagina[clave]?.Valor);
            }

            if (Convert.ToDecimal(modPagina[casillaResultado]?.Valor) == 0)
            {
                modPagina[casillaResultado].Valor = suma;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Actualiza el valor de todos los campos calculados.
        /// </summary>
        public override void Calcular()
        {
            base.Calcular();

            RegistroModPagina modPagina1 = Paginas.Empaquetables[0] as RegistroModPagina;

            // Último perido no válido valor 0 (establecemos por defecto el valor 2, no exonerado de 390)
            if ($"{modPagina1["Periodo"].Valor}" == "4T" || $"{modPagina1["Periodo"].Valor}" == "12")
            {
                if ($"{modPagina1["Exonerado390"].Valor}" == "0")
                {
                    modPagina1["Exonerado390"].Valor = 2; // (1=SI, 2=NO)
                }
            }
        }