public bool InsertProduct_CustomerOrderBT(Product_CustomerOrderBT productPurchaseBT)
 {
     return(productCustBTDa.InsertProduct_CustomerOrderBT(productPurchaseBT));
 }
Exemple #2
0
 public bool InsertProduct_CustomerOrderBT(Product_CustomerOrderBT productCustBT)
 {
     db.Product_CustomerOrderBT.Add(productCustBT);
     return(db.SaveChanges() > 0 ? true : false);
 }
Exemple #3
0
        private void CreateButton_Click(object sender, RoutedEventArgs e)
        {
            #region validation
            ForceValidation();
            if (Validation.GetHasError(OrderDateDatePicker) || Validation.GetHasError(DeliveryDateDatePicker))
            {
                var sMessageDialog = new MessageDialog
                {
                    Message = { Text =
                                    "ERROR: Fill required fields!" }
                };

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

            if (CustomerComboBox.SelectedValue == null ||
                AssignedEmployeeComboBox.SelectedValue == null ||
                OrderStatusComboBox.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 customer order,\nadd items!" }
                };

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

            bool flag = false;

            // Creating PO
            CustomerOrder co = new CustomerOrder()
            {
                OrderDate     = OrderDateDatePicker.SelectedDate.Value,
                DeliveryDate  = DeliveryDateDatePicker.SelectedDate.Value,
                ContactID     = int.Parse(CustomerComboBox.SelectedValue.ToString()),
                OrderStatusID = int.Parse(OrderStatusComboBox.SelectedValue.ToString()),
                EmployeeID    = int.Parse(AssignedEmployeeComboBox.SelectedValue.ToString())
            };

            //CustomerOrderFactory fac = new CustomerOrderFactory();
            //fac.InsertCustomerOrder(co);
            new CustomerOrderFactory().InsertCustomerOrder(co);

            // Adding Products to PO
            using (var db = new AlphaElectricEntitiesDB())
            {
                // Multiple Products
                foreach (var item in productItemsList)
                {
                    Product_CustomerOrderBT co_prod = new Product_CustomerOrderBT()
                    {
                        ProductID       = item.ProductID,
                        CustomerOrderID = co.ID
                    };

                    // LINQ query
                    var query = from row in db.Product_CustomerOrderBT
                                where row.CustomerOrderID == co.ID &&
                                row.ProductID == co_prod.ProductID
                                select row;

                    if (query.ToList().Count == 0)
                    {
                        co_prod.Quantity = item.Quantity;
                        db.Product_CustomerOrderBT.Add(co_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 = "Customer Order added!" }
                    };
                    DialogHost.Show(sMessageDialog, "RootDialog");
                    return;
                }
            }
        }