نظرات مطالب
بخش سوم - استفاده و شخصی سازی Mapper توکار Gridify
Gridify 2.0.0  منتشر شد. 
تغییرات مهم ورژن 2
  • پشتیبانی از جستجو در لیست‌های فرزند  
  • پشتیبانی پیش فرض جستجو اطلاعات null 
  • پشتیبانی از چندین OrderBy به صورت صعودی و نزولی
  • پشتیبانی از C# 8 Nullable feature
  • اضافه شدن MapperConfiguration برای اعمال تنظیمات Mapper
  • اضافه شدن امکان دریافت Expression‌ها و کامپایل آن
  • بهبود عملکرد کلی کتابخانه
  • بازنویسی زیرساخت (تغییرات عمده در اینترفیس‌ها و اکستنشن متدها)


نظرات مطالب
اعمال تزریق وابستگی‌ها به مثال رسمی ASP.NET Identity
سلام
من از متد OnValidateIdentity برای بررسی آخرین وضعیت کاربر و .. در بازه زمانی X استفاده می‌کنم. مشکلی که من با این متد دارم تغییرات claim‌ها رو به کوکی response اعمال می‌کنه (مثلا تغییر نام کاربر) و تغییرات تا درخواست بعدی کاربر قابل استفاده نیست یعنی CurrentPrincipal تا درخواست بعدی آپدیت نمیشه. در هنگام لاگین این موضوع به چشم نمی‌آید چون با ریدایرکت کردن صفحه request جدیدی که حاوی کوکی آپدیت شده است ایجاد میشه به دنبال اون CurrentPrincipal بروز شده است.
نظرات مطالب
EF Code First #14
در WPF مفهومی وجود دارد به نام انقیاد دو طرفه (two way binding). زمانیکه کاربر UI را به روز می‌کند، خود به خود (بدون نیاز به کدنویسی اضافه‌تری، منهای تنظیمات اولیه آن)، اشیاء یک لیست به روز می‌شوند و برعکس. در این بین EF Code first با استفاده از خاصیت Local آن توانایی اتصال به یک چنین سیستمی را دارد و در اینجا عملا یکپارچگی کاملی رخ داده و نیازی نیست کار اضافه‌تری انجام دهید. Context از تمام تغییرات شما مطلع است. فقط کافی است SaveChanges فراخوانی شود تا کلیه تغییرات انجام شده و تحت نظر آن به صورت یکجا در بانک اطلاعاتی ثبت شوند. این خاصیت Local در WinForms هم قابل استفاده است.
برای مطالعه بیشتر:
Databinding with WPF
Databinding with WinForms
نظرات مطالب
آموزش MDX Query - قسمت پنجم – باز کردن یک پایگاه داده ی Multidimensional در محیط BIMS و ساخت یک پروژه ی جدید.
متاسفانه سوال شما برایم مشخص نمی‌باشد؟!؟
{چه موقع باید از این روش استفاده کرد  }
با این وجود در این مقاله من دو روش برای کار با پایگاه داده‌ی چند بعدی را توضیح دادم. ابتدا زمانی که یک پایگاه داده وجود دارد و ما می‌خواهیم در ساختار Cube‌ها و ... در آن تغییر ایجاد کنیم (تغییرات باید درون محیط BIMS انجام شود) در چنین شرایطی با توجه به مواردی که توضیح داده شده پایگاه داده را در محیط BIMS باز کرده و تغییرات را انجام داده و سپس Process می‌کنیم.
اما گاهی برای شروع کار نیاز می‌باشد طراحی MDB را از روی DW از ابتدا انجام دهیم. خوب در اینحالت چیزی برای باز کردن در BIMS وجود ندارد و باید خودمان از ابتدا آن را پیاده سازی کنیم.
راحت‌تر بگم تقریبا مثل اینه که شما بخواهید یک برنامه با C# از ابتدا بنویسید یا اینکه یک برنامه‌ی موجود را باز کنید و تغییراتی در آن ایجاد کنید و سپس ذخیره کنید.
امید وارم پاسخ سوال شما داده شده باشد.
نظرات مطالب
EF Code First #5
ضمن تشکر از مطالبتون 
آیا میشه این مراحلی رو که گفتید رو خود برنامه انجام بده و کاربر نهایی از اون اطلاعی نداشته باشه ؟
مثلا من یه برنامه دادم تحویل کاربر و دیتابیس اون هم حاوی اطلاعات هست حالا من به این نتیجه رسیدم که تغییری در دیتابیس بدم. طبق گفته شما من باید یه اسکریپت از تغییرات خودم درست کنم و تحویل کاربر بدم تا اونو ایجاد کنه اما من دنبال راهی می‌گردم که در برنامه وقتی کلاس‌ها رو تغییر دادم برنامه‌ی جدید رو تحویل کاربر بدم و کاربر بیاد برنامه قدیمشو حذف و برنامه‌ی جدید و نصب کنه و وقتی که برنامه‌ی جدید برای اولین بار اجرا شد تغییرات رو در دیتابیس قدیمی اعمال کنه بدون اینکه کاربر از پشت پرده اطلاعی داشته باشته
نظرات مطالب
معماری لایه بندی نرم افزار #2
دوست عزیزم. متد Apply یک Extension Method برای <IList<Product است. اگر این متد تعریف نمی‌شد شما باید در کلاس سرویس حلقه foreach رو قرار می‌دادید. البته با این حال در قسمت هایی از طراحی کلاسها که الگوهای طراحی را زیر سوال نمی‌برد و تست پذیری را دچار مشکل نمی‌کند، طراحی سلیقه ای است. مقاله من هم آیه‌ی نازل شده نیست که دستخوش تغییرات نشود. شما می‌توانید با سلیقه و دید فنی خود تغییرات مورد نظر رو اعمال کنید. ولی اگر نظر من را بخواهید این طراحی مناسب‌تر است.
نظرات مطالب
EF Code First #14
بعضی مواقع ممکنه نیاز باشه بررسی کنیم آیا موجودیت‌های ما تغییر داشته اند یا خیر (برای مثال در صورتی که تغییرات ذخیره نشده در سیستم وجود دارد ؛ پیغامی مبنی بر ذخیره یا عدم ذخیره کردن تغییرات نمایش دهیم) .برای اینکار من از متد زیر در Context استفاده میکنم:
        public bool HasChanges()
        {
            foreach (var entry in this.ChangeTracker.Entries())
            {
                if (entry.State == EntityState.Modified || entry.State = EntityState.Added)
                {
                    return true;
                }
            }
            return false;
        }
