Exemplo n.º 1
0
    public bool AddData(object obj)
    {
        Type           obj_type = obj.GetType();
        ResourceObject obj_res  = new ResourceObject(table_name);

        foreach (FieldInfo field_info in obj_type.GetFields())
        {
            object obj_value = field_info.GetValue(obj);
            if (obj_value == null)
            {
                continue;
            }

            switch (field_info.FieldType.Name)
            {
            case "Boolean":
                obj_value = ((Boolean)obj_value) == true ? 1 : 0;
                break;
            }

            obj_res.AddProperty(field_info.Name, obj_value.ToString());
        }

        return(Save(obj_res.GetIntPropertyValue("id"), obj_res));
    }
Exemplo n.º 2
0
    protected bool GetNextLine(ResourceObject current_object)
    {
        if (stream_reader.EndOfStream)
        {
            return(false);
        }

        string line = GetNextLine();

        if (line == null)
        {
            return(false);
        }

        if (crypto)
        {
            line = dc.Decrypto(line);
        }

        current_object.Clear();

        int index = 0;

        string[] property = line.Split('\t');
        while (index < (property.Length - 1))
        {
            string name = property[index++].ToLower();
            if (string.IsNullOrEmpty(name))
            {
                break;
            }

            string value = property[index++];
            if (current_object.ContainsKey(name))
            {
                throw (new Exception(string.Format("数据有错,有相同属性: name={0}, line={1}", name, line)));
            }

            current_object.AddProperty(name, value);
        }

        return(true);
    }