using System;
using Microsoft.EntityFrameworkCore.Migrations;

#nullable disable

namespace Marco.Pms.DataAccess.Migrations
{
    /// <inheritdoc />
    public partial class Removed_DocumentAttachmentyMapping_And_Added : Migration
    {
        /// <inheritdoc />
        protected override void Up(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropTable(
                name: "DocumentAttachmentMappings");

            migrationBuilder.AddColumn<Guid>(
                name: "DocumentDataId",
                table: "DocumentAttachments",
                type: "char(36)",
                nullable: false,
                defaultValue: new Guid("00000000-0000-0000-0000-000000000000"),
                collation: "ascii_general_ci");

            migrationBuilder.UpdateData(
                table: "DocumentCategoryMasters",
                keyColumn: "Id",
                keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7895));

            migrationBuilder.UpdateData(
                table: "DocumentCategoryMasters",
                keyColumn: "Id",
                keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7887));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7995));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7975) });

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7984));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7971) });

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7958) });

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8008));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7966) });

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8004));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(8000));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7991));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf,image/jpeg", new DateTime(2025, 8, 28, 9, 22, 46, 902, DateTimeKind.Utc).AddTicks(7980) });

            migrationBuilder.CreateIndex(
                name: "IX_DocumentAttachments_DocumentDataId",
                table: "DocumentAttachments",
                column: "DocumentDataId");

            migrationBuilder.AddForeignKey(
                name: "FK_DocumentAttachments_Documents_DocumentDataId",
                table: "DocumentAttachments",
                column: "DocumentDataId",
                principalTable: "Documents",
                principalColumn: "Id",
                onDelete: ReferentialAction.Cascade);
        }

        /// <inheritdoc />
        protected override void Down(MigrationBuilder migrationBuilder)
        {
            migrationBuilder.DropForeignKey(
                name: "FK_DocumentAttachments_Documents_DocumentDataId",
                table: "DocumentAttachments");

            migrationBuilder.DropIndex(
                name: "IX_DocumentAttachments_DocumentDataId",
                table: "DocumentAttachments");

            migrationBuilder.DropColumn(
                name: "DocumentDataId",
                table: "DocumentAttachments");

            migrationBuilder.CreateTable(
                name: "DocumentAttachmentMappings",
                columns: table => new
                {
                    Id = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
                    AttachmentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
                    DocumentId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci"),
                    TenantId = table.Column<Guid>(type: "char(36)", nullable: false, collation: "ascii_general_ci")
                },
                constraints: table =>
                {
                    table.PrimaryKey("PK_DocumentAttachmentMappings", x => x.Id);
                    table.ForeignKey(
                        name: "FK_DocumentAttachmentMappings_DocumentAttachments_AttachmentId",
                        column: x => x.AttachmentId,
                        principalTable: "DocumentAttachments",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                    table.ForeignKey(
                        name: "FK_DocumentAttachmentMappings_Documents_DocumentId",
                        column: x => x.DocumentId,
                        principalTable: "Documents",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                    table.ForeignKey(
                        name: "FK_DocumentAttachmentMappings_Tenants_TenantId",
                        column: x => x.TenantId,
                        principalTable: "Tenants",
                        principalColumn: "Id",
                        onDelete: ReferentialAction.Cascade);
                })
                .Annotation("MySql:CharSet", "utf8mb4");

            migrationBuilder.UpdateData(
                table: "DocumentCategoryMasters",
                keyColumn: "Id",
                keyValue: new Guid("2d9fb9cf-db53-476b-a452-492e88e2b51f"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8157));

            migrationBuilder.UpdateData(
                table: "DocumentCategoryMasters",
                keyColumn: "Id",
                keyValue: new Guid("cfbff269-072b-477a-b48b-72cdc57dd1d3"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8150));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("07ca7182-9ac0-4407-b988-59901170cb86"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8229));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("16c40b80-c207-4a0c-a4d3-381414afe35a"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8216) });

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("260abd7e-c96d-4ae4-a29b-9b5bb5d24ebd"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8222));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("2d1d7441-46a8-425e-9395-94d0956f8e91"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8212) });

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("336225ac-67f3-4e14-ba7a-8fad03cf2832"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8204) });

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("5668de00-5d84-47f7-b9b5-7fefd1219f05"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8238));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("6344393b-9bb1-45f8-b620-9f6e279d012c"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8209) });

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("7cc41c91-23cb-442b-badd-f932138d149f"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8235));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("846e89a9-5735-45ec-a21d-c97f85a94ada"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8232));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("a1a190ba-c4a8-432f-b26d-1231ca1d44bc"),
                column: "CreatedAt",
                value: new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8226));

            migrationBuilder.UpdateData(
                table: "DocumentTypeMasters",
                keyColumn: "Id",
                keyValue: new Guid("f76d8215-d399-4f0e-b414-12e427f50be3"),
                columns: new[] { "AllowedContentType", "CreatedAt" },
                values: new object[] { "application/pdf", new DateTime(2025, 8, 28, 5, 50, 2, 39, DateTimeKind.Utc).AddTicks(8219) });

            migrationBuilder.CreateIndex(
                name: "IX_DocumentAttachmentMappings_AttachmentId",
                table: "DocumentAttachmentMappings",
                column: "AttachmentId");

            migrationBuilder.CreateIndex(
                name: "IX_DocumentAttachmentMappings_DocumentId",
                table: "DocumentAttachmentMappings",
                column: "DocumentId");

            migrationBuilder.CreateIndex(
                name: "IX_DocumentAttachmentMappings_TenantId",
                table: "DocumentAttachmentMappings",
                column: "TenantId");
        }
    }
}
