نمایش نتایج 1 تا 4 از 4

نام تاپیک: پروفایل متفاوت برای Role های متفاوت

  1. #1

    پروفایل متفاوت برای Role های متفاوت

    سلام . من در برنامم دو تا role فروشنده و خریدار دارم که بعضی فیلدهای پروفایل برای هر دوی اونها مشترک هست و بعضی فرق میکنه. کاری که من انجام دادم در ApplicationUser به این شکل هست:

    public class ApplicationUser : IdentityUser
    {
    public virtual Seller Seller { get; set; }
    public virtual Customer Customer { get; set; }
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationU ser> manager)
    {
    // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
    var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
    // Add custom user claims here
    return userIdentity;
    }
    }


    میخواستم ببینم آیا این راه درست هست؟ آیا راه بهتری برای پیاده سازی این موضوع وجود نداره؟
    ممنون

  2. #2

    نقل قول: پروفایل متفاوت برای Role های متفاوت

    اگر فیلد مشترک بین هر 2 جدول دارید میتونید از ارث بری یا همون Inheritance استفاده کنید ، یعنی یک کلاس والد داشته باشید که فیلد های مشترک داخلش قرار میگیرن و 2 کلاس فرزند که از کلاس والد ارث بری میکنند .
    با این روش کد تمیز تری خواهید داشت و از تکرار تو کدتون جلوگیری میشه و اصل DRY رو رعایت کردید .

    اگر بنده منظورتون بد متوجه شدم بفرمایید که بیشتر راهنمایی کنم .

  3. #3

    نقل قول: پروفایل متفاوت برای Role های متفاوت

    نقل قول نوشته شده توسط Moien Tajik مشاهده تاپیک
    اگر فیلد مشترک بین هر 2 جدول دارید میتونید از ارث بری یا همون Inheritance استفاده کنید ، یعنی یک کلاس والد داشته باشید که فیلد های مشترک داخلش قرار میگیرن و 2 کلاس فرزند که از کلاس والد ارث بری میکنند .
    با این روش کد تمیز تری خواهید داشت و از تکرار تو کدتون جلوگیری میشه و اصل DRY رو رعایت کردید .

    اگر بنده منظورتون بد متوجه شدم بفرمایید که بیشتر راهنمایی کنم .
    متشکر از پاسختون
    ببینید من میخواستم فیلدهای مشترک رو در همون کلاس ApplicationUser اضافه کنم که اینجوری هم از تکرار جلوگیری میشه. به این شکل:


    public class ApplicationUser : IdentityUser
    {
    public virtual String Fname { get; set; }
    public virtual String Lname { get; set; }
    public virtual Seller Seller { get; set; }
    public virtual Customer Customer { get; set; }
    public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationU ser> manager)
    {
    // Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
    var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
    // Add custom user claims here
    return userIdentity;
    }
    }


    الان مساله من پیاده سازی همین دو نوع پروفایل هست. این که آیا این روش به طور کلی روش درستی هست. الان در این روش من موقع ثبت نام کاربر با توجه به نوع کاربر که میتونه فروشنده یا خریدار باشه مقادیر رو تنظیم میکنم. مثلا اگه یک فروشنده بخواد ثبت نام کنه من فیلد های مشترک و فیلدهای کلاس Seller رو به کاربر نشون میدم و موقع ثبت اطلاعات ، فیلد از نوع Customer رو null قرار میدم. در ضمن یک فیلد از نوع ApplicationUser هم در هر دو کلاس Seller و Customer وجود داره. به طور کلی میخواستم بپرسم آیا این رویه ای که پیش گرفتم روش مناسبی هست برای دو نوع ثبت نام و پروفایل متفاوت؟ یا روش بهتری برای این کار وجود داره؟ ممنون
    آخرین ویرایش به وسیله vbkaar : چهارشنبه 01 شهریور 1396 در 07:09 صبح

  4. #4

    نقل قول: پروفایل متفاوت برای Role های متفاوت

    بله درست هستش چون اینطور که گفتید بالاخره شما نیاز به ایجاد ارتباط بین جدولاتون دارید و روش ایجاد ارتباط هم همین هست .

تاپیک های مشابه

  1. کد نویسی برای رنگ های متفاوت در هر رکورد فرم
    نوشته شده توسط hasanhzd در بخش Access
    پاسخ: 2
    آخرین پست: یک شنبه 29 بهمن 1391, 18:55 عصر
  2. سوال: مشکل با login برای role های مختلف
    نوشته شده توسط yekta99 در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: دوشنبه 16 بهمن 1391, 10:57 صبح
  3. سوال: گذاشتن عکس برای بگ گراند برای رزولوشن های متفاوت
    نوشته شده توسط smael1 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: چهارشنبه 20 مهر 1390, 08:33 صبح
  4. پاسخ: 2
    آخرین پست: یک شنبه 16 اردیبهشت 1386, 07:34 صبح
  5. تعیینProvider از نوع siqel 2000 برای role های asp.net 2005
    نوشته شده توسط nazaninam در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: یک شنبه 24 اردیبهشت 1385, 22:44 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •