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


مشاهده سایر پروژه های حرفه ای برنامه نویسی به زبان سی شارپ به همراه سرس کد C# Open Source به همراه پایگاه داده اس کیو ال SQL Server>>>>>

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

HyperLink
قیمت: یک فاتحه برای رفتگانم
گروه: پروژه های حرفه ای برنامه نویسی به زبان سی شارپ به همراه سرس کد C# Open Source به همراه پایگاه داده اس کیو ال SQL Server

دارای داکیومنت و مستندات در قالب فایل WORD Doc و دارای نمودار های UML  و فایل رشنال رز و توضیحات کدها و دارای پشتیبانی

فهرست مطالب . . . . . . . . . . . . . . . . . . . . . . . . . . .   . . . . . . . . . . . . . . . شماره صفحه

چکیده 8

مقدمه 9

فصل اول:  چشم انداز پروژه (VISION) 10

1-1- VISION چیست 11

1-2- موضوع پروژه 12

1-3- اهداف پروژه 12

1-4- انجام پروژه چه سودی دارد 12

1-5- ذینفعان پروژه 13

1-6- سابقه انجام پروژه های مشابه 13

1-7- معایب پروژه های گذشته 14

1-8- زبان برنامه نویسی 15

1-9- پایگاه داده 15

1-10-روش تحلیل سیستم 15

1-11- سیستم عامل مورد نیاز برای پیاده سازی 15

1-12- سایر نرم افزارهای مورد نیاز برای پیاده سازی سیستم 16

فصل دوم:  بررسی USE CASE DIAGRAM منطقی رستوران 17

فهرست مرتب شده FUNCTIONALITY هایی که باید سناریو برای آنها تعریف شود 18

نمودار منطقی کلی PACKAGE سیستم رستوران 19

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

نکاتی راجع به نوشتن سناریو برای USE CASE ها 21

Use case Diagram مربوط به ورود به سیستم 22

سناریوی LogIn Use Case 23

Use case Diagram مربوط به بخش ورود اطلاعات رستوران 24

سناریوی  Use Caseایجاد گروه غذای جدید 25

سناریوی  Use Caseایجاد واحد شمارش غذا و مواد خوراکی 26

سناریوی  Use Caseثبت غذای جدید 27

سناریوی  Use Caseثبت موجودی غذا 28

سناریوی Use Case ثبت نام مشتری 29

سناریوی Use Case ایجاد فاکتور فروش 30

Use case Diagram مربوط به بخش تنظیمات امنیتی 31

سناریوی Use Case ایجاد کاربر 32

سناریوی Use Case ویرایش کاربر 33

سناریوی Use Case حذف کاربر 34

Use case Diagram مربوط به بخش گزارشات 35

سناریوی Use Case مشاهده گزارشات 36

فصل سوم:  بررسی CLASS DIAGRAM 37

نمودار Class کلی سیستم رستوران 38

توضیحات متدهای نمودار کلاس اصلی سیستم 39

متد Insert () یا Create() 39

متد Delete () 39

متد Update() 39

متد Select() 40

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

کلاس کاربر 40

کلاس اپراتور 40

کلاس مشتری 41

کلاس فاکتور 41

کلاس ایجاد غذا 41

کلاس جزئیات فاکتور 42

کلاس گروه غذا 42

کلاس واحد شمارش غذا 42

کلاس موجودی غذا 43

فصل چهارم:  طراحی پایگاه داده سیستم رستوران 44

نمودار ER کلی پایگاه داده سیستم رستوران 45

جدول کاربران 46

جدول نوع کاربران 46

جدول مشتریان 47

جدول موجودی غذا 47

جدول ثبت انواع غذا 48

جدول تعریف فاکتور 48

جدول جزئیات فاکتور 48

جدول ثبت واحد شمارش غذا 49

جدول گروه غذا 49

اسکریپت SQL برای ایجاد جداول 49

فصل پنجم:  بررسی نمودارهای SEQUENCE 51

نمودار توالی ایجاد کاربر 52

نمودار توالی حذف کاربر 53

نمودار توالی ویرایش مشخصات کاربری 54

نمودار توالی ورود به سیستم 55

نمودار توالی مشاهده گزارشات 56

نمودار توالی ثبت مشخصات مشتری 57

