public IActionResult Form(CustomerForm form, string returnUrl, string action)
        {
            if (action == "CreatePost" || action == "UpdatePost")
            {
                form.IsNew = _globalService.IsNullOrDefault(form.Id);
                if (!ModelState.IsValid)
                {
                    return(View(form));
                }

                TMCoreV3.DataAccess.Models.Customer.Customer customer;
                if (form.IsNew)
                {
                    customer = new TMCoreV3.DataAccess.Models.Customer.Customer
                    {
                        DateCreated = DateTime.UtcNow,
                        CreatedBy   = User.Identity.Name,
                    };
                }
                else
                {
                    customer = _customerRepo.FindById(form.Id);
                    if (customer == null)
                    {
                        ModelState.AddModelError("", "Customer update failed: Customer not found");
                    }

                    customer.DateUpdated = DateTime.UtcNow;
                    customer.UpdatedBy   = User.Identity.Name;
                }

                _customerRepo.Add(customer);
                _customerRepo.SaveAll();
            }
            else if (action == "Cancel")
            {
                return(RedirectToAction("customerIndex", "customer"));
            }

            return(RedirectToAction("customerIndex", "customer"));
        }