Ejemplo n.º 1
0
        private async void btnSubmit_Click(object sender, EventArgs e)
        {
            try
            {
                loader.Hide();

                if (comboVillage.SelectedItem == null)
                {
                    MessageBox.Show("يجب اختيار قريه العميل", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                int    villageId     = int.Parse(comboVillage.SelectedItem.DataValue.ToString());
                string clientName    = txtboxClientName.Text.Trim();
                string clientNumber  = txtboxClientNumber.Text.Trim();
                string clientAddress = txtboxAddress.Text.Trim();

                if (string.IsNullOrWhiteSpace(clientName))
                {
                    MessageBox.Show("يجب ادخال الاسم بطريقه صحيحه", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                if (string.IsNullOrWhiteSpace(clientNumber))
                {
                    MessageBox.Show("يجب ادخال رقم العميل بطريقه صحيحه", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }

                loader.Show();
                Client client = null;

                if (isAdd)
                {
                    client = new Client()
                    {
                        Name       = clientName,
                        Number     = clientNumber,
                        VillageId  = villageId,
                        Address    = clientAddress,
                        InsertTime = DateTime.Now
                    };

                    btnSubmit.Enabled = false;
                    await Task.Run(() =>
                    {
                        using (var db = new MarketDbContext())
                        {
                            db.Clients.Add(client);
                            db.SaveChanges();
                        }
                    });

                    btnSubmit.Enabled = true;
                    loader.Hide();

                    if (orderForm != null)
                    {
                        orderForm.RefreshComboClient();
                    }

                    if (clientsGrid != null)
                    {
                        client.Village = Villages.FirstOrDefault(x => x.VillageId == client.VillageId);
                        clientsGrid.myDataTable.Rows.Add(false, client.ClientId, client.Name, client.Number, client.Address, comboVillage.Items[client.VillageId - 1].ToString());
                        clientsGrid.Clients.Add(client);
                        clientsGrid.btnClientSearch_Click(null, null);
                    }

                    MessageBox.Show("تم الاضافه بنجاح", "تم", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else
                {
                    var id = int.Parse(selectedRow.Cells[1].Value.ToString());

                    Client rowToEdit = null;
                    using (var db = new MarketDbContext())
                    {
                        rowToEdit = db.Clients.FirstOrDefault(x => x.ClientId == id);

                        rowToEdit.Name      = clientName;
                        rowToEdit.Number    = clientNumber;
                        rowToEdit.Address   = clientAddress;
                        rowToEdit.VillageId = comboVillage.SelectedIndex + 1;

                        btnSubmit.Enabled = false;
                        await Task.Run(() =>
                        {
                            db.SaveChanges();
                        });
                    }

                    btnSubmit.Enabled = true;
                    loader.Hide();

                    clientsGrid.myDataTable.Columns[2].ReadOnly = false;
                    clientsGrid.myDataTable.Columns[3].ReadOnly = false;
                    clientsGrid.myDataTable.Columns[4].ReadOnly = false;
                    clientsGrid.myDataTable.Columns[5].ReadOnly = false;

                    selectedRow.Cells[2].Value = clientName;
                    selectedRow.Cells[3].Value = clientNumber;
                    selectedRow.Cells[4].Value = clientAddress;
                    selectedRow.Cells[5].Value = comboVillage.Items[rowToEdit.VillageId - 1].ToString();

                    clientsGrid.myDataTable.Columns[2].ReadOnly = true;
                    clientsGrid.myDataTable.Columns[3].ReadOnly = true;
                    clientsGrid.myDataTable.Columns[4].ReadOnly = true;
                    clientsGrid.myDataTable.Columns[5].ReadOnly = true;

                    MessageBox.Show("تم التعديل بنجاح", "تم", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }


                this.Hide();
            }
            catch (Exception exp)
            {
                MessageBox.Show("عذرا حدث خطأ ما", "خطأ", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }