/// <summary>
        /// Procesa el valor para que sea compatible con el de la base de datos.
        /// Ejemplo, si es un string, le agrega las comillas.
        /// </summary>
        /// <param name="at"></param>
        /// <returns></returns>
        protected string ValorToBd(Atributos at)
        {
            Type t = at.Property.PropertyType;

            try
            {
                if (t.Equals(typeof(bool)))
                {
                    bool valor = (bool)at.Valor;
                    if (valor)
                        return "1";
                    else
                        return "0";
                }
                else if (t.Equals(typeof(string)))
                {
                    if (at.Valor == null)
                        return "''";
                    else
                        return "'" + at.Valor.ToString() + "'";
                }
                else if (t.Equals(typeof(DateTime)))
                {
                    if (at.Valor == null)
                        return "''";
                    else
                    {
                        var sb = new StringBuilder();
                        sb.Append("'");
                        DateTime valor = (DateTime)at.Valor;
                        if (at.Columna.Formato.Tipo.Equals(Formato.DateTimeType))
                        {
                            sb.Append(valor.ToString("yyyy-MM-dd HH:mm:ss.fffffff"));
                        }
                        else if (at.Columna.Formato.Tipo.Equals(Formato.TimeType))
                        {
                            sb.Append(valor.ToString("HH:mm:ss.fffffff"));
                        }
                        else
                        {
                            sb.Append(valor.ToString("yyyy-MM-dd"));
                        } 
                        sb.Append("'");
                        return sb.ToString();
                    }
                }
                else
                {
                    if (at.Valor == null)
                        return "";
                    else
                        return at.Valor.ToString();
                }
            }
            catch
            {
                return at.Valor.ToString();
            }
        }
 void Class_AlEncontrarIdentificador(ref Armador arm, Identificador i, PropertyInfo pi, object val)
 {
     Atributos at;
     if (val != null)
     {
         at = new Atributos(i.Nombre, pi.GetValue(arm.InstanciaAsociada, null), pi, val);
     }
     else
     {
         at = new Atributos(i.Nombre, null, pi);
     }
     at.Atributo = pi.Name;
     at.Autogenerado = i.Autogenerado;
     at.SoloLectura = !i.Modificable;
     arm.AgregarIdentificador(at);
 }
 void Class_AlEncontrarAtributo(ref Armador arm, Atributo a, PropertyInfo pi, object val)
 {
     Atributos at;
     if (val != null)
     {
         at = new Atributos(a.Nombre, pi.GetValue(arm.InstanciaAsociada, null), pi, val);
     }
     else
     {
         at = new Atributos(a.Nombre, null, pi);
     }
     at.Atributo = pi.Name;
     at.Autogenerado = a.Autogenerado;
     at.SoloLectura = !a.Modificable;
     at.EsNumerico = a.EsNumerico;
     at.EsMail = a.EsMail;
     at.EsCuit = a.EsCuit;
     at.EsImporte = a.EsImporte;
     at.EsPorcentaje = a.EsPorcentaje;
     at.EsDni = a.EsDni;
     at.EsLetra = a.EsLetra;
     arm.Agregar(at);
 }
示例#4
0
        public bool EsIdentificador(Atributos a)
        {
            foreach (Atributos i in Identificadores)
            {
                if (a.Nombre.Equals(i.Nombre))
                {
                    return true;
                }
            }

            return false;
        }
示例#5
0
 /// <summary>
 /// Agrega un atributo, y lo coloca en la lista de identificadores.
 /// </summary>
 /// <param name="a"></param>
 public void AgregarIdentificador(Atributos a)
 {
     Identificadores.Add(a);
     Atributos.Add(a);
 }
示例#6
0
 /// <summary>
 /// Agrega un atributo.
 /// </summary>
 /// <param name="a"></param>
 public void Agregar(Atributos a)
 {
     Atributos.Add(a);
 }