void AssignBundle(MaterialBundle bundle, decimal Multiplier = 1)
        {
            if (bundle.Id == 7)
            {
                AssignBundle(MaterialBundleService.getMaterialBundleById(5), (decimal)(3.0 / 2.0));
            }
            if (bundle.Id == 8)
            {
                AssignBundle(MaterialBundleService.getMaterialBundleById(5), (decimal)(5.0 / 4.0));
            }

            if (bundle.Id <= 3)
            {
                bundle.MaterialBundleItems.ToList().ForEach(x =>
                {
                    MaterialItemService.assignMaterialToItem(item.Id, (int)x.MaterialId, (decimal)x.Quantity * Multiplier * (decimal)item.JobItem.Article.Multiple, (int)x.Material.Rate);
                });
            }
            else
            {
                bundle.MaterialBundleItems.ToList().ForEach(x =>
                {
                    MaterialItemService.assignMaterialToItem(item.Id, (int)x.MaterialId, (decimal)x.Quantity * Multiplier, (int)x.Material.Rate);
                });
            }
        }
 void getData()
 {
     Input_Quantity.Text        = "";
     Input_RemaingQuantity.Text = "";
     CB_Material.ItemsSource    = null;
     CB_Material.SelectedIndex  = -1;
     materialList            = MaterialService.getMaterials();
     CB_Material.ItemsSource = materialList;
     bundleList            = MaterialBundleService.MaterialBundles((int)item.JobItem.ArticleId);
     CB_Bundle.ItemsSource = null;
     CB_Bundle.ItemsSource = bundleList;
 }
        private void MaterialBundleAssign_Click(object sender, RoutedEventArgs e)
        {
            try {
                if (CB_Bundle.SelectedIndex != -1)
                {
                    var selectedBundle = bundleList[CB_Bundle.SelectedIndex];

                    if (MaterialBundleService.IsBundleAvailable(selectedBundle.Id, (int)item.JobItem.ArticleId))
                    {
                        AssignBundle(selectedBundle);
                        MessageBox.Show("Bundle Assigned ");
                        getData();
                    }
                    else
                    {
                        MessageBox.Show("No Enough Material");
                    }
                }
            }
            catch (Exception err)
            {
                MessageBox.Show("ERROR :" + err.ToString());
            }
        }