using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;

namespace YBEE.EQM.Core.SeedData;

/// <summary>
/// 字典类型种子
/// </summary>
public class SysDictTypeSeedData : IEntitySeedData<SysDictType>
{
    /// <summary>
    /// 种子数据
    /// </summary>
    /// <param name="dbContext"></param>
    /// <param name="dbContextLocator"></param>
    /// <returns></returns>
    /// <exception cref="NotImplementedException"></exception>
    public IEnumerable<SysDictType> HasData(DbContext dbContext, Type dbContextLocator)
    {
        return new[]
        {
            new SysDictType { Id = 101, Code = "common_status", Name = "通用状态", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 102, Code = "menu_type", Name = "菜单类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 103, Code = "menu_open_type", Name = "菜单打开类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 104, Code = "vis_type", Name = "访问类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 105, Code = "data_scope_type", Name = "数据范围类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 106, Code = "user_type", Name = "用户类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 107, Code = "student_status", Name = "学生状态", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 108, Code = "data_import_mode", Name = "数据导入模式", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 109, Code = "audit_status", Name = "审核状态", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 110, Code = "audit_action_type", Name = "审核操作", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 111, Code = "exam_sample_status", Name = "抽样状态", Status = CommonStatus.ENABLE },

            new SysDictType { Id = 201, Code = "education_stage", Name = "学段", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 202, Code = "semester_type", Name = "学期类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 203, Code = "exam_period_type", Name = "监测期间类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 204, Code = "exam_status", Name = "监测状态", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 205, Code = "publish_status", Name = "发布状态", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 206, Code = "data_report_status", Name = "数据上报状态", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 207, Code = "exam_sample_type", Name = "监测抽样类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 208, Code = "exam_type", Name = "监测类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 209, Code = "data_report_type", Name = "数据上报类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 210, Code = "data_publish_type", Name = "数据发布类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 211, Code = "ncee_line_level", Name = "高考划线等级", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 212, Code = "exam_score_range_type", Name = "分数段类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 213, Code = "question_catalog", Name = "题型大类", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 214, Code = "cognitive_ability", Name = "认知能力", Status = CommonStatus.ENABLE },

            new SysDictType { Id = 301, Code = "org_type", Name = "机构类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 302, Code = "org_fund_source", Name = "办学性质", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 303, Code = "urban_rural_type", Name = "城乡类别", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 304, Code = "certificate_type", Name = "证件类型", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 305, Code = "gender", Name = "性别", Status = CommonStatus.ENABLE },
            new SysDictType { Id = 306, Code = "school_job_title", Name = "职位", Status = CommonStatus.ENABLE },
        };
    }
}