using System;
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
#pragma warning disable CA1814 // Prefer jagged arrays over multidimensional
namespace MTWorkHR.Infrastructure.Migrations
{
///
public partial class altrOrderRequest3 : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "CityId",
table: "OrderRequests");
migrationBuilder.DropColumn(
name: "CountryId",
table: "OrderRequests");
migrationBuilder.AddColumn(
name: "BusinessTripExpensesId",
table: "OrderRequests",
type: "bigint",
nullable: true);
migrationBuilder.CreateTable(
name: "OrderAttachment",
columns: table => new
{
Id = table.Column(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
CreateUser = table.Column(type: "nvarchar(450)", maxLength: 450, nullable: true),
UpdateUser = table.Column(type: "nvarchar(450)", maxLength: 450, nullable: true),
CreateDate = table.Column(type: "datetime2", nullable: false),
UpdateDate = table.Column(type: "datetime2", nullable: true),
OrderRequestId = table.Column(type: "bigint", nullable: false),
AttachmentTypeId = table.Column(type: "bigint", nullable: true),
FileName = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: true),
OriginalName = table.Column(type: "nvarchar(250)", maxLength: 250, nullable: true),
FilePath = table.Column(type: "nvarchar(max)", nullable: true),
ContentType = table.Column(type: "nvarchar(max)", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_OrderAttachment", x => x.Id);
table.ForeignKey(
name: "FK_OrderAttachment_OrderRequests_OrderRequestId",
column: x => x.OrderRequestId,
principalTable: "OrderRequests",
principalColumn: "Id",
onDelete: ReferentialAction.Cascade);
});
migrationBuilder.CreateTable(
name: "OverTimeDay",
columns: table => new
{
Id = table.Column(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
OverTimeDate = table.Column(type: "datetime2", nullable: true),
StartTime = table.Column(type: "nvarchar(max)", nullable: true),
EndTime = table.Column(type: "nvarchar(max)", nullable: true),
TotalHours = table.Column(type: "decimal(18,2)", nullable: true),
OrderRequestId = table.Column(type: "bigint", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_OverTimeDay", x => x.Id);
table.ForeignKey(
name: "FK_OverTimeDay_OrderRequests_OrderRequestId",
column: x => x.OrderRequestId,
principalTable: "OrderRequests",
principalColumn: "Id");
});
migrationBuilder.CreateTable(
name: "BusinessTripExpenses",
columns: table => new
{
Id = table.Column(type: "bigint", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
TicketCost = table.Column(type: "decimal(18,2)", nullable: true),
TransportationCost = table.Column(type: "decimal(18,2)", nullable: true),
AccommodationCost = table.Column(type: "decimal(18,2)", nullable: true),
OtherCost = table.Column(type: "decimal(18,2)", nullable: true),
TicketAttachmentId = table.Column(type: "bigint", nullable: true),
TransportationAttachmentId = table.Column(type: "bigint", nullable: true),
AccommodationAttachmentId = table.Column(type: "bigint", nullable: true),
OtherAttachmentId = table.Column(type: "bigint", nullable: true)
},
constraints: table =>
{
table.PrimaryKey("PK_BusinessTripExpenses", x => x.Id);
table.ForeignKey(
name: "FK_BusinessTripExpenses_OrderAttachment_AccommodationAttachmentId",
column: x => x.AccommodationAttachmentId,
principalTable: "OrderAttachment",
principalColumn: "Id");
table.ForeignKey(
name: "FK_BusinessTripExpenses_OrderAttachment_OtherAttachmentId",
column: x => x.OtherAttachmentId,
principalTable: "OrderAttachment",
principalColumn: "Id");
table.ForeignKey(
name: "FK_BusinessTripExpenses_OrderAttachment_TicketAttachmentId",
column: x => x.TicketAttachmentId,
principalTable: "OrderAttachment",
principalColumn: "Id");
table.ForeignKey(
name: "FK_BusinessTripExpenses_OrderAttachment_TransportationAttachmentId",
column: x => x.TransportationAttachmentId,
principalTable: "OrderAttachment",
principalColumn: "Id");
});
migrationBuilder.InsertData(
table: "AttachmentTypes",
columns: new[] { "Id", "IsRequired", "NameAr", "NameEn" },
values: new object[,]
{
{ 10L, false, "تكلفة التذكرة", "Ticket Cost" },
{ 11L, false, "تكلفة المواصلات", "Transportation Cost" },
{ 12L, false, "تكلفة الاقامة", "Accommodation Cost" },
{ 13L, false, "اخرى", "Other" }
});
migrationBuilder.CreateIndex(
name: "IX_OrderRequests_BusinessTripExpensesId",
table: "OrderRequests",
column: "BusinessTripExpensesId");
migrationBuilder.CreateIndex(
name: "IX_BusinessTripExpenses_AccommodationAttachmentId",
table: "BusinessTripExpenses",
column: "AccommodationAttachmentId");
migrationBuilder.CreateIndex(
name: "IX_BusinessTripExpenses_OtherAttachmentId",
table: "BusinessTripExpenses",
column: "OtherAttachmentId");
migrationBuilder.CreateIndex(
name: "IX_BusinessTripExpenses_TicketAttachmentId",
table: "BusinessTripExpenses",
column: "TicketAttachmentId");
migrationBuilder.CreateIndex(
name: "IX_BusinessTripExpenses_TransportationAttachmentId",
table: "BusinessTripExpenses",
column: "TransportationAttachmentId");
migrationBuilder.CreateIndex(
name: "IX_OrderAttachment_OrderRequestId",
table: "OrderAttachment",
column: "OrderRequestId");
migrationBuilder.CreateIndex(
name: "IX_OverTimeDay_OrderRequestId",
table: "OverTimeDay",
column: "OrderRequestId");
migrationBuilder.AddForeignKey(
name: "FK_OrderRequests_BusinessTripExpenses_BusinessTripExpensesId",
table: "OrderRequests",
column: "BusinessTripExpensesId",
principalTable: "BusinessTripExpenses",
principalColumn: "Id");
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropForeignKey(
name: "FK_OrderRequests_BusinessTripExpenses_BusinessTripExpensesId",
table: "OrderRequests");
migrationBuilder.DropTable(
name: "BusinessTripExpenses");
migrationBuilder.DropTable(
name: "OverTimeDay");
migrationBuilder.DropTable(
name: "OrderAttachment");
migrationBuilder.DropIndex(
name: "IX_OrderRequests_BusinessTripExpensesId",
table: "OrderRequests");
migrationBuilder.DeleteData(
table: "AttachmentTypes",
keyColumn: "Id",
keyValue: 10L);
migrationBuilder.DeleteData(
table: "AttachmentTypes",
keyColumn: "Id",
keyValue: 11L);
migrationBuilder.DeleteData(
table: "AttachmentTypes",
keyColumn: "Id",
keyValue: 12L);
migrationBuilder.DeleteData(
table: "AttachmentTypes",
keyColumn: "Id",
keyValue: 13L);
migrationBuilder.DropColumn(
name: "BusinessTripExpensesId",
table: "OrderRequests");
migrationBuilder.AddColumn(
name: "CityId",
table: "OrderRequests",
type: "int",
nullable: true);
migrationBuilder.AddColumn(
name: "CountryId",
table: "OrderRequests",
type: "int",
nullable: true);
}
}
}