لگو وب سایت هوشمندان
جستجو

اطلاعات ویدیوی آموزشی

آموزش های مرتبط

آموزش ویدیویی مقدماتی تا حرفه ای Asp.Net Core3 در قالب پروژه رزرو هتل و تور

برنامه نویسی Asp.Net Core 3

مایکروسافت در پروژه ی Asp.Net Core 3 سعی داشت تا وابستگی آن را به کتابخانه های شرکتها و افراد ثالث حذف کند تا در آینده ی طراحی وب سایت با این فریم ورک بتواند تضمین های بهتری برای پشتیبانی و پایداری محصولش ارائه کند و همچنین آن را بسیار سبکتر کند.

به همین دلیل یادگیری Asp.Net Core 3 برای آن دسته از فراگیرانی که به صورت حرفه ای در این زمینه فعالیت دارند و یا در تلاش هستند که در آینده برنامه نویس مایکروسافت شوند بسیار ضروری می باشد.

این مجموعه در 56 قسمت (43 ساعت) برای شما عزیزان با کیفیت بسیار عالی تهیه شده است.

 

سخن استاد در خصوص دوره برنامه نویسی Asp.Net Core 3:

در مورد این دوره ی  تصویری آموزش asp.net core 3 بیشتر بدانیم

تغییرات باعث بروز شدن و پیشرفت می شوند.

اگر شما از آن دسته از فراگیرانی هستید که با نخسه Net Core در بستر وب با زبان برنامه نویسی Asp.Net MVC در نسخه های قدیمی آن آشنایی دارید این دوره بهترین فرصت برای بروز شدن شما می باشد.

شاید هم تا به حال هیچ آشنایی با Asp.Net Core و حتی Asp.Net MVC نداشته اید اما علاقه مند به یادگیری آن هستید پس این فرصت طلایی را از دست ندهید و با فراگیری این دوره که از صفر تا صد به صورت پروژه محور می باشد خودتان را بعنوان یک برنامه نویسی وب معرفی کنید.

در این دوره آموزشی با توجه به تغییر در نسخه Core  و بروز شدن آن تلاش شده تا تغییرات و نحوه کدنویسی در بخش های سمت کاربری و سمت سروری به صورت ساده و روان آموزش داده شود.

این دوره به صورت پروژه محور از صفر تا صد در محیط ویژوال نسخه 2019 پیاده سازی شده است.

پیاده سازی پایگاه داده به صورت کدفرست و با لایه بندی بخش ها به صورت BLL  , DAL , Domain همراه بوده است که یکی از حرفه ای ترین و امن ترین روش های کد نویسی به شمار می آید.

پسورد فایل: hoshmandan


فصل 1:

معرفی دوره

پیش نیازهای دوره

نسخه های برنامه های مورد نیاز

معرفی و آنالیز جدول های پایگاه داده

فصل 2:

ایجاد یک پروژه خالی بعنوان پروژه مادر

ایجاد یک کتابخانه سی شارپی

ساخت کلاس های اصلی به همراه اتریبیوت ها

ایجاد رابطه بین جدول ها

ساخت کلاس خطایابی

فصل 3:

معرفی کلاس های ایجاد شده برای بخش های جدول

بررسی کلید ها اصلی و خارجی

ساخت کلاس اتریبیوت های دلخواه

نحوه فراخوانی اتریبیوت ساخته شده

تعریف ویژگی های اصلی اتریبیوت

فصل 4:

بررسی صحت کد ملی با اتریبیوت

تعریف الگوریتم بررسی

ساخت متدهای لازم با ارث بری از اتریبیوت

استفاده از اتریبیوت ساخته شده در متدها

نحوه ایجاد شرایط نمایش خطا برای اتریبیوت

فصل 5:

بررسی صحت پسورد با اتریبیوت

تعریف الگوریتم بررسی پسورد قوی

معرفی Data Access Layer

تنظیم کانفیگ برای اتصال به پایگاه داده

ساخت کلاس DbContext و معرفی DbSet

فصل 6:

حل تمرین ساخت اتریبیوت تلفن همراه

تکمیل DbSet های Context

فعالسازی ماگریشن Migration

اضافه کردن Migration  یه DAL

ساخت پایگاه داده

ایجاد کلاس Repository Pattern

ایجاد خاصیت IDisposable

فصل 7:

تعریف الگوهای ریپوزیتوری

ساخت کلاس GenericRepository برای الگو

ارسال کلاس های مورد نظر برای رپوزیتوری

نحوه تعریف TEntity

ساخت الگوی GetByID برای دریافت کردن اطلاعات با شناسه

ساخت الگوری GetByList  برای دریافت اطلاعات به صورت لیست

فصل 8:

تکمیل بخش معرفی ریپوزیتوری جنریک های هر بخش

ایجاد الگوی وارد سازی داده بدون خروجی

ایجاد الگوی وارد سازی داده با خروجی

ایجاد الگوی بروزرسانی داده بدون خروجی

ایجاد الگوی بروز رسانی داده با خروجی

ایجاد الگوی حذف داده بدون خروجی

ایجاد الگوی حذف داده با خروجی

ایجاد الگوی ویرایش گروهی داده بدون خروجی

ایجاد الگوی وارد سازی گروهی داده بدون خروجی

ایجاد الگوی حذف گروهی بدون خروجی

فصل 9:

ابجاد بخش منطقی پروژه بنام BLL

ساخت کلاس اصلی برای فراخوانی پایگاه

دسته بندی کردن ازتباط با پایگاه و ارث بری از کلاس اصلی

ایجاد رابط کاربری با Core 3

انتقال قالب Html به پروژه

فصل 10:

ایجاد لایه اصلی سایت

پارچیال بندی صفحات اصلی

ساخت کوئری اول برای خروجی 

بررسی ساختار صحیح کلاس ها در .Net Core

فصل 11:

ساخت کلاس AppConfig

ساخت کلاس Context برای ارتباط با پایگاه

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

ساخت Migration و اصلاح آن

ایجاد پایگاه داده در Sql

فصل 12:

ایجاد الگوی ریپوزیتوری در حالت .Net Core

اصلاح کلاس BassClass برای .Net Core

نمایش جدیدترین تورهای ثبت شده

نمایش جدیدترین هتل های ثبت شده

فصل 13:

ایجاد بخش جستجو برای تورها

ساخت ویومدل برای ترکیب جزئیات

جستجو تور براساس نام تور

جستجو تور براساس تاریخ ورود و خروج

جستجو تور براساس تعداد افراد

جستجو تور براساس تعداد اتاق

فصل 14:

ایجاد قالب جستجو 

بررسی فیلدهای مورد نیاز

ایجاد تقویم شمسی نمونه با اسکریپت

فصل 15:

ساخت جستجو تور

ایجاد فیلد بررسی تاریخ مورد نظر 

ایجاد تقویم شمسی و تبدیل آن به میلادی

ایجاد جستجو بر اساس تعدادنفرات بزرگسال و خردسال

ایجاد بخش جستجو براساس تعداد اتاق مورد نیاز

فصل 16:

ایجاد بخش نمایش جزئیات تور

ساخت کلاس ترکیبی برای نظرات و جزئیات تور

نمایش ترنسفر فرودگاهی تور با آیکون

جلوگیری از نمایش صفحه بدون محتوی

فصل 17:

نمایش نظرات تایید شده

نمایش امتیازات ثبت شده

نمایش میانگین امتیازهای ثبت شده

ثبت نظرات با امتیاز دهی

فصل 18:

تغییر بخش محاسبه امتیاز ها

ایجاد بخش رزرو

ساخت کنترل رزرو

نمایش اطلاعات جستجو روی صفحه تور

فصل 19:

نحوه تنظیم Session در کانفیگ

تنظیم کوکی در کانفیگ

تنظیم زمان ماندگاری Session در کانفیگ

دریافت اطلاعات رزرو تور و ذخیره سازی

فصل 20:

دریافت اطلاعات رزرو براسا رزرو انجام شده

