using Lada.Framework.Data.Domains.Categories;
using Lada.Framework.Data.Domains.Crm;
using Lada.Framework.Data.Domains.Finance.Quotations;
using Lada.Framework.Data.Domains.GoogleMap.PlaceAutocomplete;
using Lada.Framework.Data.Domains.Identity;
using Lada.Framework.Data.Mappings.EntityMappings.Categories;
using Lada.Framework.Data.Mappings.EntityMappings.Crm;
using Lada.Framework.Data.Mappings.EntityMappings.Finances.Quotations;
using Lada.Framework.Data.Mappings.EntityMappings.GoogleMap.PlaceAutocomplete;
using Lada.Framework.Data.Mappings.EntityMappings.Identity;
using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;

namespace Lada.Framework.Data.Mappings.DbContexts
{
    public partial class LadaDbContext
    {
        private void ApplyUserMappings(ModelBuilder builder)
        {
            builder
                .RegisterEntityMapping<Location, LocationMap>()
                .RegisterEntityMapping<Agency, AgencyMap>()
                .RegisterEntityMapping<EndPoints, EndPointsMap>()
                .RegisterEntityMapping<Menu, MenuMap>()
                .RegisterEntityMapping<Route, RouteMap>()
                .RegisterEntityMapping<RouteLocationConfig, RouteLocationConfigMap>()
                .RegisterEntityMapping<Price, PriceMap>()
                .RegisterEntityMapping<User, UserMap>()
                .RegisterEntityMapping<RefreshToken, RefreshTokenMap>()
                .RegisterEntityMapping<Role, RoleMap>()
                .RegisterEntityMapping<Permission, PermissionMap>()
                .RegisterEntityMapping<PermissionRole, PermissionRoleMap>()
                .RegisterEntityMapping<PlacePrediction, PlacePredictionMap>()
                .RegisterEntityMapping<IdentityUserClaim<int>, IdentityUserClaimMap>()
                .RegisterEntityMapping<IdentityRoleClaim<int>, IdentityRoleClaimMap>()
                .RegisterEntityMapping<UserRole, UserRoleMap>()
                .RegisterEntityMapping<IdentityUserLogin<int>, IdentityUserLoginMap>()
                .RegisterEntityMapping<IdentityUserToken<int>, IdentityUserTokenMap>();
        }
    }

}
