示例#1
0
 /// <summary>
 /// Inserta un elemento, selecciona el último id del elemento insertado.
 /// El id es asignado al elemento y es regresado en la función
 /// </summary>
 /// <typeparam name="T">El tipo de elemento a retornar</typeparam>
 /// <param name="element">El elmento generico a insertar.</param>
 /// <param name="conn">La conexión a SQLite.</param>
 /// <param name="input">La entrada necesaria para insertar el elemento.</param>
 /// <returns></returns>
 public static T GetLastId <T>(this IDatabaseMappable element, SQLite_Connector conn, Object input)
     where T : IDatabaseMappable
 {
     if (element.Create(conn, input))
     {
         element.Id = (int)conn.SelectValue <long>(element.TableName.SelectLastId(element.PrimaryKey));
     }
     return((T)element);
 }
示例#2
0
 /// <summary>
 /// Crea el campo como una cadena
 /// </summary>
 /// <param name="data">El objeto a crear el campo.</param>
 /// <param name="columnName">El nombre de la columna.</param>
 /// <param name="value">El valor de la columna.</param>
 /// <returns>El campo a insertar</returns>
 public static InsertField CreateFieldAsString(this IDatabaseMappable data, string columnName, Object value)
 {
     return(new InsertField()
     {
         ColumnName = columnName,
         DataType = InsertFieldType.STRING,
         Tablename = data.TableName,
         Value = value == null ? String.Empty : value.ToString()
     });
 }
示例#3
0
 /// <summary>
 /// Crea el campo como fecha
 /// </summary>
 /// <param name="data">El objeto a crear el campo.</param>
 /// <param name="columnName">El nombre de la columna.</param>
 /// <param name="value">El valor de la columna.</param>
 /// <returns>El campo a insertar</returns>
 public static InsertField CreateFieldAsDate(this IDatabaseMappable data, string columnName, DateTime value)
 {
     return(new InsertField()
     {
         ColumnName = columnName,
         DataType = InsertFieldType.DATE,
         Tablename = data.TableName,
         Value = value
     });
 }
示例#4
0
 /// <summary>
 /// Crea el campo como un número
 /// </summary>
 /// <param name="data">El objeto a crear el campo.</param>
 /// <param name="columnName">El nombre de la columna.</param>
 /// <param name="value">El valor de la columna.</param>
 /// <returns>El campo a insertar</returns>
 public static InsertField CreateFieldAsNumber(this IDatabaseMappable data, string columnName, Object value)
 {
     return(new InsertField()
     {
         ColumnName = columnName,
         DataType = InsertFieldType.NUMBER,
         Tablename = data.TableName,
         Value = value
     });
 }
示例#5
0
        /// <summary>
        /// Crea una condición que pide que la llave primaria sea igual
        /// al valor del Id del elemento.
        /// </summary>
        /// <param name="element">El elemento a evaluar.</param>
        /// <returns>La condición como una cadena de SQL</returns>
        public static string CreatePrimaryKeyCondition(this IDatabaseMappable element)
        {
            String condition = "\"{0}\" = {1} ";

            return(String.Format(condition, element.PrimaryKey, element.Id));
        }