PDA

View Full Version : آموزش: کارگاه عملی : ساخت پروژه ثبت سفارشات مرحله به مرحله



gwbasic
دوشنبه 23 آبان 1390, 20:27 عصر
به نام خدا


اگه تاپیک های منو پیگیری کرده باشین مطالب زیادی برای آموزش گذاشتم ولی اونطور که فکر می کردم استقبال نشد. این دفه تصمیم گرفتم یه پروژه رو مرحله به مرحله آموزش بدم!
به این صورت که من صورت مسئله رو مشخص می کنم و دوستانی که مایل بودن کدشو می نویسن و با هم کدها رو بررسی می کنیم ( البته تا جایی که بتونم) و در نهایت کد بهترو برای اون مرحله توی این تاپیک که تاپیک اصلی هست قرار می دیم.
سعی کردم که پروژه رو خیلی خیلی ساده تعریف کنم که کدنویسیش زیاد وقت گیر نباشه!
قبل از هر چیز یک خواهش:


کدها و سوالاتتون رو در تاپیک زیر ارسال کنید. و توی این تاپیک لطفا پستی نگذارید اگه نظری هم دارید در مورد نحوه کار از طریق پیام خصوصی به من اطلاع بدید.
http://barnamenevis.org/showthread.php?313524-سوال-و-جواب-های-ساخت-پروژه-ثبت-سفارشات&p=1376276#post1376276


امیدوارم با کمک و پیگیری شما این پروژه آموزشی به سرانجام برسه

gwbasic
دوشنبه 23 آبان 1390, 20:50 عصر
قبل از هر چیز بگم که این پروژه چند فاز داره که توی فاز اول سعی می کنیم که موارد زیر رو داشته باشیم:
1- موجودیت های ما :

مشتری Customer
کالا یا محصولات Product
سفارش Order
2- ساخت فرم برای هر یک از موجودیت های بالا
3- استفاده از EntityFramework‌ برای ارتباط با DataBase

همین!!! دیدید خیلی سادست

فاز دوم : ساخت گزارش
فاز سوم : کامل کردن پروِژه (افزایش موجودیت ها و خصوصیات آنها مثلا اضافه کردن User و فرم Login و ...)
فاز چهارم : استفاده از اPattern ها و چند لایه نویسی
فار پنجم : استفاده از Component ها برای فرمها و کنترل ها

البته نظرات خوب شما قطعا می تونه تغییراتی رو ایجاد کنه چون اینها فعلا به ذهنم رسید.

gwbasic
دوشنبه 23 آبان 1390, 21:03 عصر
خوب حالا شروع کار :
یه جدول به نام Customer ایجاد کنید که دارای فیلدهای زیر باشد:
Id as uniqueidentifier کلید اصلی
Name as nvarchar 50
Family as nvarchar 50

یه فرم به پروژه اضافه کنید به اسم CustomerForm و کدی بنویسید که این فرم امکان ایجاد اضافه و ویرایش مشتری رو داشته باشه

درضمن یادتون نره که کدهاتون رو توی تاپیکی که بالا معرفی کردم قرار بدین.

بسم الله ...

