c# Web

Öğrencilere Ait Performans ve Uygulama Notlarının Girildiği Core Mvc Projesi Tasarlama8

Projede öncelikle tüm işlemleri yapacak bir kullanıcının eklenmesi gerekir. Şimdi bunu gerçekleştirelim. Admin kullanıcısına varsayılan WebAdresi, ResimYolu ve Durum gibi alanları da ekleyelim.

SeedData dosyasını tanımlayalım.

using Microsoft.AspNetCore.Identity;
using SchoolManagement.Models;

namespace SchoolManagement.Data
{
    public static class SeedData
    {
        public static async Task Initialize(IServiceProvider serviceProvider)
        {
            using (var scope = serviceProvider.CreateScope())
            {
                var userManager = scope.ServiceProvider.GetRequiredService<UserManager<ApplicationUser>>();
                var roleManager = scope.ServiceProvider.GetRequiredService<RoleManager<IdentityRole>>();

                // Rolleri oluştur
                string[] roleNames = { "Admin", "Teacher", "Student" };
                foreach (var roleName in roleNames)
                {
                    if (!await roleManager.RoleExistsAsync(roleName))
                    {
                        await roleManager.CreateAsync(new IdentityRole(roleName));
                    }
                }

                // Eğer hiç kullanıcı yoksa, Admin kullanıcısını oluştur
                if (!userManager.Users.Any())
                {
                    await AddUserIfNotExists(userManager, "xxxx", "aaa@bbb.ccc", "yyyy!",
                        "Admin Kullanıcısı", "aaaaa", "Kullanıcı", "0000", "zzzz");
                }
            }
        }

        private static async Task AddUserIfNotExists(UserManager<ApplicationUser> userManager,
            string userName, string email, string password, string fullName,
            string adi, string soyadi, string numara, string role)
        {
            var user = await userManager.FindByEmailAsync(email);
            if (user == null)
            {
                user = new ApplicationUser
                {
                    UserName = userName,
                    Email = email,
                    EmailConfirmed = true,
                    FullName = fullName,
                    Adi = adi,
                    Soyadi = soyadi,
                    Numara = numara,
                    WebAdresi = "http://www.example.com", // Varsayılan web adresi
                    ResimYolu = "images/default.jpg", // Varsayılan resim
                    Durum = 1 // Aktif kullanıcı
                };

                var result = await userManager.CreateAsync(user, password);
                if (result.Succeeded)
                {
                    await userManager.AddToRoleAsync(user, role);
                }
            }
        }
    }
}

Program.cs içinden bunu çağıralım. 

using (var scope = app.Services.CreateScope())
{
    var services = scope.ServiceProvider;
    var context = services.GetRequiredService<ApplicationDbContext>();

    // Veritabanında başlangıç verisinin olup olmadığını kontrol edin
    if (!context.Users.Any()) // Örneğin kullanıcı tablosu boşsa verileri ekle
    {
        await SeedData.Initialize(services);
    }
}

Bu kod sayesinde ilk çalıştırmada Admin kullanıcısı otomatik olarak oluşturulacak. Eğer veritabanında zaten kullanıcı varsa, işlem tekrarlanmayacak.


Etiketler
seeddata admin aspnetusers 
İlgili Makaleler
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem İkinci Yazılı Çalışma Soruları
2020 TYT Matematik Ortakatlı Kuralıyla İlgili Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama1
Web Tabanlı Uygulama Geliştirme Dersi İkinci Dönem Birinci Yazılı Çalışma Soruları
Visual Studio 2022 Programında Asp.Net Web Application Şablonu Görünmüyor Hatasını Düzeltme
Core Mvc Projesinde Tuple Nesneleri Post Etme ve Yakalama İşlemleri
Seri Port Yardımıyla Arduino Devresine Bağlanıp Ledleri Asp.Net Web Uygulamasından Yakıp Söndürme
Sitenin Alexa Dünya Sıralamasını Kodlarla Öğrenme
Personele Ait Boy ve Kilo Bilgilerine Göre İdeal Kiloyu Bulan Uygulamayı Asp.Net İle Yapınız
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama4
Bir Otobüs Firmasına Ait Bilet Satış İşlemlerini Class(Sınıf) Tanımlayarak Yapan c# Form Uygulaması
Asp.Net Uygulamasında Manual Olarak JSON Oluşturma
Asp.Net Uygulamalarında Modal PopUp Oluşturma
Web Uygulamalarında SqLite Kullanımı
Asp.Net Uygulamalarında DataList (Veri Listeleme) Kontrolü
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama2
C# Uygulamasında Miladi Takvimi Hicri Takvime, Hicri Takvimi Miladi Takvime Dönüştürme
RadioButton ile Cinsiyet Bilgisini Alan Asp.Net c# Uygulaması
Core Mvc Projesinde SqlServer Kullanarak Üye Takibi Yapan Web Projesini Tasarlama3
2022 TYT Matematik Onbirinci Sorunun Çözümünü c# Diliyle Web Form Sayfasında Kodlama

Yorum Ekle
   
Kötü İyi