‫۴ سال و ۲ ماه قبل، سه‌شنبه ۱۷ تیر ۱۳۹۹، ساعت ۱۳:۳۹
با سلام عرض ادب مدل های  جدیدی که به پروژه اضافه میکنم به دیتابیس اضافه نمیشه در صورتیکه تمامی قواعد ذکر شده را من رعایت کردم 
ممنون میشم راهنمایی بفرمایید

   

من مقاله زیر را هم مطالعه کردم
خودکار کردن تعاریف DbSetها در EF Code first
مدل تعریفی من به صورت زیر می‌باشد
namespace Decision.DomainClasses.Entities
{
   

    /// <summary>
    /// انوع استعلام
    /// </summary>
    public class ResearchType:BaseEntity
    {
      

        /// <summary>
        /// نوع استعلام
        /// </summary>
        public int Title { get; set; }

        /// <summary>
        /// وضعیت نمایش
        /// </summary>
        public bool  IsActive { get; set; }


    }
    }


‫۵ سال قبل، یکشنبه ۱۰ شهریور ۱۳۹۸، ساعت ۱۶:۰۶
با سلام تشکر از پروژه مفید شما
در صورتیکه من بخواهم از روش database first  به جای codefirst  استفاده کنم کدوم قسمت‌ها را باید تغییر بدهیم چون دیتابیس پروژه من اماده است .
ممنون میشم راهنمایی بفرمایید
‫۶ سال و ۴ ماه قبل، پنجشنبه ۲۰ اردیبهشت ۱۳۹۷، ساعت ۲۳:۰۱
سلام، ابتدا تشکر می‌کنم بابت ارائه این پروژه خوب وخوش ساخت
خواستم خواهش کنم اگر برای شما مقدور هست در بین کد‌ها با کامنت گذاری به مطالب مرتبط با سایت ارجاع دهید (طبق گفته آقای نصیری برای فهمیدن این پروژه نیاز هست که روی مطالب سایت مسلط بود).

با این کار سطح آموزشی این پروژه بسیار غنی‌تر می‌شود.
با تشکر
‫۶ سال و ۵ ماه قبل، چهارشنبه ۱۵ فروردین ۱۳۹۷، ساعت ۰۲:۱۳
در متد CheckUserNameExist از ()ToList  استفاده شده است. البته متد string.Equals  با پارامتر InvariantCultureIgnoreCase به صورت in-memory هست و باید از ()ToList استفاده شود. (توضیحات ) 
اگر تعداد زیادی کاربر  داشته باشیم شاید آوردن این اطلاعات به memory کار درستی نباشد. شاید کد زیر عملکرد بهتری داشته باشد:
استفاده از string.Compare با پارا متر InvariantCultureIgnoreCase بدون استفاده از ()ToList  :
public Task<bool> CheckUserNameExist(string userName, Guid? id)
        {
            return id == null
                ? _users.AnyAsync(a => string.Compare(a.UserName, userName, StringComparison.InvariantCultureIgnoreCase) == 0)
                : _users.AnyAsync(a => string.Compare(a.UserName, userName, StringComparison.InvariantCultureIgnoreCase) == 0 && a.Id != id.Value);

        }

 
‫۶ سال و ۶ ماه قبل، سه‌شنبه ۸ اسفند ۱۳۹۶، ساعت ۰۲:۰۰
با سلام،

در سیستم decision هر کاربر هر نقشی رو می‌تونه داشته باشه!
بنده در یک سیستم یک سری کاربر دارم که به عنوان مشترکین (subscriber) ثبت نام می‌کنند و یک سری خدمات بهشون ارائه می‌شه، یک سری هم کاربر دارم که کارشون مدیریت هستش دیگه ثبت نام نمی‌کنند و تو سیستم اضافه می‌شن؛
پس دو نوع کاربر داریم یکی مشتریکن و یکی مدیران.
پس باید دو نوع نقش هم داشته باشیم.
مثلا بنده تو سیستم ۱۰ تا دسترسی دارم که ۴ تا مربوط به مشترکین و ۶ تا مربروط به مدیران هستش. (شاید هم دسترسی‌های مشترک داشته باشند)
بر اساس اون ۶ تا دسترسی هر چند تا نقش مدیریتی که بخوام می‌تونم ایجاد کنم و بر اساس اون ۴ تا دسترسی هم همینطور برای مشترکین.
پس برای کلاس user و role باید یه فیلد type در نظر بگیرم؟ 
(البته تفکیک permission‌ها راحت تره، چون تو دیتابیس ذخیره نمی‌شن، با دو تا متد حل می‌شه)
در کل هدف بنده اینه که یک کاربر مشترکین (که ثبت نام کرده) نتونه نقش مدیریتی بگیره! 
 