نمودار توالی ثبت عنوان های غذا 58

نمودار توالی ثبت موجودی غذا 59

نمودار توالی ایجاد فاکتور فروش غذا 60

فصل ششم:  بررسی نمودارهای COLLABORATION 61

نمودار همکاری ایجاد کاربر 62

نمودار همکاری حذف کاربر 63

نمودار همکاری ویرایش کاربر 64

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

نمودار همکاری مشاهده گزارشات 66

نمودار همکاری ایجاد مشتری 67

نمودار همکاری ثبت غذا 68

نمودار همکاری ثبت موجودی غذا 69

نمودار همکاری ایجاد فاکتور فروش 70

فصل هفتم:  بررسی SOURCE CODE C# 71

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

مروري بر تاريخچه برنامه نويسي 72

برنامه نويسي ساخت يافته 74

تاریخچه سی شارپ 76

اهداف طراحی زبان 77

تاریخچه 77

ویژگی‌ها 78

سیستم یکپارچه شده 79

انواع داده 79

BOXING و ENBOXING 80

ویژگی‌های جدید در C# 2.0 80

کلاسهای PARTIAL 80

GENERICها 81

کلاس های STATIC 81

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

DELEGATEهای ناشناس 82

DELEGATE COVARIANCE AND CONTRAVARIANCE 82

نوع داده NULLABLE 82

کدهای مربوط به فرم ورود به سیستم 84

کدهای مربوط به فرم اصلی سیستم رستوران 86

کدهای مربوط به فرم ثبت دسته بندی غذا 90

کدهای مربوط به فرم ثبت واحد شمارش غذا 94

کدهای مربوط به فرم تعریف عنوان غذا 98

کدهای مربوط به فرم ثبت موجودی غذا 103

کدهای مربوط به فرم ثبت مشخصات مشتری 108

کدهای مربوط به فرم ثبت فاکتور فروش 114

کدهای مربوط به فرم ثبت کاربران سیستم 123

فصل هشتم:  جمع بندی ، نتیجه گیری و پیشنهادات 130

جمع بندی 131

نتیجه گیری 132

پیشنهادات 133

منابع 134

کتابها 134

وب سایتها 134

 

فهرست عکسها ، نمودارها . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  شماره صفحه

نمایه 1 - نمودار Package کلی سیستم 19

نمایه 2 - نمودار Use Case ورود به سیستم 22

نمایه 3 - نمودار Usecase بهش ورود به سیستم 24

نمایه 4 - نمودار Usecase بخش تنظیمات امنیتی 31

نمایه 5 - نمودار Usecase گزارشات 35

نمایه 6 - نمودار کلاس کلی سیستم رستوران 38

نمایه 7 - کلاس کاربر 40

نمایه 8- کلاس اپراتور 40

نمایه 9- کلاس مشتری 41

نمایه 10- کلاس فاکتور 41

نمایه 11- کلاس ایجاد غذا 41

نمایه 12- کلاس جزئیات فاکتور 42

نمایه 13- کلاس گروه بندی غذا 42

نمایه 14- کلاس واحد شمارش غذا 42

نمایه 15- کلاس موجودی غذا 43

نمایه 16- نمودارER 45

نمایه 17 - جدول کاربران 46

نمایه 18 - جدول نوع کاربران 46

نمایه 19- جدول مشتریان 47

نمایه 20- جدول موجودی غذا 47

نمایه 21- جدول ثبت انواع غذا 48

نمایه 22- جدول تعریف فاکتور 48

نمایه 23- جدول ثبت جزئیات فاکتور 48

نمایه 24- جدول واحد شمارش غذا 49

نمایه 25- جدول گروه غذا 49

نمایه 26- نمودار توالی ایجاد کاربر جدید 52

نمایه 27- نمودار توالی حذف کاربر 53

نمایه 28- ویرایش مشخصات کاربری 54

نمایه 29- نمودار توالی ورود به سیستم 55

نمایه 30- مشاهده گزارشات 56

نمایه 31 - نمودار توالی ثبت مشخصات مشتری 57

نمایه 32 - نمودار توالی ثبت عنوان غذا 58

نمایه 33 - نمودار ثبت موجودی غذا 59

نمایه 34 - نمودار توالی ایجاد فاکتور فروش 60