نمایش اطلاعات رزرو با جزئیات

برطرف کردن مشکل Seesion  رخ داده

ثبت نهاییرزرو و خروجی از آن

فصل 21:

معرفی درگاه پرداخت زرین پال

اضافه کردن وب سرویس به پروژه

معرفی وب سرویس تست زرین پال

ایجاد بخش درخواست پرداخت

ارسال اطلاعات به وب سرویس زرین پال

فصل 22:

تکمیل بخش تایید پرداخت از طریق درگاه پرداخت

ارسال اطلاعات به سمت سایت از طریق درگاه پرداخت

حذف رزروهای پرداخت نشده

نگهداری دائم اطلاعات پرداخت

کسر تعداد موجودی تور

فصل 23:

ایجاد صفحه صورتحساب پرداخت رزرو تور

نمایش اطلاعات رزرو و پرداخت

امکان ثبت اطلاعات افراد رزرو برای تور

نمایش اطلاعات کامل سفارش

فصل 24:

ایجاد بخش جستجوی هتل

تنظیم بخش جستجو هتل براساس تاریخ مورد نظر 

ایجاد بخش انتخاب استان محل اقامت براساس استانهای برتردد و معمولی

جستجو براساس تعداد نفرات

فصل 25:

تکمیل بخش جستجوی هتل

اضافه کردن استان به جدول جزئیات هتل

بروزرسانی ماگریشن ها

ایجاد لیست جزئیات جستجوی هتل

فصل 26:

خروجی نهایی لیست جستجوی هتل

اصلاح بخش تاریخ جستجو در زمان نادرست

ایجاد بخش جزئیات هتل

فراخوانی ریپوزیتوری جزئیات هتل به صورت ترکیبی

فصل 27:

نمایش جزئیات صفحه هتل

نمایش گالری تصاویر هتل

نمایش امکانات هتل

نمایش ادرس و نام هتل و قیمت هر شب آن

فصل 28:

ادامه نمایش جزئیات هتل

نمایش اتاق و تخت های هتل به تفکیک

نمایش نظرات ثبت شده

امکان ثبت نظر و امتیاز

فصل 29:

بخش رزرو هتل

تفکیک تاریخ های رزرو شروع و پایان اقامت 

نحوه دریافت آی پی کاربر

بررسی مجاز بودن تاریخ ها ی رزرو

ثبت رزرو کاربر براساس شناسه کاربری

فصل 30:

ادامه بخش رزرو  هتل

دریافت اطلاعات رزرو هتل از جدول رزرو

اصلاح و  بررسی مبلغ یک شب اقامت با شرط دستوری

تکمیل بخش رزرو هتل

خروجی گرفتن از مرحله رزرو هتل

فصل 31:

ادامه بخش رزرو  هتل

اتصال به درگاه پرداخت بانکی

تایید پرداخت یانکی

ایجاد صفحه نمایش صورتحساب رزرو هتل

فصل 32:

ایجاد بخش ورود به سایت

ساخت کنترلر ورود

بررسی صحت ورود به سایت

اصلاح سیشن مربوط به بررسی ورود کاربر

فصل 33:

ایجاد بخش ثبت نام کاربر

ساخت صفحه ثبت نام

ایجاد بخش تایید نام کاربری ساخته شده

ورود کاربر با اعبتار سنجی تایید کاربری از قبل

فصل 34:

ادامه بخش ثبت نام

معرفی کلاس MailMessage

ایجاد متد ارسال ایمیل

بررسی بخش پورت و امنیت گذاری روی متد ارسال ایمیل

خروجی گرفتن نهایی ار ثبت نام

فصل 35:

ایجاد بخش ارسال پیامک

معرفی وب سرویس مورد نیاز 

اضافه کردن کلاس وب سرویس پیامک به پروژه

ارسال مقادیر مورد نیاز به متد ارسال پیامک

تست نهایی خروجی وب سرویس

فصل 36:

ایجاد بخش مدیریت هتل ها

نمایش لیست تمامی هتل های ثبت شده