برای مثلا بنده که در سایت https://www.dntips.ir  ثبت نام کردم یکی سری دسترسی مشترک با admin هم دارم مثلا هر دو می‌تونیم در مورد یک موضوع نظر بدهیم ولی آیا این امکان برای بنده وجود داره که مدیریت کاربران هم به دسترسی‌های من اضافه بشه!؟
‫۶ سال و ۷ ماه قبل، جمعه ۴ اسفند ۱۳۹۶، ساعت ۰۳:۰۵
با سلام، 
من برای پیاده سازی asp.net identity از کد شما استفاده کردم، اما با یک مشکل مواجه شدم که در پروژه شما این مشکل وجود ندارد.
کنترل دسترسی بر اساس Roles درست کار می‌کند هم با فیلتر Mvc5Authorize و هم با تابع IsInRole  :
       [Mvc5Authorize(StandardRoles.Administrators)]
        public virtual ActionResult Index(string type)
        {
            return new ElmahResult(type);
        }

        public virtual ActionResult Index()
        {
            if (User.IsInRole(StandardRoles.Administrators))
            {
                this.NotyAlert("سلام مدیر2");
            }
            return View();
        }

اما بر اساس Permissions دسترسی وجود ندارد. در حالی که نقش Administrators ("مدیران") همه Permissionsها را دارد.
 // HTTP Error 403.0 - Forbidden نمایش پیغام       
[Mvc5Authorize(AssignableToRolePermissions.CanAccessToSystemMaintenance)] 
        public virtual ActionResult Index(string type)
        {
            return new ElmahResult(type);
        }


        public virtual ActionResult Index()
        {
  if (User.IsInRole(AssignableToRolePermissions.CanAccessToSystemMaintenance))
            {
                // عدم اجرا و نمایش ییام
                this.NotyAlert("سلام مدیر1");
            }
            return View();
        }

نقش‌های کاربر لاگین شده (چطور می‌توان Permissonهای کاربر را مشاهده کرد؟):

 
به دلیل اینکه فیلد Permissions به صورت XML ذخیره می‌شود باید تنظیمات خاصی را در web.config ست کرد؟ 

لطفا راهنمایی بفرمایید مشکل از کجا می‌تواند باشد.
با تشکر،
‫۶ سال و ۷ ماه قبل، یکشنبه ۲۲ بهمن ۱۳۹۶، ساعت ۰۱:۱۲
سلام،
بنده قصد دارم در پروژه خودم برای نمایش notification از library که در پروژه شما استفاده شده است ( noty )، استفاده کنم.
وقتی در یک action از کد زیر استفاده میکنم، پیغامی نمایش داده نمی‌شود:
       public virtual ActionResult Index()
        {
            this.NotySuccess("سلام");
            ViewBag.Title = "...";
            return View();
        }

اما وقتی در view کد زیر را وارد می‌کنم notification به درستی نمایش داده می‌شود:
  
@section scripts
  {
    <script>
        $(function () {
            infoNoty('سلام');
        });
    </script>
}
 
لطفا راهنمایی بفرمایید، مشکل چیست ... ؟

بخش‌های اضافه شده:

‫۶ سال و ۷ ماه قبل، دوشنبه ۱۶ بهمن ۱۳۹۶، ساعت ۰۲:۱۵
سلام،
وقتی تابع OnActionExecuted در کلاس Decision.Web.Filters.AuditAttribute رو از حالت کامنت خارج می‌کنم 
        public override void OnActionExecuted(ActionExecutedContext filterContext)
        {
            if (LogType == AuditLogType.Login)
            {
                AuditLogService.Create(Description, LogType);
            }
            if (LogType != AuditLogType.Serialize) return;
            if (filterContext.Controller.ViewData.ModelState.IsValid)
            {
                AuditLogService.Create(Description, LogType);
            }

            base.OnActionExecuted(filterContext);
        }

موقع login با خطای زیر مواجه می‌شوم؛
البته مشخص است که وقتی هنوز login نشده ایم پس current user هم نداریم! 
 
- این بخش به طور کامل پیاده سازی نشده است؛
این فیلتر (Decision.Web.Filters.AuditAttribute ) برای اکشن‌های زیادی استفاده شده است البته فقط  Description  یا عنوان لاگ در database ذخیره می‌شود و oldvalue و NewValue مقداری ندارند.
این بخش را چطور می‌توان کامل کرد؟  

‫۶ سال و ۷ ماه قبل، پنجشنبه ۱۲ بهمن ۱۳۹۶، ساعت ۱۹:۳۱
سلام،
بنده بخش هایی از پروژه  شما رو بازنویسی می‌کنم و قصد دارم در یک پروژه جدید استفاده کنم؛ 
1- در مورد تصویر (خطا) اول چرا از system.web استفاده نمی‌کند؟
2- در مورد تصویر (خطا) دوم، حتما باید ورژن خواسته شده (2.1.0) را نصب کنم؟(ورژن نصب شده فعلی 3.1.0)