‫۹ سال و ۱ ماه قبل، چهارشنبه ۲۸ مرداد ۱۳۹۴، ساعت ۱۴:۰۰
پیش نیاز DI مباحث Design pattern هست؟ یعنی اگر الگوی‌های مختلف که تو Design pattern  مطرح میشه رو بلد نباشیم این دوره برامون مفید نیست؟ البته من مفاهیم شی گرایی ، کاربرد کلاس‌های انتزاعی و اینترفیس‌ها رو بلد هستم. 
‫۹ سال و ۱ ماه قبل، چهارشنبه ۲۸ مرداد ۱۳۹۴، ساعت ۰۸:۴۵
با سلام؛ در پروژه شما2 اسمبلی وجود داره با نام Infrastructure و Models
میخواستم بدونم کاربرد این 2 اسمبلی چیه ؟
اصولا چه چیزهایی در این دو اسمبلی قرار میگیره. 
اگر هم وقت داشتید لطفا یک توضیح مختصر در مورد اسمبلی‌های دیگه هم ذکر کنید.
طبق چیزهایی که من متوجه شدم.

 اسمبلی DomainClasses برای موجودیت‌های بانک اطلاعاتی طراحی میشه .
اسمبلی Common هم برای درج کلاس‌ها و متدهای مستقل طراحی میشه. مثلا یک کلاس Helper برای کار با تاریخ شمسی.
اسمبلی Service برای کار با بانک اطلاعاتی یا ORM طراحی میشه.
اسمبلی UI هم رابط کاربری مارو تشکیل میده. که هیچکدوم از اسمبلی‌های دیگه به این اسمبلی وابسطه نیستند و یک طورایی این اسمبلی به تمام اسمبلی‌های دیگه وابسطه هستش.

و در آخر اینکه اصولا هیچ اسمبلی برای ViewModel‌ها در نظر گرفته نمیشه ؟ در پروژه شما چندین جا از پوشه ای با نام viewModel استفاده شده. نمیشه همه‌ی اینارو در یک اسمبلی قرار بدیم ؟
‫۹ سال و ۱ ماه قبل، سه‌شنبه ۲۰ مرداد ۱۳۹۴، ساعت ۱۶:۳۵
«... اگر برنامه را اجرا کردید و پلاگینی بارگذاری نشد، به دنبال اسمبلی‌های تکراری بگردید. برای مثال PluginsBase نباید هم در پوشه‌ی اصلی اجرایی برنامه حضور داشته باشد و هم در پوشه‌ی پلاگین‌ها ... »
‫۹ سال و ۱ ماه قبل، دوشنبه ۱۹ مرداد ۱۳۹۴، ساعت ۲۳:۳۲
جهت تکمیل بحث
در نگارش 4 صرفا این دو سطر را حذف کنید:
var platformSpecificRegistry = PlatformAdapter.Resolve<IPlatformSpecificMapperRegistry>();
platformSpecificRegistry.Initialize();
این موارد به صورت توکار توسط خود AutoMapper لحاظ شده‌است و نیازی به آن‌ها نیست.
پلتفرم‌های مختلف در نگارش 4 به صورت یک اسمبلی مجزا به ازای هر پلتفرم ارائه شده‌اند و اینبار مانند قبل یکی نیستند.
‫۹ سال و ۲ ماه قبل، جمعه ۹ مرداد ۱۳۹۴، ساعت ۰۵:۴۹
یک نکته 
امروز متوجه شدم که در  ورژنی که بنده از jquery-validation استفاده میکنم ، مقدار فیلد را Trim نکرده و عملا سمت کاربر اعتبار سنجی minimum مربوط به StringLength به درستی انجام نمیشد.
راه حل اینجا بود.  
کافی است که فایل jquery.validate.js رو گشوده و تغییرات زیر را اعمال کنید.
minlength: function( value, element, param ) {
    var length = $.isArray(value) ? value.length : this.getLength($.trim(value), element);
return this.optional( element ) || length >= param;
},

// http://jqueryvalidation.org/maxlength-method/
maxlength: function( value, element, param ) {
    var length = $.isArray(value) ? value.length : this.getLength($.trim(value), element);
return this.optional( element ) || length <= param;
},

// http://jqueryvalidation.org/rangelength-method/
rangelength: function( value, element, param ) {
    var length = $.isArray(value) ? value.length : this.getLength($.trim(value), element);
return this.optional( element ) || ( length >= param[ 0 ] && length <= param[ 1 ] );
},

آیا از این روش میشه تمام Data Annotations های مدل رو برای ViewModel فرستاد؟ 
مثلا من توی مدل ام از ویژگی AdditionalMetadata استفاده کردم و توی View هم از کد زیر برای نمایش اطلاعات آنها استفاده میکنم.
@ModelMetadata.FromLambdaExpression(x => x.Name, ViewData).AdditionalValues["HelpTag"]
اما خطای زیر ارسال میشه:
The given key was not present in the dictionary