public ActionResult DeleteProduct(Guid?id)
        {
            ConsumerProduct product =
                db.ConsumerProducts.FirstOrDefault(a => a.ConsumerProductID == id);

            if (product == null)
            {
                return(HttpNotFound());
            }

            var purchaseReason =
                db.ConsumerPurchaseReasons.FirstOrDefault(a => a.ConsumerProductID == product.ConsumerProductID);

            try
            {
                db.ConsumerPurchaseReasons.Remove(purchaseReason);
                db.PurchaseDynamics.Remove(product.PurchaseDynamic);
                foreach (var satisfaction in product.ProductSatisfactions)
                {
                    db.ProductSatisfactions.Remove(satisfaction);
                }
                db.ProductSatisfactionOlds.Remove(product.ProductSatisfactionOld);
                db.ConsumerProducts.Remove(product);
                db.SaveChanges();
            }
            catch (Exception ex)
            {
                //catch error here.
            }
            return(RedirectToAction("View", new { id = product.ConsumerTouchPointID }));
        }
        public ActionResult EditProduct(Guid?id)
        {
            ConsumerProduct consumerProduct =
                db.ConsumerProducts.FirstOrDefault(a => a.ConsumerProductID == id);

            LoadSpinners();

            return(View(consumerProduct));
        }
        public ActionResult EditProduct(ConsumerProduct consumerProduct)
        {
            if (ModelState.IsValid)
            {
                ConsumerProduct product =
                    db.ConsumerProducts.FirstOrDefault(a => a.ConsumerProductID == consumerProduct.ConsumerProductID);

                if (product == null)
                {
                    return(HttpNotFound());
                }
                try
                {
                    product.ModelNumber  = consumerProduct.ModelNumber;
                    product.SerialNumber = consumerProduct.SerialNumber;
                    product.DateCreated  = consumerProduct.DateCreated;

                    //db.Entry(consumerProduct).State=EntityState.Modified;
                    db.SaveChanges();
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            ModelState.AddModelError(string.Empty, validationError.ErrorMessage);
                        }
                    }

                    LoadSpinners();
                    return(View("EditProduct", consumerProduct));
                }
                catch (DuplicateKeyException exception)
                {
                    ModelState.AddModelError(string.Empty, exception.InnerException.Message);
                    LoadSpinners();
                    return(View("EditProduct", consumerProduct));
                }
                catch (Exception exception)
                {
                    ModelState.AddModelError(string.Empty, exception.Message + "Error updating database. Please contact IT");
                    LoadSpinners();
                    return(View("EditProduct", consumerProduct));
                }
                LoadSpinners();
                ViewBag.successEditUser = true;
                return(View("EditProduct", consumerProduct));
            }
            LoadSpinners();
            return(View("EditProduct", consumerProduct));
        }