using System;
using Microsoft.EntityFrameworkCore.Migrations;

namespace wispro.sp.api.Migrations
{
    public partial class addCaseCeoffcient : Migration
    {
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.CreateTable(
                name: "AppealType",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    CanDoExpress = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
                    ReviewerExpress = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
                    Type = table.Column<int>(type: "int", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_AppealType", x => x.Id);
                });

            migrationBuilder.CreateTable(
                name: "BasePointRule",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Rule = table.Column<string>(type: "nvarchar(1000)", maxLength: 1000, nullable: true),
                    PointExpress = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
                    Priority = table.Column<int>(type: "int", nullable: false),
                    Type = table.Column<string>(type: "nvarchar(20)", maxLength: 20, nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_BasePointRule", x => x.Id);
                });

            migrationBuilder.CreateTable(
                name: "CalMonth",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    year = table.Column<int>(type: "int", nullable: false),
                    month = table.Column<int>(type: "int", nullable: false),
                    status = table.Column<int>(type: "int", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_CalMonth", x => x.Id);
                });

            migrationBuilder.CreateTable(
                name: "CaseCeofficient",
                columns: table => new
                {
                    Ceoffcient = table.Column<string>(type: "nvarchar(450)", nullable: false),
                    Value = table.Column<double>(type: "float", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_CaseCeofficient", x => x.Ceoffcient);
                });

            migrationBuilder.CreateTable(
                name: "StaffGrade",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Grade = table.Column<string>(type: "nchar(5)", fixedLength: true, maxLength: 5, nullable: false),
                    Coefficient = table.Column<double>(type: "float", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_StaffGrade", x => x.Id);
                });

            migrationBuilder.CreateTable(
                name: "InputField",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    FieldName = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    FieldType = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    MapObjectField = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    MapObjectFieldLabel = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    AppealTypeId = table.Column<int>(type: "int", nullable: false),
                    AppealState = table.Column<int>(type: "int", nullable: false),
                    CanMuliSelect = table.Column<bool>(type: "bit", nullable: false),
                    MaxSize = table.Column<int>(type: "int", nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_InputField", x => x.Id);
                    table.ForeignKey(
                        name: "FK_InputField_AppealType_AppealTypeId",
                        column: x => x.AppealTypeId,
                        principalTable: "AppealType",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                });

            migrationBuilder.CreateTable(
                name: "Staff",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Account = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
                    Password = table.Column<string>(type: "nvarchar(max)", nullable: false),
                    Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
                    Sex = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Tel = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Mobile = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    IsOnJob = table.Column<bool>(type: "bit", nullable: false),
                    Status = table.Column<string>(type: "nvarchar(25)", maxLength: 25, nullable: false),
                    isCalPerformsnce = table.Column<bool>(type: "bit", nullable: false),
                    StaffGradeId = table.Column<int>(type: "int", nullable: true),
                    Department = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    WorkPlace = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    EntyDate = table.Column<DateTime>(type: "date", nullable: true),
                    Mail = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Memo = table.Column<string>(type: "nvarchar(max)", nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_Staff", x => x.Id);
                    table.ForeignKey(
                        name: "FK_Staff_StaffGrade",
                        column: x => x.StaffGradeId,
                        principalTable: "StaffGrade",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                });

            migrationBuilder.CreateTable(
                name: "VerifyCoefficient",
                columns: table => new
                {
                    CheckerId = table.Column<int>(type: "int", nullable: false),
                    DoPersonId = table.Column<int>(type: "int", nullable: false),
                    Coefficient = table.Column<double>(type: "float", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_VerifyCoefficient", x => new { x.CheckerId, x.DoPersonId });
                    table.ForeignKey(
                        name: "FK_VerifyCoefficient_StaffGrade",
                        column: x => x.CheckerId,
                        principalTable: "StaffGrade",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                    table.ForeignKey(
                        name: "FK_VerifyCoefficient_StaffGrade1",
                        column: x => x.DoPersonId,
                        principalTable: "StaffGrade",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                });

            migrationBuilder.CreateTable(
                name: "SelectValue",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Value = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    InputFieldId = table.Column<int>(type: "int", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_SelectValue", x => x.Id);
                    table.ForeignKey(
                        name: "FK_SelectValue_InputField_InputFieldId",
                        column: x => x.InputFieldId,
                        principalTable: "InputField",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                });

            migrationBuilder.CreateTable(
                name: "Customer",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    Name = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: false),
                    ContactMan = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    Address = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
                    Phone = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    ResponseManId = table.Column<int>(type: "int", nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_Customer", x => x.Id);
                    table.ForeignKey(
                        name: "FK_Customer_Staff",
                        column: x => x.ResponseManId,
                        principalTable: "Staff",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                });

            migrationBuilder.CreateTable(
                name: "Message",
                columns: table => new
                {
                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
                    MessageInfo = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
                    Type = table.Column<int>(type: "int", nullable: false),
                    FromId = table.Column<int>(type: "int", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_Message", x => x.Id);
                    table.ForeignKey(
                        name: "FK_From_Staff",
                        column: x => x.FromId,
                        principalTable: "Staff",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                });

            migrationBuilder.CreateTable(
                name: "PerformanceItem",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    CaseNo = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    ApplicationType = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    BusinessType = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    AgentFeedbackMemo = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    DoItem = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    CaseStage = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    CaseCoefficient = table.Column<string>(type: "nvarchar(10)", maxLength: 10, nullable: true),
                    DoItemCoefficient = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    PreOAStaffId = table.Column<int>(type: "int", nullable: true),
                    ReviewerId = table.Column<int>(type: "int", nullable: true),
                    CustomerId = table.Column<int>(type: "int", nullable: true),
                    ApplicationName = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
                    FinishedDate = table.Column<DateTime>(type: "date", nullable: true),
                    FinalizationDate = table.Column<DateTime>(type: "date", nullable: true),
                    ReturnDate = table.Column<DateTime>(type: "date", nullable: true),
                    CaseType = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    CaseState = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    DoItemMemo = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
                    DoItemState = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: true),
                    CaseName = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
                    CustomerLimitDate = table.Column<DateTime>(type: "date", nullable: true),
                    EntrustingDate = table.Column<DateTime>(type: "date", nullable: true),
                    InternalDate = table.Column<DateTime>(type: "date", nullable: true),
                    FirstDraftDate = table.Column<DateTime>(type: "date", nullable: true),
                    OverDueMemo = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: true),
                    BasePoint = table.Column<decimal>(type: "numeric(18,2)", nullable: true),
                    Status = table.Column<int>(type: "int", nullable: true),
                    CaseMemo = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    WordCount = table.Column<int>(type: "int", nullable: true),
                    ReturnCasseNo = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Type = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    CalMonthId = table.Column<int>(type: "int", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_PerformanceItem", x => x.Id);
                    table.ForeignKey(
                        name: "FK_PerformanceItem_CalMonth",
                        column: x => x.CalMonthId,
                        principalTable: "CalMonth",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                    table.ForeignKey(
                        name: "FK_PerformanceItem_Customer",
                        column: x => x.CustomerId,
                        principalTable: "Customer",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                    table.ForeignKey(
                        name: "FK_PerformanceItem_Reviewer",
                        column: x => x.ReviewerId,
                        principalTable: "Staff",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                    table.ForeignKey(
                        name: "FK_PerformanceItem_Staff",
                        column: x => x.PreOAStaffId,
                        principalTable: "Staff",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                });

            migrationBuilder.CreateTable(
                name: "MessageReadRecord",
                columns: table => new
                {
                    MessageId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
                    StaffId = table.Column<int>(type: "int", nullable: false),
                    isReaded = table.Column<bool>(type: "bit", nullable: false),
                    MessageId1 = table.Column<Guid>(type: "uniqueidentifier", nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_MessageReadRecord", x => new { x.MessageId, x.StaffId });
                    table.ForeignKey(
                        name: "FK_MessageReadRecord_Message",
                        column: x => x.MessageId,
                        principalTable: "Message",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                    table.ForeignKey(
                        name: "FK_MessageReadRecord_Message_MessageId1",
                        column: x => x.MessageId1,
                        principalTable: "Message",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                    table.ForeignKey(
                        name: "FK_MessageReadRecord_Staff",
                        column: x => x.StaffId,
                        principalTable: "Staff",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                });

            migrationBuilder.CreateTable(
                name: "AppealRecord",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    CreaterId = table.Column<int>(type: "int", nullable: false),
                    CreateTime = table.Column<DateTime>(type: "datetime2", nullable: false),
                    Reason = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
                    State = table.Column<int>(type: "int", nullable: false),
                    ReviewerId = table.Column<int>(type: "int", nullable: true),
                    ReviewerMemo = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    ReviewTime = table.Column<DateTime>(type: "datetime2", nullable: true),
                    TypeId = table.Column<int>(type: "int", nullable: false),
                    ItemId = table.Column<int>(type: "int", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_AppealRecord", x => x.Id);
                    table.ForeignKey(
                        name: "FK_AppealRecord_AppealType_TypeId",
                        column: x => x.TypeId,
                        principalTable: "AppealType",
                        principalColumn: "Id");
                    table.ForeignKey(
                        name: "FK_AppealRecord_PerformanceItem_ItemId",
                        column: x => x.ItemId,
                        principalTable: "PerformanceItem",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                    table.ForeignKey(
                        name: "FK_AppealRecord_Staff_CreaterId",
                        column: x => x.CreaterId,
                        principalTable: "Staff",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                    table.ForeignKey(
                        name: "FK_AppealRecord_Staff_ReviewerId",
                        column: x => x.ReviewerId,
                        principalTable: "Staff",
                        principalColumn: "Id");
                });

            migrationBuilder.CreateTable(
                name: "ItemStaff",
                columns: table => new
                {
                    ItemId = table.Column<int>(type: "int", nullable: false),
                    DoPersonId = table.Column<int>(type: "int", nullable: false),
                    PerformancePoint = table.Column<double>(type: "float", nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_ItemStaff", x => new { x.ItemId, x.DoPersonId });
                    table.ForeignKey(
                        name: "FK_ItemStaff_PerformanceItem",
                        column: x => x.ItemId,
                        principalTable: "PerformanceItem",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                    table.ForeignKey(
                        name: "FK_ItemStaff_Staff",
                        column: x => x.DoPersonId,
                        principalTable: "Staff",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                });

            migrationBuilder.CreateTable(
                name: "MessagePerformanceItems",
                columns: table => new
                {
                    MessageId = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
                    ItemId = table.Column<int>(type: "int", nullable: false)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_MessagePerformanceItems", x => new { x.ItemId, x.MessageId });
                    table.ForeignKey(
                        name: "FK_MessagePerformanceItem_Item",
                        column: x => x.ItemId,
                        principalTable: "PerformanceItem",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                    table.ForeignKey(
                        name: "FK_MessagePerformanceItem_Message",
                        column: x => x.MessageId,
                        principalTable: "Message",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                });

            migrationBuilder.CreateTable(
                name: "AttachFile",
                columns: table => new
                {
                    Id = table.Column<Guid>(type: "uniqueidentifier", nullable: false),
                    Name = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
                    SavePath = table.Column<string>(type: "nvarchar(200)", maxLength: 200, nullable: true),
                    UploadUserId = table.Column<int>(type: "int", nullable: false),
                    AppealRecordId = table.Column<int>(type: "int", nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_AttachFile", x => x.Id);
                    table.ForeignKey(
                        name: "FK_AttachFile_AppealRecord",
                        column: x => x.AppealRecordId,
                        principalTable: "AppealRecord",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Restrict);
                    table.ForeignKey(
                        name: "FK_AttachFile_UpdateUser",
                        column: x => x.UploadUserId,
                        principalTable: "Staff",
                        principalColumn: "Id");
                });

            migrationBuilder.CreateTable(
                name: "InputFieldValue",
                columns: table => new
                {
                    Id = table.Column<int>(type: "int", nullable: false)
                        .Annotation("SqlServer:Identity", "1, 1"),
                    InputFieldId = table.Column<int>(type: "int", nullable: false),
                    Label = table.Column<string>(type: "nvarchar(max)", nullable: true),
                    Value = table.Column<string>(type: "nvarchar(500)", maxLength: 500, nullable: true),
                    AppealRecordId = table.Column<int>(type: "int", nullable: false),
                    mapExpress = table.Column<string>(type: "nvarchar(max)", nullable: true)
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_InputFieldValue", x => x.Id);
                    table.ForeignKey(
                        name: "FK_InputFieldValue_AppealRecord_AppealRecordId",
                        column: x => x.AppealRecordId,
                        principalTable: "AppealRecord",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                    table.ForeignKey(
                        name: "FK_InputFieldValue_InputField_InputFieldId",
                        column: x => x.InputFieldId,
                        principalTable: "InputField",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                });

            migrationBuilder.InsertData(
                table: "AppealType",
                columns: new[] { "Id", "CanDoExpress", "Name", "ReviewerExpress", "Type" },
                values: new object[,]
                {
                    { 1, "p.ItemStaffs.Count()>1", "绩效点数分配比率", null, 0 },
                    { 2, "p.DoItem==\"新申请\"", "案件系数复核", "p.Reviewer", 0 },
                    { 3, "p.DoItem==\"新申请\"", "处理事项系数复核", "p.Reviewer", 0 },
                    { 4, "", "案件缺漏申诉", "p.Reviewer", 1 },
                    { 5, "p.isDanger()", "案件严重超期说明", null, 0 },
                    { 6, "p.DoItem==\"新申请\" || p.DoItem==\"翻译\"", "按照翻译字数算绩效备注", null, 0 }
                });

            migrationBuilder.InsertData(
                table: "CaseCeofficient",
                columns: new[] { "Ceoffcient", "Value" },
                values: new object[,]
                {
                    { "D", 0.40000000000000002 },
                    { "C", 0.69999999999999996 },
                    { "B", 1.0 },
                    { "A", 1.5 },
                    { "S", 2.5 }
                });

            migrationBuilder.InsertData(
                table: "StaffGrade",
                columns: new[] { "Id", "Coefficient", "Grade" },
                values: new object[,]
                {
                    { 14, 1.1000000000000001, "A级" },
                    { 13, 0.5, "D1级" },
                    { 12, 0.59999999999999998, "D2级" },
                    { 11, 0.59999999999999998, "D3级" },
                    { 10, 0.69999999999999996, "C1级" },
                    { 9, 0.69999999999999996, "C2级" },
                    { 8, 0.90000000000000002, "C3级" },
                    { 3, 1.1000000000000001, "A2级" },
                    { 6, 1.0, "B2级" },
                    { 5, 1.0, "B3级" },
                    { 4, 1.1000000000000001, "A1级" },
                    { 15, 1.0, "C级" },
                    { 2, 1.1000000000000001, "A3级" },
                    { 1, 1.2, "S级" },
                    { 7, 0.90000000000000002, "B1级" },
                    { 16, 0.90000000000000002, "D级" }
                });

            migrationBuilder.InsertData(
                table: "InputField",
                columns: new[] { "Id", "AppealState", "AppealTypeId", "CanMuliSelect", "FieldName", "FieldType", "MapObjectField", "MapObjectFieldLabel", "MaxSize" },
                values: new object[,]
                {
                    { 1, 0, 1, false, "分配比率", "System.Double", "ItemStaffs.PerformancePoint", "ItemStaffs.DoPerson.Name", null },
                    { 24, 1, 6, false, "翻译字数", "System.Int32", "WordCount", null, null },
                    { 23, 1, 6, false, "审核意见", "System.Int32", null, null, null },
                    { 20, 0, 6, false, "翻译字数", "System.Int32", "WordCount", null, null },
                    { 19, 0, 6, false, "翻译类型", "System.String", "AgentFeedbackMemo", null, null },
                    { 21, 1, 5, false, "审核意见", "System.String", null, null, null },
                    { 18, 0, 5, false, "超期说明", "System.String", "OverDueMemo", null, null },
                    { 17, 1, 4, false, "审核意见", "System.String", null, null, null },
                    { 16, 1, 4, false, "备注", "System.String", null, null, null },
                    { 15, 0, 4, false, "处理事项", "System.String", null, null, null },
                    { 22, 1, 5, false, "备注", "System.String", null, null, null },
                    { 13, 1, 3, false, "审核意见", "System.String", null, null, null },
                    { 12, 1, 3, false, "备注", "System.String", null, null, null },
                    { 11, 0, 3, false, "处理事项系数", "System.String", "DoItemCoefficient", null, null },
                    { 10, 1, 2, false, "审核意见", "System.String", null, null, null },
                    { 9, 1, 2, false, "备注", "System.String", null, null, null },
                    { 6, 0, 2, false, "案件系数", "System.String", "CaseCoefficient", null, null },
                    { 5, 1, 1, false, "审核意见", "System.String", null, null, null },
                    { 4, 1, 1, false, "备注", "System.String", null, null, null },
                    { 3, 0, 1, false, "原因", "System.String", null, null, null },
                    { 14, 0, 4, false, "我方文号", "System.String", null, null, null }
                });

            migrationBuilder.InsertData(
                table: "VerifyCoefficient",
                columns: new[] { "CheckerId", "DoPersonId", "Coefficient" },
                values: new object[,]
                {
                    { 2, 11, 0.40000000000000002 },
                    { 1, 11, 0.5 },
                    { 6, 10, 0.29999999999999999 },
                    { 5, 10, 0.29999999999999999 },
                    { 4, 10, 0.29999999999999999 },
                    { 5, 9, 0.29999999999999999 },
                    { 2, 10, 0.29999999999999999 },
                    { 1, 10, 0.40000000000000002 },
                    { 6, 9, 0.29999999999999999 },
                    { 3, 11, 0.40000000000000002 },
                    { 3, 10, 0.29999999999999999 },
                    { 4, 11, 0.40000000000000002 },
                    { 2, 13, 0.5 },
                    { 6, 11, 0.40000000000000002 },
                    { 1, 12, 0.5 },
                    { 2, 12, 0.40000000000000002 },
                    { 3, 12, 0.40000000000000002 },
                    { 4, 12, 0.40000000000000002 },
                    { 5, 12, 0.40000000000000002 },
                    { 6, 12, 0.40000000000000002 },
                    { 1, 13, 0.59999999999999998 }
                });

            migrationBuilder.InsertData(
                table: "VerifyCoefficient",
                columns: new[] { "CheckerId", "DoPersonId", "Coefficient" },
                values: new object[,]
                {
                    { 4, 9, 0.29999999999999999 },
                    { 3, 13, 0.5 },
                    { 4, 13, 0.5 },
                    { 5, 11, 0.40000000000000002 },
                    { 3, 9, 0.29999999999999999 },
                    { 5, 7, 0.20000000000000001 },
                    { 1, 9, 0.40000000000000002 },
                    { 1, 5, 0.29999999999999999 },
                    { 2, 5, 0.20000000000000001 },
                    { 3, 5, 0.20000000000000001 },
                    { 4, 5, 0.20000000000000001 },
                    { 5, 5, 0.20000000000000001 },
                    { 1, 6, 0.29999999999999999 },
                    { 2, 6, 0.20000000000000001 },
                    { 3, 6, 0.20000000000000001 },
                    { 4, 6, 0.20000000000000001 },
                    { 5, 6, 0.20000000000000001 },
                    { 6, 5, 0.20000000000000001 },
                    { 2, 9, 0.29999999999999999 },
                    { 6, 6, 0.20000000000000001 },
                    { 2, 7, 0.20000000000000001 },
                    { 3, 7, 0.20000000000000001 },
                    { 4, 7, 0.20000000000000001 },
                    { 5, 13, 0.5 },
                    { 6, 7, 0.20000000000000001 },
                    { 1, 8, 0.29999999999999999 },
                    { 2, 8, 0.20000000000000001 },
                    { 3, 8, 0.20000000000000001 },
                    { 4, 8, 0.20000000000000001 },
                    { 5, 8, 0.20000000000000001 },
                    { 6, 8, 0.20000000000000001 },
                    { 1, 7, 0.29999999999999999 },
                    { 6, 13, 0.5 }
                });

            migrationBuilder.InsertData(
                table: "SelectValue",
                columns: new[] { "Id", "InputFieldId", "Value" },
                values: new object[,]
                {
                    { 1, 5, "同意" },
                    { 16, 19, "中-德" },
                    { 20, 22, "拒绝" },
                    { 19, 22, "同意" },
                    { 8, 17, "拒绝" },
                    { 7, 17, "同意" },
                    { 6, 13, "拒绝" },
                    { 5, 13, "同意" },
                    { 15, 11, "形式" },
                    { 14, 11, "实质" },
                    { 4, 10, "拒绝" },
                    { 3, 10, "同意" },
                    { 13, 6, "D" },
                    { 12, 6, "C" },
                    { 11, 6, "B" },
                    { 10, 6, "A" },
                    { 9, 6, "S" },
                    { 2, 5, "拒绝" },
                    { 17, 19, "中-英" },
                    { 18, 19, "英-中" }
                });

            migrationBuilder.CreateIndex(
                name: "IX_AppealRecord_CreaterId",
                table: "AppealRecord",
                column: "CreaterId");

            migrationBuilder.CreateIndex(
                name: "IX_AppealRecord_ItemId",
                table: "AppealRecord",
                column: "ItemId");

            migrationBuilder.CreateIndex(
                name: "IX_AppealRecord_ReviewerId",
                table: "AppealRecord",
                column: "ReviewerId");

            migrationBuilder.CreateIndex(
                name: "IX_AppealRecord_TypeId",
                table: "AppealRecord",
                column: "TypeId");

            migrationBuilder.CreateIndex(
                name: "IX_AttachFile_AppealRecordId",
                table: "AttachFile",
                column: "AppealRecordId");

            migrationBuilder.CreateIndex(
                name: "IX_AttachFile_UploadUserId",
                table: "AttachFile",
                column: "UploadUserId");

            migrationBuilder.CreateIndex(
                name: "IX_Customer_ResponseManId",
                table: "Customer",
                column: "ResponseManId");

            migrationBuilder.CreateIndex(
                name: "IX_InputField_AppealTypeId",
                table: "InputField",
                column: "AppealTypeId");

            migrationBuilder.CreateIndex(
                name: "IX_InputFieldValue_AppealRecordId",
                table: "InputFieldValue",
                column: "AppealRecordId");

            migrationBuilder.CreateIndex(
                name: "IX_InputFieldValue_InputFieldId",
                table: "InputFieldValue",
                column: "InputFieldId");

            migrationBuilder.CreateIndex(
                name: "IX_ItemStaff_DoPersonId",
                table: "ItemStaff",
                column: "DoPersonId");

            migrationBuilder.CreateIndex(
                name: "IX_Message_FromId",
                table: "Message",
                column: "FromId");

            migrationBuilder.CreateIndex(
                name: "IX_MessagePerformanceItems_MessageId",
                table: "MessagePerformanceItems",
                column: "MessageId");

            migrationBuilder.CreateIndex(
                name: "IX_MessageReadRecord_MessageId1",
                table: "MessageReadRecord",
                column: "MessageId1");

            migrationBuilder.CreateIndex(
                name: "IX_MessageReadRecord_StaffId",
                table: "MessageReadRecord",
                column: "StaffId");

            migrationBuilder.CreateIndex(
                name: "IX_PerformanceItem_CalMonthId",
                table: "PerformanceItem",
                column: "CalMonthId");

            migrationBuilder.CreateIndex(
                name: "IX_PerformanceItem_CustomerId",
                table: "PerformanceItem",
                column: "CustomerId");

            migrationBuilder.CreateIndex(
                name: "IX_PerformanceItem_PreOAStaffId",
                table: "PerformanceItem",
                column: "PreOAStaffId");

            migrationBuilder.CreateIndex(
                name: "IX_PerformanceItem_ReviewerId",
                table: "PerformanceItem",
                column: "ReviewerId");

            migrationBuilder.CreateIndex(
                name: "IX_SelectValue_InputFieldId",
                table: "SelectValue",
                column: "InputFieldId");

            migrationBuilder.CreateIndex(
                name: "IX_Staff_StaffGradeId",
                table: "Staff",
                column: "StaffGradeId");

            migrationBuilder.CreateIndex(
                name: "IX_VerifyCoefficient_DoPersonId",
                table: "VerifyCoefficient",
                column: "DoPersonId");
        }

        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropTable(
                name: "AttachFile");

            migrationBuilder.DropTable(
                name: "BasePointRule");

            migrationBuilder.DropTable(
                name: "CaseCeofficient");

            migrationBuilder.DropTable(
                name: "InputFieldValue");

            migrationBuilder.DropTable(
                name: "ItemStaff");

            migrationBuilder.DropTable(
                name: "MessagePerformanceItems");

            migrationBuilder.DropTable(
                name: "MessageReadRecord");

            migrationBuilder.DropTable(
                name: "SelectValue");

            migrationBuilder.DropTable(
                name: "VerifyCoefficient");

            migrationBuilder.DropTable(
                name: "AppealRecord");

            migrationBuilder.DropTable(
                name: "Message");

            migrationBuilder.DropTable(
                name: "InputField");

            migrationBuilder.DropTable(
                name: "PerformanceItem");

            migrationBuilder.DropTable(
                name: "AppealType");

            migrationBuilder.DropTable(
                name: "CalMonth");

            migrationBuilder.DropTable(
                name: "Customer");

            migrationBuilder.DropTable(
                name: "Staff");

            migrationBuilder.DropTable(
                name: "StaffGrade");
        }
    }
}
