using Microsoft.EntityFrameworkCore.Migrations;
using System;
#nullable disable
namespace gehGassi.Persistence.Migrations
{
///
public partial class AppUserReportMessageAdded : Migration
{
///
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn(
name: "Message",
table: "AppUserReports",
type: "nvarchar(500)",
maxLength: 500,
nullable: true);
var viewName = "vw_AppUserReportsWithNames";
var sql = @"SELECT AUR.*,
CONCAT(AU1.FirstName, ' ', AU1.LastName) AS ReportingAppUserName, AU1.Type AS ReportingAppUserType,AU1.Contact_Email AS ReportingAppUserEmail,
CONCAT(AU2.FirstName, ' ', AU2.LastName) AS ReportedAppUserName, AU2.Type AS ReportedAppUserType, AU2.Contact_Email AS ReportedAppUserEmail
FROM AppUserReports AUR
LEFT OUTER JOIN AppUsers AU1 ON AU1.Id = AUR.ReportingAppUserId
LEFT OUTER JOIN AppUsers AU2 ON AU2.Id = AUR.ReportedAppUserId";
migrationBuilder.Sql($"IF(exists (SELECT 1 FROM sys.views WHERE Name = '{viewName}')) BEGIN DROP VIEW [dbo].[{viewName}] END {Environment.NewLine} GO");
migrationBuilder.Sql($"CREATE VIEW [dbo].[{viewName}] AS {sql} {Environment.NewLine} GO");
}
///
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "Message",
table: "AppUserReports");
var viewName = "vw_AppUserReportsWithNames";
var sql = @"SELECT AUR.*,
CONCAT(AU1.FirstName, ' ', AU1.LastName) AS ReportingAppUserName, AU1.Type AS ReportingAppUserType,AU1.Contact_Email AS ReportingAppUserEmail,
CONCAT(AU2.FirstName, ' ', AU2.LastName) AS ReportedAppUserName, AU2.Type AS ReportedAppUserType, AU2.Contact_Email AS ReportedAppUserEmail
FROM AppUserReports AUR
LEFT OUTER JOIN AppUsers AU1 ON AU1.Id = AUR.ReportingAppUserId
LEFT OUTER JOIN AppUsers AU2 ON AU2.Id = AUR.ReportedAppUserId";
migrationBuilder.Sql($"IF(exists (SELECT 1 FROM sys.views WHERE Name = '{viewName}')) BEGIN DROP VIEW [dbo].[{viewName}] END {Environment.NewLine} GO");
migrationBuilder.Sql($"CREATE VIEW [dbo].[{viewName}] AS {sql} {Environment.NewLine} GO");
}
}
}