Exemple #1
0
        public static Tuple <object, string, bool>[] GenerarTuplaLeerRegistros(object Estructura, DateTime FechaInicio, DateTime FechaFin, Constantes.TipoConsulta Consulta1, bool BuscarTodosLosEstados, params string[] Omitir)
        {
            PropertyInfo[] Propiedades = Estructura.GetType().GetProperties();
            Tuple <object, string, bool>[] TuplaFinal = new Tuple <object, string, bool> [Propiedades.Length + 4];
            try
            {
                TuplaFinal[0] = new Tuple <object, string, bool>((int)Consulta1, "Consulta", false);
                TuplaFinal[1] = new Tuple <object, string, bool>(BuscarTodosLosEstados, nameof(BuscarTodosLosEstados), false);
                TuplaFinal[2] = new Tuple <object, string, bool>(FechaInicio, nameof(FechaInicio), false);
                TuplaFinal[3] = new Tuple <object, string, bool>(FechaFin, nameof(FechaFin), false);
                int Index = 4;
                foreach (PropertyInfo Propiedad in Propiedades)
                {
                    object Valor = Propiedad.GetValue(Estructura, null);

                    if (Valor == null)
                    {
                        Valor = string.Empty;
                    }
                    else if (Valor.GetType() == typeof(DateTime))
                    {
                        if ((DateTime)Valor == DateTime.Parse("01/01/0001"))
                        {
                            Valor = DateTime.Parse("01/01/1900");
                        }
                    }
                    else if (Propiedad.PropertyType.FullName == "System.Char")
                    {
                        Valor = '\0';
                    }
                    TuplaFinal[Index] = new Tuple <object, string, bool>(Valor, Propiedad.Name, !(Omitir.Contains <string>(Propiedad.Name) || Valor.GetType() == typeof(Guid)));
                    Index++;
                }
                return(TuplaFinal);
            }
            catch (Exception)
            {
                return(null);
            }
        }
Exemple #2
0
        public static Tuple <object, string, bool>[] GenerarTuplaGuardarRegistro(object Estructura, string IdPrincipal, string IdGuid, Constantes.Accion Accion1)
        {
            List <string> Excluir = new List <string> {
                nameof(Administradores.NumeroControlCreacion), nameof(Administradores.NumeroControlActualizacion)
            };

            if (Accion1 == Constantes.Accion.Insertar)
            {
                Excluir.Add(nameof(Administradores.IdAdminActualizacion));
                Excluir.Add(nameof(Administradores.FechaActualizacion));
            }
            else if (Accion1 == Constantes.Accion.Actualizar)
            {
                Excluir.Add(nameof(Administradores.IdAdminCreacion));
                Excluir.Add(nameof(Administradores.FechaCreacion));
            }

            PropertyInfo[] Propiedades = Estructura.GetType().GetProperties();
            List <Tuple <object, string, bool> > TuplaFinal = new List <Tuple <object, string, bool> >();

            try
            {
                foreach (PropertyInfo Propiedad in Propiedades)
                {
                    if (!Excluir.Contains(Propiedad.Name))
                    {
                        var Valor = Propiedad.GetValue(Estructura, null);

                        if (Valor == null)
                        {
                            Valor = string.Empty;
                        }
                        else if (Valor.GetType() == typeof(DateTime))
                        {
                            if ((DateTime)Valor == DateTime.Parse("01/01/0001"))
                            {
                                Valor = DateTime.Parse("01/01/1900");
                            }
                        }
                        else if (Propiedad.PropertyType.FullName == "System.Char")
                        {
                            Valor = '\0';
                        }

                        if (Accion1 == Constantes.Accion.Insertar)
                        {
                            TuplaFinal.Add(new Tuple <object, string, bool>(Valor, Propiedad.Name, (Propiedad.Name == IdPrincipal || Propiedad.Name == IdGuid)));
                        }
                        else if (Accion1 == Constantes.Accion.Actualizar)
                        {
                            TuplaFinal.Add(new Tuple <object, string, bool>(Valor, Propiedad.Name, !(Propiedad.Name == IdPrincipal || Propiedad.Name == IdGuid)));
                        }
                    }
                }

                return(TuplaFinal.ToArray());
            }
            catch (Exception)
            {
                return(null);
            }
        }