private void MenuItem_Click_1(object sender, RoutedEventArgs e)
        {
            MenuItem item = sender as MenuItem;
            switch (item.Header.ToString())
            {
                case "Knitting":
                case "Dyeing":
                case "Compacting":
                    CreateJoWindow newJobOrder = new CreateJoWindow();
                    newJobOrder.Order = ViewModel.Order;
                    newJobOrder.Quantity = ViewModel.SelectedItem.SelectedQuantity;
                    newJobOrder.GRNRefNo = ViewModel.SelectedItem.GRNreceiptNumbers;
                    newJobOrder.Initialize(item.Header.ToString());
                    if (newJobOrder.ShowDialog() == true)
                    {
                        byte receiptStatus = 1;
                        string headerString = item.Header.ToString();
                        if (headerString == "Knitting")
                            receiptStatus = (byte)RecieptStatus.IssuedToKnittting;
                        else if (headerString == "Dyeing")
                            receiptStatus = (byte)RecieptStatus.IssuedToDyeing;
                        else if (headerString == "Compacting")
                            receiptStatus = (byte)RecieptStatus.IssuedToCompacting;
                        foreach (var receipt in ViewModel.SelectedItem.GRNReceipts)
                            receipt.ReceiptStatusID = receiptStatus;

                        DBResources.Instance.Save();
                        ViewModel.ResetData();
                    }
                    break;
                case "Printing":
                case "Washing":
                case "Other":
                case "Stock":
                        
                        IssueToPopupBox issuePopupBox = new IssueToPopupBox(DBResources.Instance.AllJobsTypes, item.Header.ToString());
                        issuePopupBox.JobQuantity = issuePopupBox.Receipt.QualityPassedQuantityWrapper;

                        if (issuePopupBox.ShowDialog() == true)
                        {
                            if (issuePopupBox.JobOrder.JobOrderType.Type.ToLower() == "stock")
                            {
                                OrderedItem firstOrderedItem = ViewModel.SelectedItem.GRNReceipts.First().OrderedItem;
                                SubMaterial subMaterial = firstOrderedItem.SubMaterial;
                                MaterialStock stock = new MaterialStock();
                                stock.Order = ViewModel.Order;
                                stock.SubMaterial = subMaterial;
                                stock.InStockDateTime = DBResources.Instance.GetServerTime();
                                stock.StockQuantity = ViewModel.SelectedItem.SelectedQuantity;
                                stock.UnitsOfMeasurement = firstOrderedItem.ProductMaterialItem.UnitsOfMeasurementWrapper;
                                subMaterial.MaterialStocks.Add(stock);
                                foreach (var receipt in ViewModel.SelectedItem.GRNReceipts)
                                    receipt.ReceiptStatusID = (byte)RecieptStatus.IssuedToStock;
                            }
                            else
                            {
                                foreach(var receipt in ViewModel.SelectedItem.GRNReceipts)
                                    receipt.JobOrders.Add(issuePopupBox.JobOrder);
                            }

                            DBResources.Instance.Save();
                            ViewModel.ResetData();
                            foreach (var receipt in ViewModel.SelectedItem.GRNReceipts)
                                receipt.RefreshUIEnablers();
                        }
                    break;
            }

            foreach (var receipt in ViewModel.SelectedItem.GRNReceipts)
                receipt.RefreshUIEnablers();

            
        }