public ActionResult ContactEdit2(EditViewModel model)
        {
            var customeraddress = new MessagingContacts();
            var product = _repository.Find<ProductType>(Guid.Parse(model.ProductVal));
            try
            {
                MessagingContacts newCustomeraddress = _repository.Find<MessagingContacts>(model.Id);
                if (ModelState.IsValid)
                {
                    newCustomeraddress.Name = model.Name;
                    newCustomeraddress.EmailAddress1 = model.EmailAddress1;
                    newCustomeraddress.Phonenumber = model.Phonenumber;
                    newCustomeraddress.Maker = User.Identity.GetUserName();
                    newCustomeraddress.ProductId = product.Id;
                    newCustomeraddress.ProductType = product.Description;
                    newCustomeraddress.Status = MyEnums.StatusOptions.Added;
                    _repository.SaveUpdate(newCustomeraddress);
                    _getVals.LogAudit(User.Identity.GetUserName(), "Edited", Request.UserHostName, "Edited Contact :" + model.Name, "Edit", "Messaging");
                }

                return RedirectToAction("DeletedContacts", new { id = newCustomeraddress.MessagingCustomersId });
            }
            catch (Exception ex)
            {
                _logs.LogError(User.Identity.GetUserName(), "ContactEdit2", "Error: " + ex.Message,
                Request.ServerVariables["REMOTE_ADDR"], HttpContext.Server.MapPath("."), "Messaging");

                System.IO.FileStream fs = new System.IO.FileStream(Server.MapPath("~/errorLOG.txt"), System.IO.FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite);
                System.IO.StreamWriter s = new System.IO.StreamWriter(fs);
                s.BaseStream.Seek(0, System.IO.SeekOrigin.End);
                s.WriteLine("ERROR DATE: " + System.DateTime.Now.ToString(System.Globalization.CultureInfo.InvariantCulture) + " \nERROR MESSAGE: " + ex.Message + "\nSOURCE: " + ex.Source + "\nFORM NAME: " + System.Web.HttpContext.Current.Request.Url.ToString() + "\nQUERYSTRING: " + Request.QueryString.ToString() + "\nTARGETSITE: " + ex.TargetSite.ToString() + "\nSTACKTRACE: " + ex.StackTrace + System.Diagnostics.EventLogEntryType.Error);
                s.WriteLine("-------------------------------------------------------------------------------------------------------------");
                s.Close();

                return View();
            }
        }
        public ActionResult ContactEdit2(Guid id)
        {
            var listSelectListItems = new List<SelectListItem>();
            var products = _repository.Fetch<ProductType>().Where(p => p.Status == MyEnums.StatusOptions.Approved);
            foreach (var n in products)
            {
                var selectList = new SelectListItem()
                {
                    Text = n.Description,
                    Value = n.Id.ToString()
                };
                listSelectListItems.Add(selectList);
            }

            //Get the User to Edit
            var editAddresses = _repository.Find<MessagingContacts>(id); ;
            var editViewModel = new EditViewModel();
            editViewModel.Product = listSelectListItems;
            editViewModel.Name = editAddresses.Name;
            editViewModel.EmailAddress1 = editAddresses.EmailAddress1;
            editViewModel.Phonenumber = editAddresses.Phonenumber;
            editViewModel.Id = editAddresses.Id;
            editViewModel.CustomerDetailsId = editAddresses.MessagingCustomersId;
            return View(editViewModel);
        }