private void btnEditCustomer_Click(object sender, EventArgs e)
        {
            var selectedRows = gvCustomer.SelectedRows.ToArray();

            if (selectedRows.Length == 0)
            {
                MessageBox.Show("خطا! ابتدا یک مورد را برای ویرایش انتخاب کنید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                btnEditCustomer.Enabled = true;



                for (int i = 0; i < selectedRows.Length; i++)
                {
                    int id = Convert.ToInt32(gvCustomer.SelectedRows[i].Cells[0].Value);



                    DialogResult dialogResult = MessageBox.Show(string.Format("آیا میخواهید کد {0}  ویرایش شود؟", id), "اخطار", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

                    if (dialogResult == DialogResult.OK)
                    {
                        Ref_CustomerViewModel.Edit(id, txtCustomerFirstName.Text, txtCustomerLastName.Text, txtCustomerAdrs.Text, txtCustomerCity.Text, txtCustomerRegion.Text, txtCustomerCountry.Text, txtCustomerPostalCode.Text, txtCustomerPhone.Text, txtCustomerEmail.Text);
                        MessageBox.Show(string.Format("کد {0} تغییر یافت", id), "موفق", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }

                gvCustomer.DataSource = Ref_CustomerViewModel.FillGrid();
            }
        }
        private void btnSaveCustomer_Click(object sender, EventArgs e)
        {
            if (txtCustomerFirstName.Text != "" && txtCustomerLastName.Text != "" && txtCustomerCity.Text != "" && txtCustomerCountry.Text != "" && txtCustomerRegion.Text != "" && txtCustomerPostalCode.Text != "" && txtCustomerPhone.Text != "" && txtCustomerAdrs.Text != "" && txtCustomerEmail.Text != "")
            {
                Ref_CustomerViewModel.Save(txtCustomerFirstName.Text, txtCustomerLastName.Text, txtCustomerAdrs.Text, txtCustomerCity.Text, txtCustomerRegion.Text, txtCustomerCountry.Text, txtCustomerPostalCode.Text, txtCustomerPhone.Text, txtCustomerEmail.Text);

                MessageBox.Show(string.Format(".مشتری جدید ذخیره شد"), "موفق", MessageBoxButtons.OK, MessageBoxIcon.Information);

                gvCustomer.DataSource = Ref_CustomerViewModel.FillGrid();



                foreach (Telerik.WinControls.UI.GridViewRowInfo item in gvCustomer.Rows)
                {
                    if (item.Index == gvCustomer.RowCount - 1)
                    {
                        item.IsSelected = true;
                    }
                }
            }
            else
            {
                MessageBox.Show("خطا! ابتدا مشخصات مشتری باید مشخص شود");
            }
        }
        private void btnDeleteCustomer_Click(object sender, EventArgs e)
        {
            var selectedRows = gvCustomer.SelectedRows.ToArray();

            if (selectedRows.Length == 0)
            {
                MessageBox.Show("خطا! ابتدا یک مورد را برای حذف انتخاب کنید", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                btnDeleteCustomer.Enabled = true;

                for (int i = 0; i < selectedRows.Length; i++)
                {
                    int id = Convert.ToInt32(gvCustomer.SelectedRows[i].Cells[0].Value);

                    DialogResult dialogResult = MessageBox.Show(string.Format("آیا میخواهید کد {0}  حذف شود؟", id), "اخطار", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);

                    if (dialogResult == DialogResult.OK)
                    {
                        Ref_CustomerViewModel.Delete(id);
                        MessageBox.Show(string.Format("مشتری با کد {0}  حذف شد", id), "موفق", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
            gvCustomer.DataSource = Ref_CustomerViewModel.FillGrid();
        }
        private void btnRefreshCustomer_Click(object sender, EventArgs e)
        {
            gvCustomer.DataSource = Ref_CustomerViewModel.FillGrid();
            //DataTable Customer = new DataTable();
            //Customer = Ref_CustomerViewModel.FillGrid();
            //foreach (DataRow row in Customer.Rows)
            //{

            //    gvCustomer.Rows.Add(row.ItemArray);

            //}
        }
        private void InitializeComboBoxes()
        {
            #region [cmbCustomer]
            cmbCustomer.DataSource    = Ref_CustomerViewModel.FillGrid();
            cmbCustomer.DisplayMember = "CustomerCode";
            cmbCustomer.ValueMember   = "Id";

            #endregion

            #region [cmbProduct]
            cmbProduct.DataSource    = Ref_ProductViewModel.FillGrid();
            cmbProduct.DisplayMember = "ProductCode";
            cmbProduct.ValueMember   = "Id";
            #endregion
        }