Esempio n. 1
0
        private int EvaluarIn(Regla r, string[] text, int x, int exitoLinea)
        {
            string[] inString;
            int j;
            inString = r.ReglaValidacion.Split(',');
            var existe = 0;
            for (j = 0; j <= inString.Count() - 1; j++)
            {
                if (text[x].Trim().Substring(r.CaracterInicial - 1, r.LargoCampo) == inString[j])
                {
                    existe = 1;
                }
            }

            if (existe == 1)
            {
                exitoLinea = 1;
            }
            else
            {
                Errores = Errores + 1;
            }
            return exitoLinea;
        }
Esempio n. 2
0
        private int EvaluarInQuery(Regla r, int exitoLinea)
        {
            StringCollection resultadoValor;
            resultadoValor = ExecQuery(r.ReglaValidacion);

            if (resultadoValor.Contains(CampoActual))
            {
                exitoLinea = 1;
            }
            else
            {
                Errors = "No existe: " + CampoActual;
                Errores = Errores + 1;
            }
            return exitoLinea;
        }
Esempio n. 3
0
 private int EvaluarFiller(Regla r, int exitoLinea)
 {
     if (CampoActual == "".PadLeft(r.LargoCampo))
     {
         exitoLinea = 1;
     }
     else
     {
         Errores = Errores + 1;
     }
     return exitoLinea;
 }
Esempio n. 4
0
 private int EvaluarEqual(Regla r, int exitoLinea)
 {
     if (CampoActual == r.ReglaValidacion)
     {
         exitoLinea = 1;
     }
     else
     {
         Errores = Errores + 1;
     }
     return exitoLinea;
 }
Esempio n. 5
0
        private int EvaluarBoolSp(string tipoArchivo, Regla r, int x, int exitoLinea)
        {
            string valor;
            StringCollection resultadoValor;
            valor = r.ReglaValidacion;
            valor = valor.Replace("@valor", "'" + CampoActual + "'");
            valor = valor.Replace("@IdArchivo", IdArchivo.ToString());
            valor = valor.Replace("@NumeroLinea", (x + 1).ToString());
            valor = valor.Replace("@CampoInicial", r.CaracterInicial.ToString());
            valor = valor.Replace("@LargoCampo", r.LargoCampo.ToString());
            using (var context = new DISEntities())
            {
                var resultado = context.pa_valida_EjecutaProcedimientoAlmacenado(valor);
                resultadoValor = ObtieneColeccion(resultado);
            }

            if (resultadoValor[0] == "1")
            {
                exitoLinea = 1;
                //start:
                //1.- valida que exista una PRIMAPAG
                if (tipoArchivo == "PRIMDCUA")
                {
                    if (r.Tabladestino != string.Empty)
                    {
                        valor = r.Tabladestino;
                        valor = valor.Replace("@valor", "'" + CampoActual + "'");
                        using (var context = new DISEntities())
                        {
                            ObjectResult resultado =
                                context.pa_valida_EjecutaProcedimientoAlmacenado(valor);
                            resultadoValor = ObtieneColeccion(resultado);
                        }
                        if (resultadoValor[0] == "1")
                        {
                            exitoLinea = 1;
                            //
                        }
                        else
                        {
                            Errores = Errores + 1;
                            exitoLinea = 0;
                        }
                    }
                }
                //end
            }
            else
            {
                Errores = Errores + 1;
                exitoLinea = 0;
            }
            return exitoLinea;
        }
Esempio n. 6
0
        private int EvaluarBoolIfSp(Regla r, int x, int exitoLinea)
        {
            string valor;
            int res1;
            int res2;
            StringCollection resultadoValor;
            string[] inString;
            int j;
            string[] conditionString = null;
            valor = r.ReglaValidacion;
            valor = valor.Replace("@valor", "'" + CampoActual + "'");
            valor = valor.Replace("@IdArchivo", IdArchivo.ToString());
            valor = valor.Replace("@NumeroLinea", (x + 1).ToString());
            valor = valor.Replace("@CampoInicial", r.CaracterInicial.ToString());
            valor = valor.Replace("@LargoCampo", r.LargoCampo.ToString());
            conditionString = valor.Split(';');

            //InsertaAuditoria(Me.UsuarioModificacion, "Validación BOOL_IF_SP", valor, Me.idArchivo)

            switch (conditionString[0])
            {
                case "AND":
                case "OR":
                    res1 = 0;
                    res2 = 0;
                    switch (conditionString[1].Substring(0, 3))
                    {
                        case "SP#":
                            if (ExecSpBool(conditionString[1].Substring(3)))
                            {
                                res1 = 1;
                            }
                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP SP#", ConditionString[1].Substring(3), Me.idArchivo)
                        case "EQ#":
                            if (CampoActual == conditionString[1].Substring(3))
                            {
                                res1 = 1;
                            }
                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP EQ#", Me.campoActual + "=" + ConditionString[1].Substring(3), Me.idArchivo)
                        case "IQ#":
                            resultadoValor = ExecQuery(conditionString[1].Substring(3));
                            if (resultadoValor.Contains(CampoActual))
                            {
                                res1 = 1;
                            }
                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP IQ#", Me.campoActual + "IN(" + ConditionString[1].Substring(3) + ")", Me.idArchivo)
                        case "IN#":
                            inString = conditionString[1].Substring(3).Split(',');
                            for (j = 0; j <= inString.Count() - 1; j++)
                            {
                                if (CampoActual == inString[j])
                                {
                                    res1 = 1;
                                    break; // TODO: might not be correct. Was : Exit For
                                }
                            }

                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP IN#", Me.campoActual + "IN(" + ConditionString[1].Substring(3) + ")", Me.idArchivo)
                    }
                    switch (conditionString[2].Substring(0, 3))
                    {
                        case "SP#":
                            if (ExecSpBool(conditionString[2].Substring(3)))
                            {
                                res2 = 1;
                            }
                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP SP#", ConditionString[2].Substring(3), Me.idArchivo)
                        case "EQ#":
                            if (CampoActual == conditionString[2].Substring(3))
                            {
                                res2 = 1;
                            }
                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP EQ#", Me.campoActual + "=" + ConditionString[2].Substring(3), Me.idArchivo)
                        case "IQ#":
                            resultadoValor = ExecQuery(conditionString[2].Substring(3));
                            if (resultadoValor.Contains(CampoActual))
                            {
                                res2 = 1;
                            }
                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP IQ#", Me.campoActual + "IN(" + ConditionString[2].Substring(3) + ")", Me.idArchivo)
                        case "IN#":
                            inString = conditionString[1].Substring(3).Split(',');
                            for (j = 0; j <= inString.Count() - 1; j++)
                            {
                                if (CampoActual == inString[j])
                                {
                                    res2 = 1;
                                    break; // TODO: might not be correct. Was : Exit For
                                }
                            }

                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP IN#", Me.campoActual + "IN(" + ConditionString[2].Substring(3) + ")", Me.idArchivo)
                    }

                    if (conditionString[0] == "AND")
                    {
                        if (res1 == 1 & res2 == 1)
                        {
                            exitoLinea = 1;
                        }
                        else
                        {
                            Errores = Errores + 1;
                        }
                    }
                    else
                    {
                        if (res1 == 1 | res2 == 1)
                        {
                            exitoLinea = 1;
                        }
                        else
                        {
                            Errores = Errores + 1;
                        }
                    }
                    break;
                case "IF":
                    switch (conditionString[1].Substring(0, 3))
                    {
                        case "SP#":
                            if (ExecSpBool(conditionString[1].Substring(3)))
                            {
                                switch (conditionString[2].Substring(0, 3))
                                {
                                    case "SP#":
                                        if (ExecSpBool(conditionString[2].Substring(3)))
                                        {
                                            exitoLinea = 1;
                                        }
                                        else
                                        {
                                            Errores = Errores + 1;
                                        }
                                        break;
                                    //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP SP#", ConditionString[2].Substring(3), Me.idArchivo)
                                    case "EQ#":
                                        if (
                                            CampoActual.Equals(
                                                conditionString[2].Substring(3)))
                                        {
                                            exitoLinea = 1;
                                        }
                                        else
                                        {
                                            Errores = Errores + 1;
                                        }
                                        break;
                                    //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP EQ#", Me.campoActual + "=" + ConditionString[2].Substring(3), Me.idArchivo)
                                    case "IQ#":
                                        resultadoValor =
                                            ExecQuery(conditionString[2].Substring(3));
                                        if (resultadoValor.Contains(CampoActual))
                                        {
                                            exitoLinea = 1;
                                        }
                                        else
                                        {
                                            Errores = Errores + 1;
                                        }
                                        break;
                                    //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP IQ#", Me.campoActual + "IN(" + ConditionString[2].Substring(3) + ")", Me.idArchivo)
                                    case "IN#":
                                        inString = conditionString[2].Substring(3)
                                            .Split(',');
                                        for (j = 0; j <= inString.Count() - 1; j++)
                                        {
                                            if (CampoActual == inString[j])
                                            {
                                                exitoLinea = 1;
                                                break;
                                                // TODO: might not be correct. Was : Exit For
                                            }
                                        }

                                        if (exitoLinea == 0)
                                        {
                                            Errores = Errores + 1;
                                        }
                                        break;
                                    //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP IN#", Me.campoActual + "IN(" + ConditionString[2].Substring(3) + ")", Me.idArchivo)
                                }
                            }
                            else
                            {
                                switch (conditionString[3].Substring(0, 3))
                                {
                                    case "SP#":
                                        if (ExecSpBool(conditionString[3].Substring(3)))
                                        {
                                            exitoLinea = 1;
                                        }
                                        else
                                        {
                                            Errores = Errores + 1;
                                        }
                                        break;
                                    //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP SP#", ConditionString[2].Substring(3), Me.idArchivo)
                                    case "EQ#":
                                        if (CampoActual ==
                                            conditionString[3].Substring(3))
                                        {
                                            exitoLinea = 1;
                                        }
                                        else
                                        {
                                            Errores = Errores + 1;
                                        }
                                        break;
                                    //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP EQ#", Me.campoActual + "=" + ConditionString[2].Substring(3), Me.idArchivo)
                                    case "IQ#":
                                        resultadoValor =
                                            ExecQuery(conditionString[3].Substring(3));
                                        if (resultadoValor.Contains(CampoActual))
                                        {
                                            exitoLinea = 1;
                                        }
                                        else
                                        {
                                            Errores = Errores + 1;
                                        }
                                        break;
                                    //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP IQ#", Me.campoActual + "IN(" + ConditionString[2].Substring(3) + ")", Me.idArchivo)
                                    case "IN#":
                                        inString = conditionString[3].Substring(3)
                                            .Split(',');
                                        for (j = 0; j <= inString.Count() - 1; j++)
                                        {
                                            if (CampoActual == inString[j])
                                            {
                                                exitoLinea = 1;
                                                break;
                                                // TODO: might not be correct. Was : Exit For
                                            }
                                        }

                                        if (exitoLinea == 0)
                                        {
                                            Errores = Errores + 1;
                                        }
                                        break;
                                    //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP IN#", Me.campoActual + "IN(" + ConditionString[2].Substring(3) + ")", Me.idArchivo)
                                }
                            }
                            break;
                        case "EQ#":
                            if (CampoActual.Equals(conditionString[2].Substring(3)))
                            {
                                exitoLinea = 1;
                            }
                            else
                            {
                                Errores = Errores + 1;
                            }
                            break;
                        //InsertaAuditoria(Me.UsuarioModificacion, "BOOL_IF_SP EQ#", Me.campoActual + "=" + ConditionString[2].Substring(3), Me.idArchivo)
                    }
                    break;
            }
            return exitoLinea;
        }
Esempio n. 7
0
 public List<Regla> ObtieneReglaLinea(ObjectResult<pa_file_ObtieneReglasArchivoPorLinea_Result> dt)
 {
     var reglaLinea = new List<Regla>();
     foreach (var iLoopVariable in dt)
     {
         var i = iLoopVariable;
         var regla = new Regla
         {
             idRegla = i.IdReglaArchivo,
             CaracterInicial = i.CaracterInicial.Value,
             LargoCampo = i.LargoCampo.Value,
             TipoCampo = i.TipoCampo,
             TipoValidacion = i.TipoValidacion,
             ReglaValidacion = i.ReglaValidacion,
             Tabladestino = i.TablaDestino
         };
         reglaLinea.Add(regla);
     }
     return reglaLinea;
 }