Currently, I am working on this project where I need to achieve the following...
Get column named Category
from MySQL database. And whatever the output is, check the specific radio button on winforms.
I'd like to see if I can improve it, or if there is a much easier way of achieving my goal:
Personally - i think there is too many if, else if statements...
Radio Buttons:
Code:
void function()
{
try
{
using(var conn = new MySqlConnection(ConnectionString.ConnString))
{
string query = "select category from customer_complaints_actions where id = @id";
conn.Open();
using(var cmd = new MySqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("@id", Convert.ToInt32(complaints_data.SelectedRows[0].Cells[0].Value.ToString()));
using(MySqlDataReader read = cmd.ExecuteReader())
{
while (read.Read())
{
// Categories
if ((read["category"].ToString()) == "Retained Pitt/Shell")
{
Pitt_Shell.Checked = true;
}
else if ((read["category"].ToString()) == "Mineral Stone")
{
mineral_stone.Checked = true;
}
else if ((read["category"].ToString()) == "Extraneous Vegetable Matter")
{
vegetable_matter.Checked = true;
}
else if ((read["category"].ToString()) == "Paper/Cardboard")
{
paper_cardboard.Checked = true;
}
else if ((read["category"].ToString()) == "Wood")
{
wood.Checked = true;
}
else if ((read["category"].ToString()) == "String")
{
_string.Checked = true;
}
else if ((read["category"].ToString()) == "Hair")
{
hair.Checked = true;
}
else if ((read["category"].ToString()) == "Rubber")
{
rubber.Checked = true;
}
else if ((read["category"].ToString()) == "Metal")
{
metal.Checked = true;
}
else if ((read["category"].ToString()) == "Other Foreign Body")
{
other_foreign_body.Checked = true;
}
else if ((read["category"].ToString()) == "Taste")
{
taste.Checked = true;
}
else if ((read["category"].ToString()) == "Texture")
{
texture.Checked = true;
}
else if ((read["category"].ToString()) == "Smell / Odour")
{
smell.Checked = true;
}
else if ((read["category"].ToString()) == "Appearance")
{
appearance.Checked = true;
}
else if ((read["category"].ToString()) == "Off / Mould")
{
off_mould.Checked = true;
}
else if ((read["category"].ToString()) == "Crystallised / Bloomed")
{
bloomed.Checked = true;
}
else if ((read["category"].ToString()) == "Insect Damage / Infestation")
{
infestation.Checked = true;
}
else if ((read["category"].ToString()) == "Other Organoleptic")
{
other_organoleptic.Checked = true;
}
else if ((read["category"].ToString()) == "Light Weight Pack")
{
light_weight_pack.Checked = true;
}
else if ((read["category"].ToString()) == "Product Caught in Seals")
{
product_caught_in_seal.Checked = true;
}
else if ((read["category"].ToString()) == "Shepcote Damage")
{
shepcote_damage.Checked = true;
}
else if ((read["category"].ToString()) == "Courier Damage")
{
courier_damage.Checked = true;
}
else if ((read["category"].ToString()) == "Incorrect Packaging / Label")
{
incorrect_pack_label.Checked = true;
}
else if ((read["category"].ToString()) == "Other Packing / Packaging")
{
other_pack.Checked = true;
}
else if ((read["category"].ToString()) == "Short Shelf Life")
{
short_shelf_life.Checked = true;
}
else if ((read["category"].ToString()) == "Out of Date")
{
out_of_date.Checked = true;
}
else if ((read["category"].ToString()) == "Picking Error")
{
picking_error.Checked = true;
}
else if ((read["category"].ToString()) == "Order Input Error")
{
order_input_error.Checked = true;
}
else if ((read["category"].ToString()) == "Customer Order Error / Change")
{
customer_order_error.Checked = true;
}
else if ((read["category"].ToString()) == "Delivery Issues (Wrong Location etc.)")
{
delivery_issues.Checked = true;
}
else if ((read["category"].ToString()) == "Other Order / Delivery")
{
other_delivery.Checked = true;
}
else if ((read["category"].ToString()) == "Injury")
{
injury.Checked = true;
}
}
read.Close();
conn.Close();
}
}
}
}
catch (Exception e)
{
MessageBox.Show(e.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}