forked from MDCPS/DamageAssessment_Backend
		
	Merged docker with docker sql branch
This commit is contained in:
		@ -13,7 +13,12 @@
 | 
			
		||||
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.21" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.4" />
 | 
			
		||||
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
 | 
			
		||||
@ -1,13 +1,19 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.Extensions.Configuration;
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Answers.Db
 | 
			
		||||
{
 | 
			
		||||
    public class AnswerDbContext:DbContext
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
        public AnswerDbContext(DbContextOptions options):base(options) 
 | 
			
		||||
        private IConfiguration _Configuration { get; set; }
 | 
			
		||||
        public AnswerDbContext(DbContextOptions options,IConfiguration configuration):base(options) 
 | 
			
		||||
        {
 | 
			
		||||
            
 | 
			
		||||
            _Configuration= configuration;
 | 
			
		||||
        }
 | 
			
		||||
        protected override void OnConfiguring(DbContextOptionsBuilder options)
 | 
			
		||||
        {
 | 
			
		||||
            // connect to sql server with connection string from app settings
 | 
			
		||||
            options.UseSqlServer(_Configuration.GetConnectionString("AnswerConnection"));
 | 
			
		||||
        }
 | 
			
		||||
        public DbSet<Db.Answer> Answers { get; set; }
 | 
			
		||||
        protected override void OnModelCreating(ModelBuilder modelBuilder)
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										58
									
								
								DamageAssesmentApi/DamageAssesment.Api.Answers/Migrations/20230816214724_InitialCreate.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								DamageAssesmentApi/DamageAssesment.Api.Answers/Migrations/20230816214724_InitialCreate.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,58 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Answers.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Answers.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(AnswerDbContext))]
 | 
			
		||||
    [Migration("20230816214724_InitialCreate")]
 | 
			
		||||
    partial class InitialCreate
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Answers.Db.Answer", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("AnswerText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(250)
 | 
			
		||||
                        .HasColumnType("nvarchar(250)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Comment")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("QuestionId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("SurveyResponseId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Answers");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,37 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Answers.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class InitialCreate : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "Answers",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    QuestionId = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    AnswerText = table.Column<string>(type: "nvarchar(250)", maxLength: 250, nullable: false),
 | 
			
		||||
                    Comment = table.Column<string>(type: "nvarchar(max)", nullable: false),
 | 
			
		||||
                    SurveyResponseId = table.Column<int>(type: "int", nullable: true)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_Answers", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "Answers");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,55 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Answers.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Answers.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(AnswerDbContext))]
 | 
			
		||||
    partial class AnswerDbContextModelSnapshot : ModelSnapshot
 | 
			
		||||
    {
 | 
			
		||||
        protected override void BuildModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Answers.Db.Answer", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("AnswerText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(250)
 | 
			
		||||
                        .HasColumnType("nvarchar(250)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Comment")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("QuestionId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("SurveyResponseId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Answers");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -23,7 +23,7 @@ builder.Services.AddScoped<IAnswersProvider, AnswersProvider>();
 | 
			
		||||
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); //4/30
 | 
			
		||||
builder.Services.AddDbContext<AnswerDbContext>(option =>
 | 
			
		||||
{
 | 
			
		||||
    option.UseInMemoryDatabase("Answers");
 | 
			
		||||
    option.UseSqlServer("AnswerConnection");
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var app = builder.Build();
 | 
			
		||||
 | 
			
		||||
@ -191,12 +191,12 @@ namespace DamageAssesment.Api.Answers.Providers
 | 
			
		||||
        {
 | 
			
		||||
            if (!answerDbContext.Answers.Any())
 | 
			
		||||
            {
 | 
			
		||||
                answerDbContext.Answers.Add(new Db.Answer() { Id = 1, AnswerText = "Yes", Comment = "Comment test 4", QuestionId = 1, SurveyResponseId = 1 });
 | 
			
		||||
                answerDbContext.Answers.Add(new Db.Answer() { Id = 2, AnswerText = "No", Comment = "Comment test 5", QuestionId = 2, SurveyResponseId = 1 });
 | 
			
		||||
                //answerDbContext.Answers.Add(new Db.Answer() { Id = 3, AnswerText = "No", Comment = "No Comment", QuestionId = 3, SurveyResponseId = 1 });
 | 
			
		||||
                //answerDbContext.Answers.Add(new Db.Answer() { Id = 4, AnswerText = "Yes", Comment = "No Comment", QuestionId = 1, SurveyResponseId = 2 });
 | 
			
		||||
                //answerDbContext.Answers.Add(new Db.Answer() { Id = 5, AnswerText = "No", Comment = "No Comment", QuestionId = 2, SurveyResponseId = 2 });
 | 
			
		||||
                //answerDbContext.Answers.Add(new Db.Answer() { Id = 6, AnswerText = "No", Comment = "No Comment", QuestionId = 3, SurveyResponseId = 2 });
 | 
			
		||||
                answerDbContext.Answers.Add(new Db.Answer() {  AnswerText = "Yes", Comment = "", QuestionId = 1, SurveyResponseId = 1 });
 | 
			
		||||
                answerDbContext.Answers.Add(new Db.Answer() {  AnswerText = "Yes", Comment = "myComment", QuestionId = 2, SurveyResponseId = 1 });
 | 
			
		||||
                answerDbContext.Answers.Add(new Db.Answer() {  AnswerText = "No", Comment = "No Comment", QuestionId = 3, SurveyResponseId = 1 });
 | 
			
		||||
                answerDbContext.Answers.Add(new Db.Answer() {  AnswerText = "Yes", Comment = "No Comment", QuestionId = 1, SurveyResponseId = 2 });
 | 
			
		||||
                answerDbContext.Answers.Add(new Db.Answer() {  AnswerText = "No", Comment = "No Comment", QuestionId = 2, SurveyResponseId = 2 });
 | 
			
		||||
                answerDbContext.Answers.Add(new Db.Answer() {  AnswerText = "No", Comment = "No Comment", QuestionId = 3, SurveyResponseId = 2 });
 | 
			
		||||
                answerDbContext.SaveChanges();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -8,5 +8,8 @@
 | 
			
		||||
      "Microsoft.AspNetCore": "Warning"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "AllowedHosts": "*"
 | 
			
		||||
  "AllowedHosts": "*",
 | 
			
		||||
  "ConnectionStrings": {
 | 
			
		||||
    "AnswerConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -14,8 +14,19 @@
 | 
			
		||||
    <PackageReference Include="Azure.Storage.Blobs" Version="12.16.0" />
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.21" />
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.2.7" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.1.1" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.4" />
 | 
			
		||||
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
 | 
			
		||||
@ -1,11 +1,19 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.Extensions.Configuration;
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Attachments.Db
 | 
			
		||||
{
 | 
			
		||||
    public class AttachmentsDbContext:DbContext
 | 
			
		||||
    {
 | 
			
		||||
        public AttachmentsDbContext(DbContextOptions options) : base(options)
 | 
			
		||||
        private IConfiguration _Configuration { get; set; }
 | 
			
		||||
        public AttachmentsDbContext(DbContextOptions options, IConfiguration configuration) : base(options)
 | 
			
		||||
        {
 | 
			
		||||
            _Configuration = configuration;
 | 
			
		||||
        }
 | 
			
		||||
        protected override void OnConfiguring(DbContextOptionsBuilder options)
 | 
			
		||||
        {
 | 
			
		||||
            // connect to sql server with connection string from app settings
 | 
			
		||||
            options.UseSqlServer(_Configuration.GetConnectionString("AttachmentConnection"));
 | 
			
		||||
        }
 | 
			
		||||
        public DbSet<Db.Attachment> Attachments { get; set; }
 | 
			
		||||
        protected override void OnModelCreating(ModelBuilder modelBuilder)
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,60 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Attachments.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Attachments.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(AttachmentsDbContext))]
 | 
			
		||||
    [Migration("20230817212256_InitialAttachment")]
 | 
			
		||||
    partial class InitialAttachment
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Attachments.Db.Attachment", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("AnswerId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("FileName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsDeleted")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ResponseId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("URI")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Attachments");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,38 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Attachments.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class InitialAttachment : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "Attachments",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    URI = table.Column<string>(type: "nvarchar(max)", nullable: false),
 | 
			
		||||
                    AnswerId = table.Column<int>(type: "int", nullable: true),
 | 
			
		||||
                    ResponseId = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    IsDeleted = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    FileName = table.Column<string>(type: "nvarchar(max)", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_Attachments", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "Attachments");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,57 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Attachments.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Attachments.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(AttachmentsDbContext))]
 | 
			
		||||
    partial class AttachmentsDbContextModelSnapshot : ModelSnapshot
 | 
			
		||||
    {
 | 
			
		||||
        protected override void BuildModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Attachments.Db.Attachment", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("AnswerId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("FileName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsDeleted")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("ResponseId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("URI")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Attachments");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -27,7 +27,7 @@ builder.Services.AddScoped<IAzureBlobService,AzureBlobService>();
 | 
			
		||||
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); //4/30
 | 
			
		||||
builder.Services.AddDbContext<AttachmentsDbContext>(option =>
 | 
			
		||||
{
 | 
			
		||||
    option.UseInMemoryDatabase("Attachments");
 | 
			
		||||
    option.UseSqlServer("AttachmentConnection");
 | 
			
		||||
});
 | 
			
		||||
builder.Services.Configure<FormOptions>(o =>
 | 
			
		||||
{
 | 
			
		||||
 | 
			
		||||
@ -21,7 +21,7 @@ namespace DamageAssesment.Api.Attachments.Providers
 | 
			
		||||
            this.logger = logger;
 | 
			
		||||
            this.mapper = mapper;
 | 
			
		||||
            this.uploadservice = uploadservice;
 | 
			
		||||
            SeedData();
 | 
			
		||||
            //SeedData();
 | 
			
		||||
        }
 | 
			
		||||
        public async Task<(bool IsSuccess, IEnumerable<Models.Attachment> Attachments, string ErrorMessage)> GetAttachmentsAsync()
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
@ -12,5 +12,8 @@
 | 
			
		||||
  "Fileupload": {
 | 
			
		||||
    "folderpath": "DMS_Attachments/Active",
 | 
			
		||||
    "Deletepath": "DMS_Attachments/Deleted"
 | 
			
		||||
  },
 | 
			
		||||
  "ConnectionStrings": {
 | 
			
		||||
    "AttachmentConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -7,8 +7,15 @@ namespace DamageAssesment.Api.DocuLinks.Db
 | 
			
		||||
{
 | 
			
		||||
    public class DoculinkDbContext : DbContext
 | 
			
		||||
    {
 | 
			
		||||
        public DoculinkDbContext(DbContextOptions options) : base(options)
 | 
			
		||||
        private IConfiguration _Configuration { get; set; }
 | 
			
		||||
        public DoculinkDbContext(DbContextOptions options, IConfiguration configuration) : base(options)
 | 
			
		||||
        {
 | 
			
		||||
            _Configuration = configuration;
 | 
			
		||||
        }
 | 
			
		||||
        protected override void OnConfiguring(DbContextOptionsBuilder options)
 | 
			
		||||
        {
 | 
			
		||||
            // connect to sql server with connection string from app settings
 | 
			
		||||
            options.UseSqlServer(_Configuration.GetConnectionString("DoculinConnection"));
 | 
			
		||||
        }
 | 
			
		||||
        public DbSet<Db.Doculink> Documents { get; set; }
 | 
			
		||||
        public DbSet<Db.LinkType> LinkTypes { get; set; }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										162
									
								
								DamageAssesmentApi/DamageAssesment.Api.DocuLinks/Migrations/20230926163717_doculinkUpdate.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										162
									
								
								DamageAssesmentApi/DamageAssesment.Api.DocuLinks/Migrations/20230926163717_doculinkUpdate.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,162 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.DocuLinks.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.DocuLinks.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(DoculinkDbContext))]
 | 
			
		||||
    [Migration("20230926163717_doculinkUpdate")]
 | 
			
		||||
    partial class doculinkUpdate
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.Doculink", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("CustomOrder")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsActive")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsDeleted")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("dateCreated")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("dateUpdated")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("linkTypeId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Documents");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.DoculinkAttachments", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("CustomOrder")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("DocumentId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsAttachments")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Path")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("docName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("DoclinksAttachments");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.DoculinkTranslation", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("DocumentId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Language")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("description")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("title")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("DocumentsTranslations");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.LinkType", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("CustomOrder")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsActive")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("LinkTypes");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.LinksTranslation", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Language")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("LinkTypeId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("TypeText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("LinksTranslations");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,144 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.DocuLinks.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class doculinkUpdate : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "IsAttachment",
 | 
			
		||||
                table: "LinkTypes");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "TypeText",
 | 
			
		||||
                table: "LinkTypes");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "Path",
 | 
			
		||||
                table: "Documents");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "docName",
 | 
			
		||||
                table: "Documents");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "url",
 | 
			
		||||
                table: "Documents");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<int>(
 | 
			
		||||
                name: "CustomOrder",
 | 
			
		||||
                table: "LinkTypes",
 | 
			
		||||
                type: "int",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: 0);
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<int>(
 | 
			
		||||
                name: "CustomOrder",
 | 
			
		||||
                table: "Documents",
 | 
			
		||||
                type: "int",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: 0);
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<bool>(
 | 
			
		||||
                name: "IsDeleted",
 | 
			
		||||
                table: "Documents",
 | 
			
		||||
                type: "bit",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: false);
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "DoclinksAttachments",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    DocumentId = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    docName = table.Column<string>(type: "nvarchar(max)", nullable: false),
 | 
			
		||||
                    Path = table.Column<string>(type: "nvarchar(max)", nullable: false),
 | 
			
		||||
                    IsAttachments = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    CustomOrder = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_DoclinksAttachments", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "LinksTranslations",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    LinkTypeId = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    TypeText = table.Column<string>(type: "nvarchar(max)", nullable: false),
 | 
			
		||||
                    Language = table.Column<string>(type: "nvarchar(max)", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_LinksTranslations", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "DoclinksAttachments");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "LinksTranslations");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "CustomOrder",
 | 
			
		||||
                table: "LinkTypes");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "CustomOrder",
 | 
			
		||||
                table: "Documents");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "IsDeleted",
 | 
			
		||||
                table: "Documents");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<bool>(
 | 
			
		||||
                name: "IsAttachment",
 | 
			
		||||
                table: "LinkTypes",
 | 
			
		||||
                type: "bit",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: false);
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<string>(
 | 
			
		||||
                name: "TypeText",
 | 
			
		||||
                table: "LinkTypes",
 | 
			
		||||
                type: "nvarchar(max)",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: "");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<string>(
 | 
			
		||||
                name: "Path",
 | 
			
		||||
                table: "Documents",
 | 
			
		||||
                type: "nvarchar(max)",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: "");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<string>(
 | 
			
		||||
                name: "docName",
 | 
			
		||||
                table: "Documents",
 | 
			
		||||
                type: "nvarchar(max)",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: "");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<string>(
 | 
			
		||||
                name: "url",
 | 
			
		||||
                table: "Documents",
 | 
			
		||||
                type: "nvarchar(max)",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: "");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -22,7 +22,7 @@ namespace DamageAssesment.Api.DocuLinks.Migrations
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.Document", b =>
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.Doculink", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
@ -30,12 +30,14 @@ namespace DamageAssesment.Api.DocuLinks.Migrations
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("CustomOrder")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsActive")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Path")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
                    b.Property<bool>("IsDeleted")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("dateCreated")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
@ -43,23 +45,45 @@ namespace DamageAssesment.Api.DocuLinks.Migrations
 | 
			
		||||
                    b.Property<DateTime>("dateUpdated")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("docName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("linkTypeId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("url")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Documents");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.DocumentsTranslation", b =>
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.DoculinkAttachments", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("CustomOrder")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("DocumentId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsAttachments")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Path")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("docName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("DoclinksAttachments");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.DoculinkTranslation", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
@ -95,11 +119,31 @@ namespace DamageAssesment.Api.DocuLinks.Migrations
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("CustomOrder")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsActive")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsAttachment")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("LinkTypes");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.DocuLinks.Db.LinksTranslation", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Language")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("LinkTypeId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("TypeText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
@ -107,7 +151,7 @@ namespace DamageAssesment.Api.DocuLinks.Migrations
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("LinkTypes");
 | 
			
		||||
                    b.ToTable("LinksTranslations");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,7 @@ builder.Services.AddScoped<IAzureBlobService, AzureBlobService>();
 | 
			
		||||
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); //4/30
 | 
			
		||||
builder.Services.AddDbContext<DoculinkDbContext>(option =>
 | 
			
		||||
{
 | 
			
		||||
    option.UseInMemoryDatabase("DocumentConnection");
 | 
			
		||||
    option.UseSqlServer("DoculinConnection");
 | 
			
		||||
});
 | 
			
		||||
var app = builder.Build();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,9 @@
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "AllowedHosts": "*",
 | 
			
		||||
  "ConnectionStrings": {
 | 
			
		||||
    "DoculinConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
			
		||||
  },
 | 
			
		||||
  "Fileupload": {
 | 
			
		||||
    "folderpath": "DASA_Documents/Active",
 | 
			
		||||
    "Deletepath": "DASA_Documents/Deleted"
 | 
			
		||||
 | 
			
		||||
@ -12,8 +12,18 @@
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.21" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.4" />
 | 
			
		||||
    <PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
 | 
			
		||||
  </ItemGroup>
 | 
			
		||||
 | 
			
		||||
@ -4,18 +4,23 @@ namespace DamageAssesment.Api.Employees.Db
 | 
			
		||||
{
 | 
			
		||||
    public class EmployeeDbContext: DbContext
 | 
			
		||||
    {
 | 
			
		||||
        public DbSet<Db.Employee> Employees { get; set; }
 | 
			
		||||
        public EmployeeDbContext(DbContextOptions options) : base(options)
 | 
			
		||||
        private IConfiguration _Configuration { get; set; }
 | 
			
		||||
        public EmployeeDbContext(DbContextOptions options, IConfiguration configuration) : base(options)
 | 
			
		||||
        {
 | 
			
		||||
            _Configuration = configuration;
 | 
			
		||||
        }
 | 
			
		||||
        protected override void OnConfiguring(DbContextOptionsBuilder options)
 | 
			
		||||
        {
 | 
			
		||||
            // connect to sql server with connection string from app settings
 | 
			
		||||
            options.UseSqlServer(_Configuration.GetConnectionString("EmployeeConnection"));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        protected override void OnModelCreating(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            base.OnModelCreating(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity<Employee>()
 | 
			
		||||
                .Property(item => item.Id)
 | 
			
		||||
                .ValueGeneratedOnAdd();
 | 
			
		||||
        }
 | 
			
		||||
        public DbSet<Db.Employee> Employees { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,64 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Employees.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Employees.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(EmployeeDbContext))]
 | 
			
		||||
    [Migration("20230817213656_InitialEmployee")]
 | 
			
		||||
    partial class InitialEmployee
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Employees.Db.Employee", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<string>("Id")
 | 
			
		||||
                        .HasColumnType("nvarchar(450)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("BirthDate")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Email")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsActive")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("OfficePhoneNumber")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PreferredLanguage")
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Employees");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,39 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Employees.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class InitialEmployee : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "Employees",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<string>(type: "nvarchar(450)", nullable: false),
 | 
			
		||||
                    Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
 | 
			
		||||
                    BirthDate = table.Column<DateTime>(type: "datetime2", nullable: false),
 | 
			
		||||
                    OfficePhoneNumber = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
 | 
			
		||||
                    Email = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
 | 
			
		||||
                    IsActive = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    PreferredLanguage = table.Column<string>(type: "nvarchar(max)", nullable: true)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_Employees", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "Employees");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,72 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Employees.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Employees.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(EmployeeDbContext))]
 | 
			
		||||
    [Migration("20230913164315_employeeupdate")]
 | 
			
		||||
    partial class employeeupdate
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Employees.Db.Employee", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("BirthDate")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Email")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("EmployeeCode")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsActive")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("OfficePhoneNumber")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PreferredLanguage")
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Employees");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,48 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Employees.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class employeeupdate : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.AlterColumn<int>(
 | 
			
		||||
                name: "Id",
 | 
			
		||||
                table: "Employees",
 | 
			
		||||
                type: "int",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                oldClrType: typeof(string),
 | 
			
		||||
                oldType: "nvarchar(450)")
 | 
			
		||||
                .Annotation("SqlServer:Identity", "1, 1");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AddColumn<string>(
 | 
			
		||||
                name: "EmployeeCode",
 | 
			
		||||
                table: "Employees",
 | 
			
		||||
                type: "nvarchar(50)",
 | 
			
		||||
                maxLength: 50,
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                defaultValue: "");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropColumn(
 | 
			
		||||
                name: "EmployeeCode",
 | 
			
		||||
                table: "Employees");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.AlterColumn<string>(
 | 
			
		||||
                name: "Id",
 | 
			
		||||
                table: "Employees",
 | 
			
		||||
                type: "nvarchar(450)",
 | 
			
		||||
                nullable: false,
 | 
			
		||||
                oldClrType: typeof(int),
 | 
			
		||||
                oldType: "int")
 | 
			
		||||
                .OldAnnotation("SqlServer:Identity", "1, 1");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,72 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Employees.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Employees.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(EmployeeDbContext))]
 | 
			
		||||
    [Migration("20230913170055_updatedemployee_id")]
 | 
			
		||||
    partial class updatedemployee_id
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Employees.Db.Employee", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("BirthDate")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Email")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("EmployeeCode")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsActive")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("OfficePhoneNumber")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PreferredLanguage")
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Employees");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,22 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Employees.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class updatedemployee_id : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,69 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Employees.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Employees.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(EmployeeDbContext))]
 | 
			
		||||
    partial class EmployeeDbContextModelSnapshot : ModelSnapshot
 | 
			
		||||
    {
 | 
			
		||||
        protected override void BuildModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Employees.Db.Employee", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime>("BirthDate")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Email")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("EmployeeCode")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsActive")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("OfficePhoneNumber")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("PreferredLanguage")
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Employees");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -24,7 +24,7 @@ builder.Services.AddScoped<IEmployeesProvider, EmployeesProvider>();
 | 
			
		||||
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); //4/30
 | 
			
		||||