نمایه 35- نمودار همکاری ایجاد کاربر 62

نمایه 36- نمودار همکاری حذف کاربر 63

نمایه 37 - نمودار همکاری ویرایش کاربران 64

نمایه 38- نمودار همکاری ورود به سیستم 65

نمایه 39 - نمودار همکاری نمایش گزارشات 66

نمایه 40 - نمودار همکاری درخواست ثبت نام مشتری 67

نمایه 41 - نمودار همکاری ثبت عنوان های غذا 68

نمایه 42 -  نمودار همکاری ثبت موجودی غذا 69

نمایه 43 - نمودار همکاری ایجاد فاکتور فروش 70

نمایه 44 -اعداد باینری 73

نمایه 45  -  محیط ویرایشگر کد 74

نمایه 46- عکس جلد کتاب آموزش سی شارپ 76

نمایه 47 - عکس فرم ورود به سیستم رستوران 84

نمایه 48 - فرم اصلی سیستم رستوران 86

نمایه 49 -  فرم دسته بندی غذا 90

نمایه 50 - فرم ثبت واحد شمارش غذا 94

نمایه 51 - فرم ثبت عنوان غذا 98

نمایه 52 - ثبت موجودی غذا 103

نمایه 53 - فرم ثبت مشخصات مشتری 108

نمایه 54 - فرم ایجاد فاکتور فروش 114

نمایه 55 - فرم مربوط به کاربران سیستم 123


namespace Resturant

{

    public partial class frmFoodUnits : Form // علامت ارث بری از کلاس اصلی فرم

    {

        public frmFoodUnits()

        {

            InitializeComponent(); // این متد در هنگام قبل از لود فرم فراخوانی شده و باعث می شود که اجزا و اشیاء استفاده شده بر روی فرم ظاهر و فعال شوند 

        }


        private void frmFoodUnits_Load(object sender, EventArgs e) // این متد در هنگام لود فرم اجرا می شود

        {

            ثبت رخداد // Class_tblLogs LogReg = new Class_tblLogs(this.Text + " فعال گردید.");

            LogReg.UDF_SaveLogToDb(); // با استفاده از این متد رخداد ارسال شده به کلاس در پایگاه داده ثبت ممی شود

            UDF_GrdFill(); // فراخوانی متد نمایش رکوردها در گرید ویو

        }


        private void frmFoodUnits_FormClosed(object sender, FormClosedEventArgs e) // این متد در زمان بسته شدن فرم اجرا می شود

        {

            ثبت رخداد // Class_tblLogs LogReg = new Class_tblLogs(this.Text + " بسته شد.");

            LogReg.UDF_SaveLogToDb(); // با استفاده از این متد رخداد ارسال شده به کلاس در پایگاه داده ثبت ممی شود

        }


        private void btnAdd_Click(object sender, EventArgs e) // رخداد کلیک

        {

            Txt_AssetUnit.Text = String.Empty; // حذف مقادیر متنی

            btnAdd.SendToBack(); // نمایش کلید در پشت سایر آبجکتها

            Btn_Save.BringToFront();// نمایش کلید در بالای سایر آبجکتها

            مایش پیغام // MessageBox.Show("لطفا اطلاعات را وارد نمایید");

        }


        private void UDF_GrdFill() // توسط این متد اطلاعات فراخوانی شده در گرید ویو نمایش داده می شود

        {

            LSC_RestuRantDataContext db = new LSC_RestuRantDataContext(); // ایجاد شئ از کلاس لینک جهت اتصال به پایگاه داده

            var Query = from Row in db.tblFoodUnits

                        orderby Row.FoodUnitID descending

                        select new

                        {

                            Row.FoodUnitID,

                            Row.FoodUnitDescription

                        };

            dataGridView1.DataSource = Query; // تخصیص منبع داده جهت نمایش اطلاعات در گرید ویو

        }


        private void Btn_Save_Click(object sender, EventArgs e) // رخداد کلیک

