using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace Self_Project
{
    public partial class EatingFood : Form
    {
        Int32 Place, Rooz;
        string Hafte, Esm, Famil, StdNum;
        Food objFood = new Food();
        Reserve objReserve = new Reserve();
        Student objStd = new Student();
        public EatingFood()
        {
            InitializeComponent();
        }

        private void EatingFood_Load(object sender, EventArgs e)
        {
            Food.FoodTypes FT = objFood.WhichFoodTime();
            if (FT == Food.FoodTypes.هیچکدام)
            {
                L1.Text = "اکنون وقت خوردن هیچ غذایی نیست .";
                S1.Enabled = S2.Enabled = false;
                MessageBox.Show("اکنون وقت خوردن هیچ غذایی نیست. لطفا در موعد مقرر اقدام نمایید", "وقت غذا", MessageBoxButtons.OK, MessageBoxIcon.Stop);
            }
            else if (FT == Food.FoodTypes.صبحانه)
            {
                Place = 1;
                L1.Text = "اکنون وقت خوردن صبحانه است .";
            }
            else if (FT == Food.FoodTypes.نهار)
            {
                Place = 2;
                L1.Text = "اکنون وقت خوردن نهار است .";
            }
            else
            {
                Place = 3;
                L1.Text = "اکنون وقت خوردن شام است .";
            }
        }

        private void SearchReserve()
        {
            if (!objReserve.HasReserve(StdNum, Place, out Hafte, out Rooz))
            {
                label1.Text = "دانشجو " + Esm + " " + Famil + " رزرو ندارد";
                MessageBox.Show(label1.Text, "رزرو غذا", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                label1.Text += " .";
                btn_OK.Enabled = false;
            }
            else
            {
                label1.Text = "دانشجو " + Esm + " " + Famil + " غذا رزرو کرده است";
                MessageBox.Show(label1.Text, "رزرو غذا", MessageBoxButtons.OK, MessageBoxIcon.Information);
                label1.Text += " .";
                btn_OK.Enabled = true;
            }
        }

        private void S1_Click(object sender, EventArgs e)
        {
            DataTable DT = new DataTable();
            DT = objStd.Search_Student(Student.SearchType.StudentID, txt_Student_ID.TEXT);
            if (DT.Rows.Count == 0)
            {
                MessageBox.Show("دانشجویی با چنین مشخصاتی پیدا نشد", "رزرو غذا", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                btn_OK.Enabled = false;
                label1.Text = "هنوز دانشجویی انتخاب نشده است.";
                txt_Cart_ID.TEXT = txt_Student_ID.TEXT = "0";
                txt_Student_ID.Focus();
                return;
            }
            if (Convert.ToBoolean(DT.Rows[0]["Active"]) == false)
            {
                MessageBox.Show("دانشجوی انتخاب شده، غیر فعال بوده و اجازه فعالیت ندارد", "رزرو غذا", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                btn_OK.Enabled = false;
                label1.Text = "هنوز دانشجویی انتخاب نشده است.";
                txt_Cart_ID.TEXT = txt_Student_ID.TEXT = "0";
                txt_Student_ID.Focus();
                return;
            }
            StdNum = DT.Rows[0]["StdNum"].ToString();
            Esm = DT.Rows[0][2].ToString();
            Famil = DT.Rows[0]["Famil"].ToString();
            //------------------------------------------------
            SearchReserve();
        }

        private void S2_Click(object sender, EventArgs e)
        {
            DataTable DT = new DataTable();
            DT = objStd.Search_Student(Student.SearchType.CartID, txt_Cart_ID.TEXT);
            if (DT.Rows.Count == 0)
            {
                MessageBox.Show("دانشجویی با چنین مشخصاتی پیدا نشد", "رزرو غذا", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                btn_OK.Enabled = false;
                label1.Text = "هنوز دانشجویی انتخاب نشده است.";
                txt_Cart_ID.TEXT = txt_Student_ID.TEXT = "0";
                txt_Student_ID.Focus();
                return;
            }
            if (Convert.ToBoolean(DT.Rows[0]["Active"]) == false)
            {
                MessageBox.Show("دانشجوی انتخاب شده، غیر فعال بوده و اجازه فعالیت ندارد", "رزرو غذا", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                btn_OK.Enabled = false;
                label1.Text = "هنوز دانشجویی انتخاب نشده است.";
                txt_Cart_ID.TEXT = txt_Student_ID.TEXT = "0";
                txt_Student_ID.Focus();
                return;
            }
            StdNum = DT.Rows[0]["StdNum"].ToString();
            Esm = DT.Rows[0][2].ToString();
            Famil = DT.Rows[0]["Famil"].ToString();
            //------------------------------------------------
            SearchReserve();
        }

        private void btn_OK_Click(object sender, EventArgs e)
        {
            objFood.EatFood(Hafte, Rooz, StdNum);
            MessageBox.Show("اطلاعات با موفقیت ثبت شد", "رزرو غذا", MessageBoxButtons.OK, MessageBoxIcon.Information);
            this.Close();
        }

        private void btn_Cancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}