public IActionResult Update(string email = null)
        {
            if (email != null)
            {
                ClientProfile client = _context.ClientProfiles
                                       .Include(cp => cp.Complaint)
                                       .ThenInclude(c => c.Status)
                                       .SingleOrDefault(c => c.Email == email);

                if (client == null)
                {
                    ViewBag.NotFound = "There's nothing here....";
                    return(View(new UpdateComplaintViewModel()));
                }

                UpdateComplaintViewModel viewModel = new UpdateComplaintViewModel(client.Complaint,
                                                                                  _context.ComplaintStatuses.ToList());

                viewModel.Email = client.Email;
                return(View(viewModel));
            }
            else
            {
                return(View(new UpdateComplaintViewModel()));
            }
        }
        public IActionResult Update(UpdateComplaintViewModel viewModel)
        {
            if (ModelState.IsValid)
            {
                var newComplaint = _context.Complaints
                                   .Include(c => c.Client)
                                   .Include(c => c.Status)
                                   .Where(c => c.ID == viewModel.ComplaintID)
                                   .SingleOrDefault();

                newComplaint.ComplaintStatusID = viewModel.StatusCodeID;

                SendNotification(newComplaint.Client.Email, viewModel.StatusCodeID);

                _context.SaveChanges();
                return(RedirectToAction(nameof(View), new { id = newComplaint.ClientProfileID }));
            }

            return(NotFound());
        }