        {

            if (Txt_AssetUnit.Text == "") // بررسی اینکه آیا فیلد متنی خالیست یا خیر

            {

                مایش پیغام // MessageBox.Show("ورود عنوان الزامی می باشد");

                return; // خروج از متد

            }

            LSC_RestuRantDataContext db = new LSC_RestuRantDataContext(); // ایجاد شئ از کلاس لینک جهت اتصال به پایگاه داده

            tblFoodUnit FoodUnt = new tblFoodUnit();

            FoodUnt.FoodUnitDescription = Txt_AssetUnit.Text.Trim();

            db.tblFoodUnits.InsertOnSubmit(FoodUnt);

            db.SubmitChanges(); // ثبت تغییرات در پایگاه داده

            UDF_GrdFill(); // فراخوانی متد نمایش رکوردها در گرید ویو

            Txt_UnitID.Text = "";

            Txt_AssetUnit.Text = "";

        }


        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)//این متد در هنگام کلیک بر روی سطرهای گرید ویو انجام می شود و مقادیر مربوط به محتویات هر سلول را بر می گرداند

        {

            Int32 selectedCellCount = dataGridView1.GetCellCount(DataGridViewElementStates.Selected);


            if (selectedCellCount > 0)

            {

                if (dataGridView1.AreAllCellsSelected(true))

                {

                    مایش پیغام // MessageBox.Show("All cells are selected", "Selected Cells");

                }

                else

                {

                    System.Text.StringBuilder sb = new System.Text.StringBuilder();

                    for (int i = 0; i < selectedCellCount; i++)

                    {

                        Txt_UnitID.Text = dataGridView1.Rows[int.Parse(dataGridView1.SelectedCells[i].RowIndex.ToString())].Cells[0].Value.ToString();

                        Txt_AssetUnit.Text = dataGridView1.Rows[int.Parse(dataGridView1.SelectedCells[i].RowIndex.ToString())].Cells[1].Value.ToString();

                    }

                }

            }

        }


        private void Btn_Edit_Click(object sender, EventArgs e) // رخداد کلیک

        {

            if (Txt_UnitID.Text == "" || Txt_AssetUnit.Text == "") // بررسی اینکه آیا فیلد متنی خالیست یا خیر

            {

                مایش پیغام // MessageBox.Show("لطفا عنوان را انتخاب");

                return; // خروج از متد

            }


            DialogResult dr = مایش پیغام // MessageBox.Show("آیا نسبت به عمل ویرایش رکورد اطمینان دارید", "اخطار ویرایش", مایش پیغام // MessageBoxButtons.OKCancel, مایش پیغام // MessageBoxIcon.Warning);

            if (dr == DialogResult.OK)

            {

                LSC_RestuRantDataContext db = new LSC_RestuRantDataContext(); // ایجاد شئ از کلاس لینک جهت اتصال به پایگاه داده

                tblFoodUnit FoodUnt = db.tblFoodUnits.Single(n => n.FoodUnitID == int.Parse(Txt_UnitID.Text.Trim()));

                FoodUnt.FoodUnitDescription = Txt_AssetUnit.Text.Trim();

                db.SubmitChanges(); // ثبت تغییرات در پایگاه داده

                ثبت رخداد // Class_tblLogs LogReg = new Class_tblLogs(this.Text + " رکورد " + Txt_AssetUnit.Text.Trim() + " -ID= " + Txt_UnitID.Text.Trim() + "ویرایش");

                LogReg.UDF_SaveLogToDb(); // با استفاده از این متد رخداد ارسال شده به کلاس در پایگاه داده ثبت ممی شود

                UDF_GrdFill(); // فراخوانی متد نمایش رکوردها در گرید ویو

                Txt_UnitID.Text = "";

                Txt_AssetUnit.Text = "";

            }

        }


        private void Btn_Delete_Click(object sender, EventArgs e) // رخداد کلیک