نمایش هتل هایی که تاریخ دسترسی انها برای رزرو به اتمام رسیده

ایجاد جدول هتل های با خاصیت های Dsiplay کلاس جدول ها

فصل 37:

ادامه بخش مدیریت هتل

ایجاد بخش نمایش جزئیات هتل

ساخت صفحه جزئیات

ایجاد بخش اضافه کردن هتل

ساخت صفحه ایجاد هتل

نحوه استفاده کردن از ویرایشگر متن CKEditor

فصل 38:

ادامه بخش ثبت هتل

دریافت فرم ثبت هتل

خروجی گرفتن از ثبت هتل

ایجاد صفحه ثبت جزئیات هتل

فصل 39:

ادامه بخش ثبت هتل

ایجاد بخش ذخیره جزئیات هتل

دریافت جزئیات هتل به صورت آرایه ای

ایجاد بخش امکانات هتل

دریافت اطلاعات امکانات به صورت آرایه ای

اصلاح دریافت ایکون و عنوان امکانات

فصل 40:

ادامه بخش مدیریت هتل

امکان اضافه کردن تصاویر گالری هتل

نحوه ذخیره تصویر روی روت هاست

ثبت تصاویر گالری و ایجاد تصویر پیش فرض

ایجاد بخش حذف هتل

حذف هتل به صورت موقت

فصل 41:

ادامه بخش مدیریت هتل

ایجاد بخش ویرایش هتل

امکان تغییرتاریخ های دسترسی

امکان اصلاح هتل بدون تغییر تاریخ

فصل 41:

بخش پایان مدیریت هتل

امکان ویرایش جزئیات هتل

نحوه دریافت تمامی رکوردهای جزئیات یک هتل

اصلاح به روز آرایه ای برای جزئیات

خروجی نهایی ویرایش هتل

فصل 43:

ایجاد بخش مدیریت تور

نمایش صفحه اصلی تورها

نمایش جزئیات تور

امکان Join کردن برای دو بخش تور و جزئیات تور

خروجی گرفتن از صفحه جزئیات

فصل 44:

ادامه بخش مدیریت تور

ایجاد صفحه ثبت تور جدید

اضافه کردن تصویر تور در بخش ثبت تور

خروجی گرفتن از صفحه ثبت تور

فصل 45:

ادامه بخش مدیریت تور

ایجاد بخش ثبت جزئیات تور

دریافت اطلاعات تاریخ تورها

دریافت اطلاعات به روش Bind

خروجی نهایی ثبت تور و جزئیات

ایجاد فیلد غیرفعالسازی برای تور

فصل 46:

ادامه بخش مدیریت تور

تکمیل بخش حذف تور

امکان حذف موقت تور

نمایش تورهای غیرفعال شده روی صفحه اصلی

ایجاد بخش ویرایش تور

فصل 47:

ادامه بخش مدیریت تور

تکمیل بخش ویرایش تور

امکان حذف تصویر تور و جایگزینی تصویر جدید

ایجاد بخش ویرایش جزئیات تور

ثبت نهایی ویرایش و خروجی

فصل 48:

امکان ورود صحیح به سایت

اصلاح Session های استفاده شده

به کارگیری از کوکی ها در کنترلر کاربری

نحوه صحیح فراخوانی کوکی و زمان دهی انقضا به کوکی

ورود و خروج صحیح از سایت

فصل 49:

ایجاد بخش دسترسی کاربران به سایت

ساخت متد بررسی مجاز بودن کاربر به عملیات

ساخت متد برای دسترسی مدیریت به سایت

ساده سازی فراخوانی دسترسی ها

خروجی نهایی دسترسی ها

فصل 50:

ادامه بخش مدیریت دسترسی

ایجاد قسمت پروفایل کاربری

جدا سازی کاربر عادی و مدیر در پروفایل

دسترسی جداگانه برای پروفایل به مدیر

فصل 51:

ایجاد لینک های دسترسی به مدیریت هتل و تور در پروفایل

ایجاد لیست تورهای رزرو شده در پروفایل

