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 AddUser : Form
    {
        public AddUser()
        {
            InitializeComponent();
        }

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

        private void btn_OK_Click(object sender, EventArgs e)
        {
            if (Pass1.TEXT != Pass2.TEXT)
            {
                MessageBox.Show("رمز عبور با هم منطبق نیست", "رمز عبور", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                Pass1.Focus();
                return;
            }
            //----------------------------------------------------------------
            User U = new User();
            try
            {
                U.UserName = txt_UserName.TEXT;
                U.Password = Pass1.TEXT;
                U.Access_Student = chk_Student.Checked;
                U.Access_Food = chk_Food.Checked;
                U.Access_Vacation = chk_Vacation.Checked;
                U.Access_Reserve = chk_Reserve.Checked;
                U.Access_BackUP = chk_BackUP.Checked;
                U.Access_Users = chk_Users.Checked;
            }
            catch (User_Exceptions_UserName ex)
            {
                MessageBox.Show(ex.Message, "اطلاعات نادرست", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                txt_UserName.Focus();
                return;
            }
            catch (User_Exceptions_Password ex)
            {
                MessageBox.Show(ex.Message, "اطلاعات نادرست", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                Pass1.Focus();
                return;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "اطلاعات نادرست", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            //----------------------------------------------------------------
            if (U.IsDuplicate())
            {
                MessageBox.Show("نام کاربری وارد شده، تکراری است", "اطلاعات تکراری", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                txt_UserName.Focus();
                return;
            }
            //-----------------------------------------------------------------
            try
            {
                U.CreateUser();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "خطا در عملیات", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                return;
            }
            MessageBox.Show("کاربر جدید با موفقیت اضافه شد", "کاربر سیستم", MessageBoxButtons.OK, MessageBoxIcon.Information);
            this.Close();
        }

    }
}