public bool InsertProduct_PurchaseOrderBT(Product_PurchaseOrderBT productPurchaseBT)
 {
     return(productPurchaseBTDa.InsertProduct_PurchaseOrderBT(productPurchaseBT));
 }
Exemple #2
0
        private void CreateButton_Click(object sender, RoutedEventArgs e)
        {
            #region validation
            ForceValidation();
            if (Validation.GetHasError(PODateDatePicker))
            {
                var sMessageDialog = new MessageDialog
                {
                    Message = { Text =
                                    "ERROR: Fill required fields!" }
                };

                DialogHost.Show(sMessageDialog, "RootDialog");
                return;
            }

            if (SupplierComboBox.SelectedValue == null)
            {
                var sMessageDialog = new MessageDialog
                {
                    Message = { Text =
                                    "ERROR: Select all fields!" }
                };

                DialogHost.Show(sMessageDialog, "RootDialog");
                return;
            }

            if (productItemsList.Count() == 0)
            {
                var sMessageDialog = new MessageDialog
                {
                    Message = { Text =
                                    "There are no items in the purchase order,\nadd items!" }
                };

                DialogHost.Show(sMessageDialog, "RootDialog");
                return;
            }
            #endregion

            // Creating PO
            po.PODate    = PODateDatePicker.SelectedDate.Value;
            po.ContactID = int.Parse(SupplierComboBox.SelectedValue.ToString());
            PurchaseOrderFactory fac = new PurchaseOrderFactory();
            fac.InsertPurchaseOrder(po);

            // Adding Products to PO
            using (var db = new AlphaElectricEntitiesDB())
            {
                bool flag = false;
                // Multiple Products
                foreach (var item in productItemsList)
                {
                    Product_PurchaseOrderBT po_prod = new Product_PurchaseOrderBT()
                    {
                        ProductID       = item.ProductID,
                        PurchaseOrderID = po.ID
                    };

                    // LINQ query
                    var query = from prod in db.Product_PurchaseOrderBT
                                where prod.PurchaseOrderID == po.ID &&
                                prod.ProductID == po_prod.ProductID
                                select prod;

                    if (query.ToList().Count == 0)
                    {
                        po_prod.Quantity = item.Quantity;
                        db.Product_PurchaseOrderBT.Add(po_prod);
                        db.SaveChanges();
                        flag = true;
                    }
                    // Checks if existing ProductID and PurchaseOrderID exists
                    // Used if item is added again
                    else if (query.ToList().Count == 1)
                    {
                        foreach (var xx in query)
                        {
                            xx.Quantity += item.Quantity;
                        }
                        db.SaveChanges();
                        flag = true;
                    }
                }
                productItemsList.Clear();
                ClearItems();
                Clear();

                if (flag)
                {
                    var sMessageDialog = new MessageDialog
                    {
                        Message = { Text = "Purchase Order added!" }
                    };
                    DialogHost.Show(sMessageDialog, "RootDialog");
                    return;
                }
            }
        }
 public bool InsertProduct_PurchaseOrderBT(Product_PurchaseOrderBT productPurchaseBT)
 {
     db.Product_PurchaseOrderBT.Add(productPurchaseBT);
     return(db.SaveChanges() > 0 ? true : false);
 }