ایجاد لیست هتل های رزرو شده در پروفایل

تفکیک رزروهای استرداد شده یا رزرو نهایی در پروفایل

فصل 52:

ایجاد بخش مدیریت نظرات ارسالی

نمابش لیست نظرات

امکان تایید یا عدم تایید نظرات

مشاهده جزئیات نظرات

مرتب سازی ستون جدول نظرات به صورت نزولی 

مرتب سازی ستون جدول نظرات به صورت صعودی

فصل 53:

ادامه بخش مدیریت نظرات ارسالی

ایجاد کلاس صفحه بندی

نحوه بدست آوردن تعداد صفحات و صفحه جاری و صفحه یعدی و قبلی

صفحه بندی همراه با مرتب سازی

فصل 54:

ایجاد بخش نمایش لیست صورتحساب هتل

نمایش صورت حساب کل و استرداد شده

امکان ثبت استرداد وجه

نمایش صورتحساب کلی روی نمودار

استفاده از چارت جاوااسکریپت

فصل 55:

ایجاد بخش نمایش لیست صورتحساب تور

نمایش صورت حساب کل و استرداد شده تور

امکان ثبت استرداد وجه تورها

ایجاد بخش فیلتر گذاری

فصل 56:

ساخت فیلتر برای هتل براساس ستاره

تبدیل تاریخ شمسی به میلادی

خروجی نهایی فیلتر هتل

پابلیش پروژه و اتمام آن

سحر سلیمی

29 ماه پیش

در ویژوال استودیو من core 3 نمایش داده نمیشود در حالی که نصبش کردم. هر کاری میکنم جز core 2.1 کور دیگری نصب دیده نمیشود! در حالی نصب کرده ام همه را

مشکلی نداره با 3.1 کار کنید

ورژن 16.11.17 بلاخره نصب شد ولی برای core 3.0 نوشته not support و برای 3.1 نوشته long term support

ورژن ویژوال استودیوتون رو بفرمایید دوست عزیز

سحر سلیمی

29 ماه پیش

چرا وقتی دارید ریپوزیتوری مینویسید برای بعضی توابع savechange میذارید برای بعضی نمیذارید ؟ یکی از insert ها savechange ذاره اون یکی نداره چرا؟

مثال هایی که زدند برای اشنایی با این موضوع بود که تفاوت بین نوشتن دستورهای برای درج داده با نمایش خروجی و درج داده بدون نمایش اطلاعات را متوجه شوید بنابراین هر جا که تغییرات در دیتابیس باید ذخیره شود مثل وارد کردن اطلاعات یا حذف داده حتما از savechanges باید استفاده کنید

بله متوجه هستم که زمانی که لازم باشد تغییرات در پایگاه داده ذخیره شود باید سیو کنیمم ولی در ویدئو اموزشی 8 در فایل Generic repository برای بعضی توابع کوئری ها save change نوشته نشد . مثلا دو تایع insert در فایل هست برای یکی نوشته شده برای دیگری نه به چه دلیل؟ برای توابع delete هم نوشته نشد درحالی که میخواییم نتایج در پایگاه داده ذخیره شود!

save changes را جایی استفاده میکنیم که میخواهیم تغییرات در db ذخیره بشوند برای اینکه کامل متوجه سوال شما بشوم لطف کنید فصل مورد نظر و اکشن مربوطه رو بفرمایید که چک کنیم ممنون از شما

سحر سلیمی

29 ماه پیش

با سلام و خسته نباشیدخدمت استاد سوالی داشتم روش code first بهتر است یا model first؟ یه جایی نوشته بود برای پروژه های بزرگ خوب نیست از code first استفاده کنیم چرا به چه علت ؟ مگر چه فرقی داره؟ اصلا مزیت یا معایب این دو نسبت به هم چی هست؟