builder.Services.AddDbContext<EmployeeDbContext>(option =>
 | 
			
		||||
{
 | 
			
		||||
    option.UseInMemoryDatabase("Employees");
 | 
			
		||||
    option.UseSqlServer("EmployeeConnection");
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var app = builder.Build();
 | 
			
		||||
 | 
			
		||||
@ -156,12 +156,12 @@ namespace DamageAssesment.Api.Employees.Providers
 | 
			
		||||
        {
 | 
			
		||||
            if (!EmployeeDbContext.Employees.Any())
 | 
			
		||||
            {
 | 
			
		||||
                EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp1", Name = "David", Email = "David@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-18), IsActive = true, PreferredLanguage = "en" });
 | 
			
		||||
                EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp2", Name = "Smith", Email = "Smith@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-22), IsActive = true, PreferredLanguage = "fr" });
 | 
			
		||||
                //EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 3, EmployeeCode = "Emp3", Name = "ABC3", Email = "abc3@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-30), IsActive = true, PreferredLanguage = "fr" });
 | 
			
		||||
                //EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 4, EmployeeCode = "Emp4", Name = "ABC4", Email = "abc4@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-20), IsActive = true, PreferredLanguage = "en" });
 | 
			
		||||
                //EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 5, EmployeeCode = "Emp5", Name = "ABC5", Email = "abc5@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-23), IsActive = true, PreferredLanguage = "es" });
 | 
			
		||||
                //EmployeeDbContext.Employees.Add(new Db.Employee() { Id = 6, EmployeeCode = "Emp6", Name = "ABC6", Email = "abc6@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-32), IsActive = true, PreferredLanguage = "es" });
 | 
			
		||||
                EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp1", Name = "ABC1", Email = "abc1@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-18), IsActive = true, PreferredLanguage = "en" });
 | 
			
		||||
                EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp2", Name = "ABC2", Email = "abc2@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-22), IsActive = true, PreferredLanguage = "fr" });
 | 
			
		||||
                EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp3", Name = "ABC3", Email = "abc3@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-30), IsActive = true, PreferredLanguage = "fr" });
 | 
			
		||||
                EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp4", Name = "ABC4", Email = "abc4@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-20), IsActive = true, PreferredLanguage = "en" });
 | 
			
		||||
                EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp5", Name = "ABC5", Email = "abc5@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-23), IsActive = true, PreferredLanguage = "es" });
 | 
			
		||||
                EmployeeDbContext.Employees.Add(new Db.Employee() { EmployeeCode = "Emp6", Name = "ABC6", Email = "abc6@gmail.com", OfficePhoneNumber = "12345678", BirthDate = DateTime.Now.AddYears(-32), IsActive = true, PreferredLanguage = "es" });
 | 
			
		||||
                EmployeeDbContext.SaveChanges();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -13,5 +13,8 @@
 | 
			
		||||
    "endpoint1": "xxx",
 | 
			
		||||
    "endpoint2": "xxx",
 | 
			
		||||
    "endpoint3": "xxx"
 | 
			
		||||
  },
 | 
			
		||||
  "ConnectionStrings": {
 | 
			
		||||
    "EmployeeConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,17 @@
 | 
			
		||||
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.21" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.5" />
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,16 @@ namespace DamageAssesment.Api.Locations.Db
 | 
			
		||||
{
 | 
			
		||||
    public class LocationDbContext : DbContext
 | 
			
		||||
    {
 | 
			
		||||
        private IConfiguration _Configuration { get; set; }
 | 
			
		||||
        public LocationDbContext(DbContextOptions options, IConfiguration configuration) : base(options)
 | 
			
		||||
        {
 | 
			
		||||
            _Configuration = configuration;
 | 
			
		||||
        }
 | 
			
		||||
        protected override void OnConfiguring(DbContextOptionsBuilder options)
 | 
			
		||||
        {
 | 
			
		||||
            // connect to sql server with connection string from app settings
 | 
			
		||||
            options.UseSqlServer(_Configuration.GetConnectionString("LocationConnection"));
 | 
			
		||||
        }
 | 
			
		||||
        public DbSet<Db.Location> Locations { get; set; }
 | 
			
		||||
        public DbSet<Db.Region> Regions { get; set; }
 | 
			
		||||
        public LocationDbContext(DbContextOptions options) : base(options)
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,80 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using DamageAssesment.Api.Locations.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Locations.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(LocationDbContext))]
 | 
			
		||||
    [Migration("20230817214454_InitialLocation")]
 | 
			
		||||
    partial class InitialLocation
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Locations.Db.Location", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<string>("Id")
 | 
			
		||||
                        .HasMaxLength(4)
 | 
			
		||||
                        .HasColumnType("nvarchar(4)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("MaintenanceCenter")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(1)
 | 
			
		||||
                        .HasColumnType("nvarchar(1)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RegionId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SchoolType")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(2)
 | 
			
		||||
                        .HasColumnType("nvarchar(2)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Locations");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Locations.Db.Region", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<string>("Id")
 | 
			
		||||
                        .HasMaxLength(2)
 | 
			
		||||
                        .HasColumnType("nvarchar(2)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Abbreviation")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(5)
 | 
			
		||||
                        .HasColumnType("nvarchar(5)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Regions");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,52 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Locations.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class InitialLocation : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "Locations",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<string>(type: "nvarchar(4)", maxLength: 4, nullable: false),
 | 
			
		||||
                    Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
 | 
			
		||||
                    MaintenanceCenter = table.Column<string>(type: "nvarchar(1)", maxLength: 1, nullable: false),
 | 
			
		||||
                    SchoolType = table.Column<string>(type: "nvarchar(2)", maxLength: 2, nullable: false),
 | 
			
		||||
                    RegionId = table.Column<string>(type: "nvarchar(max)", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_Locations", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "Regions",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<string>(type: "nvarchar(2)", maxLength: 2, nullable: false),
 | 
			
		||||
                    Name = table.Column<string>(type: "nvarchar(50)", maxLength: 50, nullable: false),
 | 
			
		||||
                    Abbreviation = table.Column<string>(type: "nvarchar(5)", maxLength: 5, nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_Regions", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "Locations");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "Regions");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,77 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using DamageAssesment.Api.Locations.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Locations.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(LocationDbContext))]
 | 
			
		||||
    partial class LocationDbContextModelSnapshot : ModelSnapshot
 | 
			
		||||
    {
 | 
			
		||||
        protected override void BuildModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Locations.Db.Location", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<string>("Id")
 | 
			
		||||
                        .HasMaxLength(4)
 | 
			
		||||
                        .HasColumnType("nvarchar(4)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("MaintenanceCenter")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(1)
 | 
			
		||||
                        .HasColumnType("nvarchar(1)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("RegionId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("SchoolType")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(2)
 | 
			
		||||
                        .HasColumnType("nvarchar(2)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Locations");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Locations.Db.Region", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<string>("Id")
 | 
			
		||||
                        .HasMaxLength(2)
 | 
			
		||||
                        .HasColumnType("nvarchar(2)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Abbreviation")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(5)
 | 
			
		||||
                        .HasColumnType("nvarchar(5)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Name")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(50)
 | 
			
		||||
                        .HasColumnType("nvarchar(50)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Regions");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -24,7 +24,7 @@ builder.Services.AddScoped<IRegionsProvider, RegionsProvider>();
 | 
			
		||||
builder.Services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies()); //4/30
 | 
			
		||||
builder.Services.AddDbContext<LocationDbContext>(option =>
 | 
			
		||||
{
 | 
			
		||||
    option.UseInMemoryDatabase("Locations");
 | 
			
		||||
    option.UseSqlServer("LocationConnection");
 | 
			
		||||
});
 | 
			
		||||
var app = builder.Build();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -141,10 +141,10 @@ namespace DamageAssesment.Api.Locations.Providers
 | 
			
		||||
            {
 | 
			
		||||
                locationDbContext.Locations.Add(new Db.Location() { LocationCode = "Loc1", RegionId = 1, Name = "BOB GRAHAM EDUCATION CENTER 1", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                locationDbContext.Locations.Add(new Db.Location() { LocationCode = "Loc2", RegionId = 2, Name = "BOB GRAHAM EDUCATION CENTER 2", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                //locationDbContext.Locations.Add(new Db.Location() { Id = 3, LocationCode = "Loc3", RegionId = 3, Name = "BOB GRAHAM EDUCATION CENTER 3", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                //locationDbContext.Locations.Add(new Db.Location() { Id = 4, LocationCode = "Loc4", RegionId = 1, Name = "BOB GRAHAM EDUCATION CENTER 4", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                //locationDbContext.Locations.Add(new Db.Location() { Id = 5, LocationCode = "Loc5", RegionId = 2, Name = "BOB GRAHAM EDUCATION CENTER 5", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                //locationDbContext.Locations.Add(new Db.Location() { Id = 6, LocationCode = "Loc6", RegionId = 3, Name = "BOB GRAHAM EDUCATION CENTER 6", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                locationDbContext.Locations.Add(new Db.Location() { LocationCode = "Loc3", RegionId = 3, Name = "BOB GRAHAM EDUCATION CENTER 3", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                locationDbContext.Locations.Add(new Db.Location() { LocationCode = "Loc4", RegionId = 1, Name = "BOB GRAHAM EDUCATION CENTER 4", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                locationDbContext.Locations.Add(new Db.Location() { LocationCode = "Loc5", RegionId = 2, Name = "BOB GRAHAM EDUCATION CENTER 5", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                locationDbContext.Locations.Add(new Db.Location() { LocationCode = "Loc6", RegionId = 3, Name = "BOB GRAHAM EDUCATION CENTER 6", MaintenanceCenter = "1", SchoolType = "US" });
 | 
			
		||||
                locationDbContext.SaveChanges();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -8,5 +8,8 @@
 | 
			
		||||
      "Microsoft.AspNetCore": "Warning"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "AllowedHosts": "*"
 | 
			
		||||
  "AllowedHosts": "*",
 | 
			
		||||
  "ConnectionStrings": {
 | 
			
		||||
    "LocationConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,17 @@
 | 
			
		||||
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.21" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.5" />
 | 
			
		||||
 | 
			
		||||
@ -6,6 +6,16 @@ namespace DamageAssesment.Api.Questions.Db
 | 
			
		||||
{
 | 
			
		||||
    public class QuestionDbContext : DbContext
 | 
			
		||||
    {
 | 
			
		||||
        private IConfiguration _Configuration { get; set; }
 | 
			
		||||
        public QuestionDbContext(DbContextOptions options, IConfiguration configuration) : base(options)
 | 
			
		||||
        {
 | 
			
		||||
            _Configuration = configuration;
 | 
			
		||||
        }
 | 
			
		||||
        protected override void OnConfiguring(DbContextOptionsBuilder options)
 | 
			
		||||
        {
 | 
			
		||||
            // connect to sql server with connection string from app settings
 | 
			
		||||
            options.UseSqlServer(_Configuration.GetConnectionString("QuestionConnection"));
 | 
			
		||||
        }
 | 
			
		||||
        public DbSet<Db.Question> Questions { get; set; }
 | 
			
		||||
        public DbSet<Db.QuestionType> QuestionTypes { get; set; }
 | 
			
		||||
        public DbSet<Db.QuestionsTranslation> QuestionsTranslations { get; set; }
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										143
									
								
								DamageAssesmentApi/DamageAssesment.Api.Questions/Migrations/20230817215744_InitialQuestion.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										143
									
								
								DamageAssesmentApi/DamageAssesment.Api.Questions/Migrations/20230817215744_InitialQuestion.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,143 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Questions.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Questions.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(QuestionDbContext))]
 | 
			
		||||
    [Migration("20230817215744_InitialQuestion")]
 | 
			
		||||
    partial class InitialQuestion
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.Question", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("CategoryId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Comment")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsRequired")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Key")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("QuestionGroup")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("QuestionNumber")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("QuestionTypeId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("SurveyId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("QuestionTypeId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Questions");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.QuestionCategory", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("CategoryImage")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("CategoryName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("QuestionCategories");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.QuestionType", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("TypeText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("QuestionTypes");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.QuestionsTranslation", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Language")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("QuestionId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("QuestionText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("QuestionsTranslations");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.Question", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("DamageAssesment.Api.Questions.Db.QuestionType", "QuestionType")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("QuestionTypeId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("QuestionType");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,103 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Questions.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class InitialQuestion : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "QuestionCategories",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    CategoryName = table.Column<string>(type: "nvarchar(max)", nullable: false),
 | 
			
		||||
                    CategoryImage = table.Column<string>(type: "nvarchar(max)", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_QuestionCategories", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "QuestionsTranslations",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    QuestionId = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    QuestionText = table.Column<string>(type: "nvarchar(max)", nullable: false),
 | 
			
		||||
                    Language = table.Column<string>(type: "nvarchar(max)", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_QuestionsTranslations", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "QuestionTypes",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    TypeText = table.Column<string>(type: "nvarchar(max)", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_QuestionTypes", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "Questions",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    QuestionTypeId = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    QuestionNumber = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    IsRequired = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    Comment = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    Key = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    SurveyId = table.Column<int>(type: "int", nullable: true),
 | 
			
		||||
                    QuestionGroup = table.Column<string>(type: "nvarchar(max)", nullable: false),
 | 
			
		||||
                    CategoryId = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_Questions", x => x.Id);
 | 
			
		||||
                    table.ForeignKey(
 | 
			
		||||
                        name: "FK_Questions_QuestionTypes_QuestionTypeId",
 | 
			
		||||
                        column: x => x.QuestionTypeId,
 | 
			
		||||
                        principalTable: "QuestionTypes",
 | 
			
		||||
                        principalColumn: "Id",
 | 
			
		||||
                        onDelete: ReferentialAction.Cascade);
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.CreateIndex(
 | 
			
		||||
                name: "IX_Questions_QuestionTypeId",
 | 
			
		||||
                table: "Questions",
 | 
			
		||||
                column: "QuestionTypeId");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "QuestionCategories");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "Questions");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "QuestionsTranslations");
 | 
			
		||||
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "QuestionTypes");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,140 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Questions.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Questions.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(QuestionDbContext))]
 | 
			
		||||
    partial class QuestionDbContextModelSnapshot : ModelSnapshot
 | 
			
		||||
    {
 | 
			
		||||
        protected override void BuildModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.Question", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("CategoryId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Comment")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsRequired")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("Key")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("QuestionGroup")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("QuestionNumber")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("QuestionTypeId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int?>("SurveyId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.HasIndex("QuestionTypeId");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Questions");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.QuestionCategory", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("CategoryImage")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("CategoryName")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("QuestionCategories");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.QuestionType", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("TypeText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("QuestionTypes");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.QuestionsTranslation", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Language")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("QuestionId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("QuestionText")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasColumnType("nvarchar(max)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("QuestionsTranslations");
 | 
			
		||||
                });
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Questions.Db.Question", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.HasOne("DamageAssesment.Api.Questions.Db.QuestionType", "QuestionType")
 | 
			
		||||
                        .WithMany()
 | 
			
		||||
                        .HasForeignKey("QuestionTypeId")
 | 
			
		||||
                        .OnDelete(DeleteBehavior.Cascade)
 | 
			
		||||
                        .IsRequired();
 | 
			
		||||
 | 
			
		||||
                    b.Navigation("QuestionType");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -26,7 +26,7 @@ builder.Services.AddSwaggerGen(c =>
 | 
			
		||||
});
 | 
			
		||||
builder.Services.AddDbContext<QuestionDbContext>(option =>
 | 
			
		||||
{
 | 
			
		||||
    option.UseInMemoryDatabase("Questions");
 | 
			
		||||
    option.UseSqlServer("QuestionConnection");
 | 
			
		||||
});
 | 
			
		||||
var app = builder.Build();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -25,7 +25,7 @@ namespace DamageAssesment.Api.Questions.Providers
 | 
			
		||||
        public void SeedData()
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            if (!questionDbContext.QuestionsTranslations.Any())
 | 
			
		||||
            if (!questionDbContext.QuestionCategories.Any())
 | 
			
		||||
            {
 | 
			
		||||
                questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 1, QuestionText = "Can You Open ?", Language = "en" });
 | 
			
		||||
                questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 1, QuestionText = "Peux-tu ouvrir ?", Language = "fr" });
 | 
			
		||||
@ -41,7 +41,7 @@ namespace DamageAssesment.Api.Questions.Providers
 | 
			
		||||
                questionDbContext.QuestionsTranslations.Add(new Db.QuestionsTranslation() { QuestionId = 4, QuestionText = "¿Están inundados los terrenos?", Language = "es" });
 | 
			
		||||
                questionDbContext.SaveChanges();
 | 
			
		||||
            }
 | 
			
		||||
            if (!questionDbContext.Questions.Any())
 | 
			
		||||
            if (!questionDbContext.QuestionTypes.Any())
 | 
			
		||||
            {
 | 
			
		||||
                questionDbContext.Questions.Add(new Db.Question() { QuestionTypeId = 1, SurveyId = 1, QuestionNumber = 1, IsRequired = true, Comment = false, Key = true, CategoryId=1 });
 | 
			
		||||
                questionDbContext.Questions.Add(new Db.Question() { QuestionTypeId = 1, SurveyId = 1, QuestionNumber = 2, IsRequired = false, Comment = true, Key = false, CategoryId = 1 });
 | 
			
		||||
@ -50,15 +50,14 @@ namespace DamageAssesment.Api.Questions.Providers
 | 
			
		||||
                //questionDbContext.Questions.Add(new Db.Question() { QuestionTypeId = 1, SurveyId = 2, QuestionNumber = 3, IsRequired = true, Comment = false, Key = true, CategoryId = 2 });
 | 
			
		||||
                questionDbContext.SaveChanges();
 | 
			
		||||
            }
 | 
			
		||||
            if (!questionDbContext.QuestionTypes.Any())
 | 
			
		||||
            if (!questionDbContext.Questions.Any())
 | 
			
		||||
            {
 | 
			
		||||
                questionDbContext.QuestionTypes.Add(new Db.QuestionType() { TypeText = "RadioButton" });
 | 
			
		||||
                questionDbContext.QuestionTypes.Add(new Db.QuestionType() { TypeText = "CheckBox" });
 | 
			
		||||
                questionDbContext.QuestionTypes.Add(new Db.QuestionType() { TypeText = "TextBox" });
 | 
			
		||||
                questionDbContext.SaveChanges();
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            if (!questionDbContext.QuestionCategories.Any())
 | 
			
		||||
            if (!questionDbContext.QuestionsTranslations.Any())
 | 
			
		||||
            {
 | 
			
		||||
                questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Flooding", IconLibrary= "https://example.com/images/img1.png" });
 | 
			
		||||
                questionDbContext.QuestionCategories.Add(new Db.QuestionCategory() { IconName = "Electrical", IconLibrary = "https://example.com/images/img2.png" });
 | 
			
		||||
@ -71,21 +70,21 @@ namespace DamageAssesment.Api.Questions.Providers
 | 
			
		||||
            if (!questionDbContext.CategoryTranslations.Any())
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 1, Title = "Flooding", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 2, Title = "Electrical", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 3, Title = "Structural", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 4, Title = "Utility", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 5, Title = "Debris", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 1, Title = "Inondation", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 2, Title = "Électrique", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 3, Title = "De construction", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 4, Title = "Utilitaire", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 5, Title = "Débris", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 1, Title = "Inundación", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 2, Title = "Eléctrica", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 3, Title = "Estructural", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 4, Title = "Utilidad", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { CategoryId = 5, Title = "Escombros", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 1, CategoryId = 1, Title = "Flooding", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 2, CategoryId = 2, Title = "Electrical", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 3, CategoryId = 3, Title = "Structural", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 4, CategoryId = 4, Title = "Utility", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 5, CategoryId = 5, Title = "Debris", Language = "en" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 6, CategoryId = 1, Title = "Inondation", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 7, CategoryId = 2, Title = "Électrique", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 8, CategoryId = 3, Title = "De construction", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 9, CategoryId = 4, Title = "Utilitaire", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 10, CategoryId = 5, Title = "Débris", Language = "fr" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 11, CategoryId = 1, Title = "Inundación", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 12, CategoryId = 2, Title = "Eléctrica", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 13, CategoryId = 3, Title = "Estructural", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 14, CategoryId = 4, Title = "Utilidad", Language = "es" });
 | 
			
		||||
                questionDbContext.CategoryTranslations.Add(new Db.CategoryTranslation() { Id = 15, CategoryId = 5, Title = "Escombros", Language = "es" });
 | 
			
		||||
                questionDbContext.SaveChanges();
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
@ -8,5 +8,8 @@
 | 
			
		||||
      "Microsoft.AspNetCore": "Warning"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "AllowedHosts": "*"
 | 
			
		||||
  "AllowedHosts": "*",
 | 
			
		||||
  "ConnectionStrings": {
 | 
			
		||||
    "QuestionConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -10,7 +10,7 @@
 | 
			
		||||
  </PropertyGroup>
 | 
			
		||||
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.5.0" />
 | 
			
		||||
    <PackageReference Include="Moq" Version="4.18.4" />
 | 
			
		||||
    <PackageReference Include="xunit" Version="2.4.2" />
 | 
			
		||||
 | 
			
		||||
@ -11,6 +11,19 @@
 | 
			
		||||
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="7.0.0" />
 | 
			
		||||
    <PackageReference Include="Microsoft.Extensions.Http.Polly" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.21" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.5" />
 | 
			
		||||
 | 
			
		||||
@ -4,12 +4,17 @@ namespace DamageAssesment.Api.Responses.Db
 | 
			
		||||
{
 | 
			
		||||
    public class SurveyResponseDbContext:DbContext
 | 
			
		||||
    {
 | 
			
		||||
        public DbSet<Db.SurveyResponse> SurveyResponses { get; set; }
 | 
			
		||||
 | 
			
		||||
        public SurveyResponseDbContext(DbContextOptions options) : base(options)
 | 
			
		||||
        private IConfiguration _Configuration { get; set; }
 | 
			
		||||
        public SurveyResponseDbContext(DbContextOptions options, IConfiguration configuration) : base(options)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            _Configuration = configuration;
 | 
			
		||||
        }
 | 
			
		||||
        protected override void OnConfiguring(DbContextOptionsBuilder options)
 | 
			
		||||
        {
 | 
			
		||||
            // connect to sql server with connection string from app settings
 | 
			
		||||
            options.UseSqlServer(_Configuration.GetConnectionString("SurveyResponseConnection"));
 | 
			
		||||
        }
 | 
			
		||||
        public DbSet<Db.SurveyResponse> SurveyResponses { get; set; }
 | 
			
		||||
 | 
			
		||||
        protected override void OnModelCreating(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
@ -0,0 +1,55 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using DamageAssesment.Api.SurveyResponses.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.SurveyResponses.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(SurveyResponseDbContext))]
 | 
			
		||||
    [Migration("20230817221348_InitialSurveyResponse")]
 | 
			
		||||
    partial class InitialSurveyResponse
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.SurveyResponses.Db.SurveyResponse", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("EmployeeId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(6)
 | 
			
		||||
                        .HasColumnType("nvarchar(6)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("LocationId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(4)
 | 
			
		||||
                        .HasColumnType("nvarchar(4)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("SurveyId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("SurveyResponses");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,36 @@
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.SurveyResponses.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class InitialSurveyResponse : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "SurveyResponses",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    SurveyId = table.Column<int>(type: "int", nullable: false),
 | 
			
		||||
                    LocationId = table.Column<string>(type: "nvarchar(4)", maxLength: 4, nullable: false),
 | 
			
		||||
                    EmployeeId = table.Column<string>(type: "nvarchar(6)", maxLength: 6, nullable: false)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_SurveyResponses", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "SurveyResponses");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,52 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using DamageAssesment.Api.SurveyResponses.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.SurveyResponses.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(SurveyResponseDbContext))]
 | 
			
		||||
    partial class SurveyResponseDbContextModelSnapshot : ModelSnapshot
 | 
			
		||||
    {
 | 
			
		||||
        protected override void BuildModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.SurveyResponses.Db.SurveyResponse", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("EmployeeId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(6)
 | 
			
		||||
                        .HasColumnType("nvarchar(6)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("LocationId")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(4)
 | 
			
		||||
                        .HasColumnType("nvarchar(4)");
 | 
			
		||||
 | 
			
		||||
                    b.Property<int>("SurveyId")
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("SurveyResponses");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -11,6 +11,17 @@
 | 
			
		||||
 | 
			
		||||
  <ItemGroup>
 | 
			
		||||
    <PackageReference Include="AutoMapper.Extensions.Microsoft.DependencyInjection" Version="12.0.1" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="7.0.9" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="7.0.9">
 | 
			
		||||
      <PrivateAssets>all</PrivateAssets>
 | 
			
		||||
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
 | 
			
		||||
    </PackageReference>
 | 
			
		||||
    <PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="6.0.21" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" />
 | 
			
		||||
    <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="7.0.5" />
 | 
			
		||||
 | 
			
		||||
@ -4,11 +4,18 @@ namespace DamageAssesment.Api.Surveys.Db
 | 
			
		||||
{
 | 
			
		||||
    public class SurveysDbContext : DbContext
 | 
			
		||||
    {
 | 
			
		||||
        private IConfiguration _Configuration { get; set; }
 | 
			
		||||
        public SurveysDbContext(DbContextOptions options, IConfiguration configuration) : base(options)
 | 
			
		||||
        {
 | 
			
		||||
            _Configuration = configuration;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        public DbSet<Db.Survey> Surveys { get; set; }
 | 
			
		||||
        public DbSet<Db.SurveyTranslation> SurveysTranslation { get; set; }
 | 
			
		||||
        public SurveysDbContext(DbContextOptions options) : base(options)
 | 
			
		||||
        protected override void OnConfiguring(DbContextOptionsBuilder options)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
            // connect to sql server with connection string from app settings
 | 
			
		||||
            options.UseSqlServer(_Configuration.GetConnectionString("SurveyConnection"));
 | 
			
		||||
        }
 | 
			
		||||
        protected override void OnModelCreating(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										57
									
								
								DamageAssesmentApi/DamageAssesment.Api.Surveys/Migrations/20230817220614_InitialSurvey.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								DamageAssesmentApi/DamageAssesment.Api.Surveys/Migrations/20230817220614_InitialSurvey.Designer.cs
									
									
									
										generated
									
									
									
										Normal file
									
								
							@ -0,0 +1,57 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Surveys.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Survey.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(SurveysDbContext))]
 | 
			
		||||
    [Migration("20230817220614_InitialSurvey")]
 | 
			
		||||
    partial class InitialSurvey
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void BuildTargetModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Surveys.Db.Survey", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("EndDate")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsEnabled")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("StartDate")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Title")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(100)
 | 
			
		||||
                        .HasColumnType("nvarchar(100)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Surveys");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,38 @@
 | 
			
		||||
using System;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Migrations;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Survey.Migrations
 | 
			
		||||
{
 | 
			
		||||
    /// <inheritdoc />
 | 
			
		||||
    public partial class InitialSurvey : Migration
 | 
			
		||||
    {
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Up(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.CreateTable(
 | 
			
		||||
                name: "Surveys",
 | 
			
		||||
                columns: table => new
 | 
			
		||||
                {
 | 
			
		||||
                    Id = table.Column<int>(type: "int", nullable: false)
 | 
			
		||||
                        .Annotation("SqlServer:Identity", "1, 1"),
 | 
			
		||||
                    Title = table.Column<string>(type: "nvarchar(100)", maxLength: 100, nullable: false),
 | 
			
		||||
                    IsEnabled = table.Column<bool>(type: "bit", nullable: false),
 | 
			
		||||
                    StartDate = table.Column<DateTime>(type: "datetime2", nullable: true),
 | 
			
		||||
                    EndDate = table.Column<DateTime>(type: "datetime2", nullable: true)
 | 
			
		||||
                },
 | 
			
		||||
                constraints: table =>
 | 
			
		||||
                {
 | 
			
		||||
                    table.PrimaryKey("PK_Surveys", x => x.Id);
 | 
			
		||||
                });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <inheritdoc />
 | 
			
		||||
        protected override void Down(MigrationBuilder migrationBuilder)
 | 
			
		||||
        {
 | 
			
		||||
            migrationBuilder.DropTable(
 | 
			
		||||
                name: "Surveys");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -0,0 +1,54 @@
 | 
			
		||||
// <auto-generated />
 | 
			
		||||
using System;
 | 
			
		||||
using DamageAssesment.Api.Surveys.Db;
 | 
			
		||||
using Microsoft.EntityFrameworkCore;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Infrastructure;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Metadata;
 | 
			
		||||
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
 | 
			
		||||
 | 
			
		||||
#nullable disable
 | 
			
		||||
 | 
			
		||||
namespace DamageAssesment.Api.Survey.Migrations
 | 
			
		||||
{
 | 
			
		||||
    [DbContext(typeof(SurveysDbContext))]
 | 
			
		||||
    partial class SurveysDbContextModelSnapshot : ModelSnapshot
 | 
			
		||||
    {
 | 
			
		||||
        protected override void BuildModel(ModelBuilder modelBuilder)
 | 
			
		||||
        {
 | 
			
		||||
#pragma warning disable 612, 618
 | 
			
		||||
            modelBuilder
 | 
			
		||||
                .HasAnnotation("ProductVersion", "7.0.9")
 | 
			
		||||
                .HasAnnotation("Relational:MaxIdentifierLength", 128);
 | 
			
		||||
 | 
			
		||||
            SqlServerModelBuilderExtensions.UseIdentityColumns(modelBuilder);
 | 
			
		||||
 | 
			
		||||
            modelBuilder.Entity("DamageAssesment.Api.Surveys.Db.Survey", b =>
 | 
			
		||||
                {
 | 
			
		||||
                    b.Property<int>("Id")
 | 
			
		||||
                        .ValueGeneratedOnAdd()
 | 
			
		||||
                        .HasColumnType("int");
 | 
			
		||||
 | 
			
		||||
                    SqlServerPropertyBuilderExtensions.UseIdentityColumn(b.Property<int>("Id"));
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("EndDate")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<bool>("IsEnabled")
 | 
			
		||||
                        .HasColumnType("bit");
 | 
			
		||||
 | 
			
		||||
                    b.Property<DateTime?>("StartDate")
 | 
			
		||||
                        .HasColumnType("datetime2");
 | 
			
		||||
 | 
			
		||||
                    b.Property<string>("Title")
 | 
			
		||||
                        .IsRequired()
 | 
			
		||||
                        .HasMaxLength(100)
 | 
			
		||||
                        .HasColumnType("nvarchar(100)");
 | 
			
		||||
 | 
			
		||||
                    b.HasKey("Id");
 | 
			
		||||
 | 
			
		||||
                    b.ToTable("Surveys");
 | 
			
		||||
                });
 | 
			
		||||
#pragma warning restore 612, 618
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@ -44,7 +44,7 @@ builder.Services.AddSwaggerGen(c =>
 | 
			
		||||
});
 | 
			
		||||
builder.Services.AddDbContext<SurveysDbContext>(option =>
 | 
			
		||||
{
 | 
			
		||||
    option.UseInMemoryDatabase("Surveys");
 | 
			
		||||
    option.UseSqlServer("SurveyConnection");
 | 
			
		||||
});
 | 
			
		||||
var app = builder.Build();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -8,5 +8,8 @@
 | 
			
		||||
      "Microsoft.AspNetCore": "Warning"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "AllowedHosts": "*"
 | 
			
		||||
  "AllowedHosts": "*",
 | 
			
		||||
  "ConnectionStrings": {
 | 
			
		||||
    "SurveyConnection": "Server=DESKTOP-OF5DPLQ\\SQLEXPRESS;Database=da_survey_dev;Trusted_Connection=True;TrustServerCertificate=True;"
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1,78 +1,13 @@
 | 
			
		||||
version: '3.4'
 | 
			
		||||
 | 
			
		||||
services:
 | 
			
		||||
  answers:
 | 
			
		||||
    image: santhoshsnair/damageassesmentapianswers:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
    ports:
 | 
			
		||||
      - "6001:80"
 | 
			
		||||
 | 
			
		||||
  attachments:
 | 
			
		||||
    image: santhoshsnair/damageassesmentapiattachments:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
    ports:
 | 
			
		||||
      - "6002:80"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  employees:
 | 
			
		||||
    image: santhoshsnair/damageassesmentapiemployees:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
    ports:
 | 
			
		||||
      - "6003:80"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  locations:
 | 
			
		||||
    image: santhoshsnair/damageassesmentapilocations:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
    ports:
 | 
			
		||||
      - "6004:80"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  questions:
 | 
			
		||||
    image: santhoshsnair/damageassesmentapiquestions:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
    ports:
 | 
			
		||||
      - "6005:80"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  responses:
 | 
			
		||||
    image: santhoshsnair/damageassesmentapisurveyresponses:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
      - services__Answers=http://10.0.0.4:19081/dasapp/answers/
 | 
			
		||||
      - services__Locations=http://10.0.0.4:19081/dasapp/locations/
 | 
			
		||||
      - services__Questions=http://10.0.0.4:19081/dasapp/questions/
 | 
			
		||||
      - services__Employees=http://10.0.0.4:19081/dasapp/employees/
 | 
			
		||||
      - services__Attachments=http://10.0.0.4:19081/dasapp/attachments/
 | 
			
		||||
      - services__Surveys=http://10.0.0.4:19081/dasapp/survey/
 | 
			
		||||
 
 | 
			
		||||
    ports:
 | 
			
		||||
      - "6006:80"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  surveys:
 | 
			
		||||
    image: santhoshsnair/damageassesmentapisurveys:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
    ports:
 | 
			
		||||
      - "6007:80"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
  doculinks:
 | 
			
		||||
    image: santhoshsnair/damageassesmentapidoculinks:latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - ASPNETCORE_ENVIRONMENT=Development
 | 
			
		||||
    ports:
 | 
			
		||||
      - "6009:80"
 | 
			
		||||
  
 | 
			
		||||
  sqlserver:
 | 
			
		||||
    image: mcr.microsoft.com/mssql/server:2019-latest
 | 
			
		||||
    environment:
 | 
			
		||||
      - SA_PASSWORD=your_password
 | 
			
		||||
      - SA_PASSWORD=Test123
 | 
			
		||||
      - ACCEPT_EULA=Y
 | 
			
		||||
    ports:
 | 
			
		||||
      - "1433:1433"
 | 
			
		||||
    volumes:
 | 
			
		||||
      - ./data:/var/opt/mssql  # Mount a volume to persist data 
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user