         self.id = id
     }
     
-    
-    
     private class func openConnection() {
         Camembert.closeDataBase()
         if let dbFolder = DataAccess.access.DbPath {

        return opResult
    }
    
    func update() -> OperationResult {
        if self.id == -1 {
            return OperationResult.Error_NoRecordFoundWithID
        }
        CamembertModel.openConnection()
        var requestUpdate :String = "UPDATE \(self.nameTable) SET "
        
        for var index = 1; index < reflect(self).count; index++ {
            var currentValue = reflect(self)[index].1.value
            
            switch currentValue {
            case let v where (currentValue as? TEXT != nil): requestUpdate += "\(reflect(self)[index].0) = \"\(currentValue)\""
            case let v where (currentValue as? DATE_TIME != nil):
                let dateformatter = NSDateFormatter();
                dateformatter.dateFormat = Camembert.Date_Time_Format;
                let date = (currentValue as NSDate)
                requestUpdate += "\(reflect(self)[index].0) = \"\(date)\""
                break;
                
            case let v where (currentValue as? BIT != nil):
                let result = (currentValue as Bool) ? "1" : "0";
                requestUpdate += "\(reflect(self)[index].0) = \"\(result)\""
            default: requestUpdate += "\(reflect(self)[index].0) = \(currentValue)"
            }
            
            switch index {
            case reflect(self).count - 1: requestUpdate += " WHERE id = \(self.id!);"
            default: requestUpdate += ", "
            }
        }
        let result = camembertExecSqlite3(UnsafeMutablePointer<Void>(DataAccess.access.dataAccess),
            requestUpdate.cStringUsingEncoding(NSUTF8StringEncoding)!)
        var opResult = OperationResult.Success

            return OperationResult.Error_DuplicatedID;
        }
        CamembertModel.openConnection()
        
        let mirror = Mirror(reflecting: self)
        let children = mirror.children
        let lastIndex = children.endIndex
        var requestPush = "INSERT INTO " + self.nameTable + " ("
        
        for var i in children.indices
        {
            if (i.successor() == lastIndex)
            {
                requestPush += children[i].label! + ")"
            }
            else
            {
                requestPush += children[i].label! + ", "
            }
        }
        
        requestPush += " VALUES ("
        
        for var i in children.indices
        {
            let currentValue = children[i].value
            
            switch currentValue
            {
            case let v where (currentValue as? TEXT != nil): requestPush += "\"\(currentValue)\""
            case let v where (currentValue as? DATE_TIME != nil):
                let dateformatter = NSDateFormatter();
                dateformatter.dateFormat = Camembert.Date_Time_Format;
                let date = (currentValue as! NSDate)
                let result = dateformatter.dateFromString("\(date)")
                requestPush += "\"\(date)\""
                break;
            case let v where (currentValue as? BIT != nil):
                if (currentValue as! Bool)
                {
                    requestPush += "1";
                }
                else
                {
                    requestPush += "0";
                }
                break;
            default: requestPush += "\(currentValue)"
            }
            
            if (i.successor() == lastIndex)
            {
                requestPush += ");"
            }
            else
            {
                requestPush += ", "
            }
        }
        
        let result = camembertExecSqlite3(UnsafeMutablePointer<Void>(DataAccess.access.dataAccess),
            requestPush.cStringUsingEncoding(NSUTF8StringEncoding)!)
        self.id = Int(sqlite3_last_insert_rowid(DataAccess.access.dataAccess))