gwbasic
شنبه 28 آبان 1390, 00:37 صبح
این ویدیو (http://trainbit.com/files/7612879884/StoreProject1.7z) اولین Video آموزشی هست که می ذارم در ادامه این پست کامل می شه





ساخت database
ایجاد EntityDataMode
طراحی و کد نویسی فرم Customer


برای باز کردن فایل نیاز به 7-Zip دارید تا فایل و extract کنید.

gwbasic
پنج شنبه 03 آذر 1390, 09:03 صبح
این ویدیو (http://trainbit.com/files/2612879884/StoreProject1-2.mp4) قسمت دوم و تکمیل فرم Customer هست.

کدهای فرم مشتری:

gwbasic
پنج شنبه 03 آذر 1390, 22:30 عصر
خوب مرحله بعد:
یه جدول به نام Product ایجاد کنید که دارای فیلدهای زیر باشد:
Id as uniqueidentifier کلید اصلی
Name as nvarchar 50
Price as int

یه فرم به پروژه اضافه کنید به اسم ProductForm و کدی بنویسید که این فرم امکان ایجاد اضافه و ویرایش کالا رو داشته باشه. البته این دفعه از آموزش هایی که دادم کمک بگیرید منتها پیاده سازی کمی فرق می کنه (البته صرفا جهت یادگیری روش دیگه هست). به این شکل که از همون BindingNavigator‌استفاده کنید ولی موارد زیر رو در نظر بگیرید.
1- برای اضافه کردن دکمه add‌ (+) زده شود و وقتی دکمه تایید زده شد (که یک دکمه داخل BindingNavigator هست) ثبت در database صورت گیرد.
2- اگه کاربر سطری رو در datagridview انتخاب کرد در صورتی امکان تغییر و ویرایش وجود داشته باشد که کاربرد دکمه ویرایش را (که در bindingNavigator وجود دارد) زده باشد. . باز هم برای اعمال این تغییر از دکمه تایید استفاده شود
3- یک مورد جالب وجود داشته باشد که کاربر هنگام تغییر امکان cancel را هم داشته باشد (cancel دکمه ای در BindingNavigator) می باشد.
امیدوارم متوجه شده باشید.

در ضمن هر ایده ای دارید می تونید پیاده کنید. محدودیتی وجود نداره. هدف از این کار اینه که کدهای مختلف رو ببینیم البته از این به بعد لطفا از EntityFrameWork استفاده کنید.

منتظر کدهاتون هستم

موفق باشید

gwbasic
سه شنبه 15 آذر 1390, 21:50 عصر
این ویدیو (http://trainbit.com/files/4912879884/ProductForm_CreateTables.mp4) آموزش ساخت فرم Product هست با قابلیت انصراف بدون استفاده از BindingNavigator و با استفاده از کدنویسی

کد فرم Product:

gwbasic
پنج شنبه 08 دی 1390, 21:52 عصر
مواردی که در این ویدیو (http://trainbit.com/files/6412879884/ProductForm.mp4) قابل ملاحظه هستند:

امکان انتخاب یک موجودیت از فرمهای Product و Customer با دابل کلیک بر روی گرید مربوطه
آشنایی با DialogResult و استفاده از آن در فرم هایی که می سازیم
ساخت جداول Order و OrderDetails برای ثبت سفارش و جزئیات آن و قرار دادن Cascade‌برای هماهنگی دو جدول ( با حذف سفارش اقلام سفارش نیز حذف شوند)
چگونگی Update‌کردن EDM

gwbasic
پنج شنبه 15 دی 1390, 14:39 عصر
مواردی که در این ویدیو (http://trainbit.com/files/2412879884/OrderForm1.7z) قابل ملاحظه هست:

آشنایی با مفهوم Partial Class
روش اضافه کردن پراپرتی و متد به Entity Type های که با استفاده از Designer تعریف شده
ساخت فرم ثبت سفارش
ارتباط برقرار کردن بین چند فرم
فراخوانی فرم Customer در فرم Order برای انتخاب مشتری
فراخوانی فرم Product در فرم Order برای انتخاب کالا
چگونگی اضافه و حذف کردن OrderDetail ها با استفاده از DataGridView
چگونه روی ستون کالا در گرید کلیک شود و فرم Product نمایش داده شود و کالا انتخابی در سظر جاری نمایش داده شود.
محاسبه قیمت کل سفارش
استفاده از ObjectContext برای ردگیری تغییرات Entity ها و ذخیره آنها در DataBase
گرفتن داده از یک ObjectContext و استفاده آن در ObjectContext دیگر
دلیل استفاده از Attach , Detach در ObjectContext
حذف یک سطر (یک قلم کالا) از DataGridView و ObjectContext

gwbasic
پنج شنبه 12 مرداد 1391, 12:08 عصر
سورس کد پروژه به همراه فرم Orders

سورس کد (http://www.mediafire.com/?wztd1w0yy1408ks)

لطفا در نظر سنجی شرکت کنید