Exemplo n.º 1
0
        public void InitSPList(SPWeb web)
        {
            string path = SPUtility.GetCurrentGenericSetupPath(@"TEMPLATE\LAYOUTS\SP.Framework.SiteStructure\SPList_Init.xlsx");
            Dictionary <string, DataTable> dicTable = EPPlus.ExcelToDataTable(path);

            string    typeListName = "SYS_LOOKUP_TYPES";
            DataTable typeTable    = dicTable[typeListName];
            SPList    typeList     = web.Lists.TryGetList(typeListName);

            foreach (DataRow dr in typeTable.Rows)
            {
                SPListItem item = typeList.Items.Add();
                item["APP_CODE"]     = dr["APP_CODE"];
                item["SYSCODE_FLAG"] = dr["SYSCODE_FLAG"];
                item["LOOKUP_CODE"]  = dr["LOOKUP_CODE"];
                item["LOOKUP_NAME"]  = dr["LOOKUP_NAME"];
                item["REMARK"]       = dr["REMARK"];
                item["ENABLE"]       = dr["ENABLE"];
                item.Update();
            }

            string    valueListName = "SYS_LOOKUP_VALUES";
            DataTable valueTable    = dicTable[valueListName];
            SPList    valueList     = web.Lists.TryGetList(valueListName);

            foreach (DataRow dr in valueTable.Rows)
            {
                SPListItem item  = valueList.Items.Add();
                string     caml  = Camlex.Query().Where(x => (string)x["LOOKUP_CODE"] == dr["LOOKUP_CODE"].ToString()).ToString();
                SPQuery    query = new SPQuery();
                query.Query = caml;

                var code = SPHelper.GetListItems(web, typeListName, query);

                SPFieldLookupValue value = new SPFieldLookupValue(code[0]["ID"].ToString());
                item["LOOKUP_CODE_LINE"]  = value;
                item["LOOKUP_VALUE"]      = dr["LOOKUP_VALUE"];
                item["LOOKUP_VALUE_NAME"] = dr["LOOKUP_VALUE_NAME"];
                item["REMARK"]            = dr["REMARK"];
                item["ENABLE"]            = dr["ENABLE"];
                item.Update();
            }
        }