در کد بالا  State موجودیت‌ها بررسی می‌شود.اگر با یکی از دو مقدار Modified و یا Added برابر باشد مقدار true و در غیر این صورت false برمیگرداند.
مطالب
ایجاد پروژه از نوع SPB در VS2010
SharePoint Branding یکی از قالب‌های رایگان است که در قسمت Online Template نسخه 2010 ویژوال استودیو قابل استفاده است .همچنین شما می‌توانید قالب آن را از اینجا دانلود کنید . 

این تصویر یک نمونه خروجی (به صورت پیش فرض) از این نوع پروژه است :

 

برای ایجاد یک پروژ از نوع SPB به ترتیب زیر عمل کنید :

 
1- قالب را از اینجا دانلود کنید یا مانند شکل زیر به قسمت Online Template در Visual Studio 2010 مراجعه کنید و از بین گزینه‌های موجود ، SharePoint Branding را انتخاب نمایید و آن را نصب نمایید 

2 - پس از نصب ، پروژه ای از این نوع باز کنید تا پروژه به نمایش در آید(زیر مجموعه شیرپوینت 2010) :

 

اکنون می‌توانید با تغییرات در Master Page‌ها و یا در CSS‌ها و تغییر logo و faveicon سفارشی سازی را آغار کنید و در نهایت با deploy کردن ، تغییرات اعمال می‌شوند 

بیشتر 

مطالب
تهیه فید از تغییرات SVN

کتابخانه‌ی iTextSharp 5.1.2 هفته‌ی قبل منتشر شده و ... من هر چقدر سایتی، بلاگی جایی را جستجو کردم که خلاصه‌ای از تغییرات انجام شده آن‌را گزارش دهد، چیزی نیافتم. ولی خوب، مطابق روال متداول کتابخانه‌های سورس باز، حداقل می‌توان به change log مرتبط با سورس کنترل آن‌ها مراجعه کرد. مثلا:


البته این هم خوب است ولی ای‌کاش می‌شد مثلا یک فید هم از این تغییرات تهیه کرد. یک سری از سایت‌های هاستینگ مثل CodePlex و GitHub یک چنین فیدهایی را دارند. اما به نظر SourceForge از این لحاظ اندکی ضعیف است.
سایت روسی زیر می‌تواند با گرفتن آدرس یک مخزن کد SVN (برای مثال: https://itextsharp.svn.sourceforge.net/svnroot/itextsharp/trunk/ ) یک فید RSS از آن تهیه کند:


در همین راستا برنامه‌ی CommitMonitor هم موجود است.



مطالب
تهیه فید از تغییرات SVN

کتابخانه‌ی iTextSharp 1.5.2 هفته‌ی قبل منتشر شده و ... من هر چقدر سایتی، بلاگی جایی را جستجو کردم که خلاصه‌ای از تغییرات انجام شده آن‌را گزارش دهد، چیزی نیافتم. ولی خوب، مطابق روال متداول کتابخانه‌های سورس باز، حداقل می‌توان به change log مرتبط با سورس کنترل آن‌ها مراجعه کرد. مثلا:


البته این هم خوب است ولی ای‌کاش می‌شد مثلا یک فید هم از این تغییرات تهیه کرد. یک سری از سایت‌های هاستینگ مثل CodePlex و GitHub یک چنین فیدهایی را دارند. اما به نظر SourceForge از این لحاظ اندکی ضعیف است.
سایت روسی زیر می‌تواند با گرفتن آدرس یک مخزن کد SVN (برای مثال: https://itextsharp.svn.sourceforge.net/svnroot/itextsharp/trunk/ ) یک فید RSS از آن تهیه کند:


در همین راستا برنامه‌ی CommitMonitor هم موجود است.