سلام و وقت بخیر خیلی بستگی به پروژه داره ، زمانی که پروزه کد فرست باشه تغییراتی که روی داده ها میخواین بدین و اضافه کردن سطر و ستون و .... ساده تر است و زمان کمتری لازم داره که تغییرات ایجاد بشه توصیه میکنم برای آشنایی بیشتر مقاله این لینک را مطالعه کنید https://www.hoshmandan.com/Home/DetailsPost/100/CodeFirst-or-DBFirst-

امیر

35 ماه پیش

با سلام و خسته نباشید خدمت آقای مهندس بهارلو یر اساس سایت شما سایت من در قسمت سرچ متفاوت می باشد مثلا در قسمت سرچ فقط 3 drop down list می بلشد شبیه قسمت انتخاب استان در رزرو هتل سناریو برای کلینیک می باشد مثلا دراپ داون اول کلینیک بعدی بخش و در انتها پزشک من 3 تیبل درست کردم doctors , specifications , clinics هر سه تا تیبل را به یک تیبل کلید خارجی دادم و تمام کلید های خارجی در یک تیبل می باشد. جانکشن linq بدین صورت نوشتم: public List<DoctorsToSpecifications> GetDoctors() { var DoctorLst = (from cds in db.Clinic_and_DoctorsRepository.GetByList().ToList() join d in db.DoctorsRepository.GetByList().Where(e => e.IsActive.Equals(true)).ToList() on cds.DoctorId equals d.DR_ID join c in db.ClinicRepository.GetByList().ToList() on cds.ClinicId equals c.CL_ID join s in db.Doctor_SpecificationsRepository.GetByList().ToList() on cds.specificateId equals s.SPEC_ID select new { cds, d, s, c } ).Where(c => c.c.CL_ID.Equals(c.cds.ClinicId)); List<DoctorsToSpecifications> doctors = new List<DoctorsToSpecifications>(); if (DoctorLst.Count() > 0) { foreach (var item in DoctorLst) { DoctorsToSpecifications d = new DoctorsToSpecifications(); d.first_name = item.d.first_name; d.last_name = item.d.last_name; d.Picture = item.d.Picture; d.specification_Name = item.s.specification_Name; d.clinic_name = item.c.clinic_name; d.CL_ID = item.c.CL_ID; d.DR_ID = item.d.DR_ID; d.SPEC_ID = item.s.SPEC_ID; doctors.Add(d); } return doctors; } else { return null; } } ممنون میشم راهنمایی بفرمایید چطور این drop down listd با هم ارتباط داشته باشند طوری که کلینیک انتخاب شد سپس دراپ باکس بعدی فقط بخش های مرتبط با کلینیک و بعد دکتر های مرتبط با بخش ها را فقط در دراپ داون نشان دهد...

کافیه شما یک جدول داشته باشید که جدول تخصص و کلینیک باشه مثلا clinspe و با خودش در ارتباط باشه که برای شما ارسال میشود، یک جدول پزشک داشته باشید و یک جدول جدا هم داشته باشید که هم با جدول پزشک و جدول clinspe در ارتباط باشد و به سادگی میتوانید پیاده سازی که میخواهید رو انجام دهید

سلام و وقت بخیر دوست عزیز روشی که استفاده کرده اید خیلی مناسب نیست و بهتر است که جداول با هم لینک باشند یعنی مثلا کلید خارجی کیلینیک در جدول تخصص ها باشد و کلید خارجی تخصص در جدول دکتر ها باشد با این روش دیگه نیازی نیست که join انجام بدین و join خیلی سرعتتونو کند میکنه

babolfazla

53 ماه پیش

سلام 1) چرا شما از class libraray .net استفاده کردید نه standard 2) چرا از ef.net استفاده کردید درصوریتکه عنوان دوره شما .netcore3 است قاعدتا باید از efcore استفاده میکردید باتشکر

درود. مورد های اشاره شده شما به جا هست, اگه صبور باشید و چندین قسمت بعد رو مشاهده کنید خواهید دید که این موارد اضافه و جایگزین خواهند شد. باتشکر

babolfazla

53 ماه پیش

کلمه عبور دارد قسمت سوم

درود بر شما در صورت درخواست کلمه عبور از hoshmandan استفاده نمایید