        {

            if (Txt_UnitID.Text == "" || Txt_AssetUnit.Text == "") // بررسی اینکه آیا فیلد متنی خالیست یا خیر

            {

                مایش پیغام // MessageBox.Show("لطفا عنوان را انتخاب");

                return; // خروج از متد

            }


            DialogResult dr = مایش پیغام // MessageBox.Show("آیا نسبت به عمل حذف رکورد اطمینان دارید", "اخطار حذف", مایش پیغام // MessageBoxButtons.OKCancel, مایش پیغام // MessageBoxIcon.Warning);

            if (dr == DialogResult.OK)

            {

                ثبت رخداد // Class_tblLogs LogReg = new Class_tblLogs(this.Text + " رکورد " + Txt_AssetUnit.Text.Trim() + " -ID= " + Txt_UnitID.Text.Trim() + "حذف");

                LogReg.UDF_SaveLogToDb(); // با استفاده از این متد رخداد ارسال شده به کلاس در پایگاه داده ثبت ممی شود

                LSC_RestuRantDataContext db = new LSC_RestuRantDataContext(); // ایجاد شئ از کلاس لینک جهت اتصال به پایگاه داده

                tblFoodUnit FoodUnt = db.tblFoodUnits.Single(n => n.FoodUnitID == int.Parse(Txt_UnitID.Text.Trim()));

                db.tblFoodUnits.DeleteOnSubmit(FoodUnt);

                db.SubmitChanges(); // ثبت تغییرات در پایگاه داده

                UDF_GrdFill(); // فراخوانی متد نمایش رکوردها در گرید ویو

            }

            Txt_UnitID.Text = "";

            Txt_AssetUnit.Text = "";

        }


        private void Btn_Search_Click(object sender, EventArgs e) // رخداد کلیک

        {

            if (Txt_AssetUnit.Text == "") // بررسی اینکه آیا فیلد متنی خالیست یا خیر

            {

                مایش پیغام // MessageBox.Show("لطفا عنوان یا بخشی از عنوان را برای جستجو وارد نمائید.");

                return; // خروج از متد

            }

            LSC_RestuRantDataContext db = new LSC_RestuRantDataContext(); // ایجاد شئ از کلاس لینک جهت اتصال به پایگاه داده

            var Query = from Row in db.tblFoodUnits

                        where SqlMethods.Like(Row.FoodUnitDescription, "%" + Txt_AssetUnit.Text.Trim() + "%")

                        select new

                        {

                            Row.FoodUnitID,

                            Row.FoodUnitDescription

                        };

            dataGridView1.DataSource = Query; // تخصیص منبع داده جهت نمایش اطلاعات در گرید ویو

            ثبت رخداد // Class_tblLogs LogReg = new Class_tblLogs(this.Text + " - عملیات جستجو");

            LogReg.UDF_SaveLogToDb(); // با استفاده از این متد رخداد ارسال شده به کلاس در پایگاه داده ثبت ممی شود

            if (Query.Count() <= 0)

            {

                Txt_AssetUnit.Text = "";

                Btn_Refresh.BringToFront();// نمایش کلید در بالای سایر آبجکتها

                Btn_Search.SendToBack(); // نمایش کلید در پشت سایر آبجکتها

                مایش پیغام // MessageBox.Show("رکوردی یافته نشد");

            }

        }


        private void Btn_Refresh_Click(object sender, EventArgs e) // رخداد کلیک

        {

            UDF_GrdFill(); // فراخوانی متد نمایش رکوردها در گرید ویو

            Btn_Refresh.SendToBack(); // نمایش کلید در پشت سایر آبجکتها

            Btn_Search.BringToFront();// نمایش کلید در بالای سایر آبجکتها

        }

    }

}


 

برنامه  مدیریت رستوران  با استفاده از  سی شارپ ویندوز اپلیکیشن دارای بخشهای متنوع و دارای چندین فرم دارای بخش مدیریتی به همراه پایگاه داده SQL Server و دارای پشتیبانی. این برنامه کاملا متن باز Open Source بوده و بر روی Server نیز قابل نصب و اجرا می باشد.

 برنامه  مدیریت رستوران  با استفاده از  سی شارپ ویندوز اپلیکیشن
 
عنوان جداول طراحی شده در برنامه مدیریت رستوران
معرفی جدول های پایگاه داده
tblUserTypes
tblLogs
tblFoodCategury
tblFoodUnits
tblFoodsDescription
tblCustomer
tblUsers
tblMojodi
tblFactorID
tblFactorDetails

معرفی ویو های پایگاه داده
xtblMandehGaza
xtblFactorRpt
xtblDropFactors
xtblTotalSaleRates
xtblFoodSelect
xtblMizaneForoosh


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

برچسبها:

مشاهده سایر پروژه های حرفه ای برنامه نویسی به زبان سی شارپ به همراه سرس کد C# Open Source به همراه پایگاه داده اس کیو ال SQL Server>>>>>
HyperLink