using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using MTWorkHR.Infrastructure.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace MTWorkHR.Infrastructure.Configurations
{
    public class RoleConfiguration : IEntityTypeConfiguration<ApplicationRole>
    {

        public void Configure(EntityTypeBuilder<ApplicationRole> builder)
        {
            builder.HasData(
                new ApplicationRole
                {
                    Id = "AD5B3B92-2311-48F8-9DEC-F9FAEF1F211A",
                    Name = "Admin",
                    NormalizedName = "ADMIN",
                    IsAdmin = false, // this flag to authorize all function in case of true.
                    IsDeleted = false,
                    
                },
                new ApplicationRole
                { 
                    Id = "EM5B3B92-2311-48F8-9DEC-F9FAEF1F211E",
                    Name = "Employee",
                    NormalizedName = "EMPLOYEE",
                    IsAdmin = false,
                    IsDeleted = false,

                }
                ,
                new ApplicationRole
                {
                    Id = "CO5B3B92-2311-48F8-9DEC-F9FAEF1F211R",
                    Name = "Contractor",
                    NormalizedName = "CONTRACTOR",
                    IsAdmin = false,
                    IsDeleted = false,

                }
                  ,
                new ApplicationRole
                {
                    Id = "BS5B3B92-2311-48F8-9DEC-F9FAEF1F2110",
                    Name = "Business",
                    NormalizedName = "BUSINESS",
                    IsAdmin = false,
                    IsDeleted = false,

                }

                );
        }
    }
}
