public async Task <IActionResult> NameChangeRequest(NameChangeRequestViewModel model)
        {
            if (model.fileBase != null && model.fileBase.Length <= 25000000)
            {
                var allowedExtensions = new[] { ".pdf", ".png", ".docx", ".xlsx", ".jpg" };
                if (!allowedExtensions.Contains(Path.GetExtension(model.fileBase.FileName).ToLower()))
                {
                    TempData["AlertWarningMsg"] = "Attachment not added to travel. Invalid File Format. File must be .pdf, .png, .docx, .xlsx, .jpg";
                }
                else
                {
                    byte[] bytes;
                    model.Attachement = new NameChangeAttachements();
                    using (var memoryStream = new MemoryStream())
                    {
                        await model.fileBase.CopyToAsync(memoryStream);

                        bytes = memoryStream.ToArray();
                    }

                    model.Attachement.FileName = Path.GetFileName(model.fileBase.FileName);
                    model.Attachement.FileType = model.fileBase.ContentType;
                    model.Attachement.File     = bytes;

                    NameChangeRequest nameChange = new NameChangeRequest {
                        oldFirstName  = model.oldFirstName,
                        oldMiddleName = model.oldMiddleName,
                        oldLastName   = model.oldLastName,
                        newFirstName  = model.newFirstName,
                        newMiddleName = model.newMiddleName,
                        newLastName   = model.newLastName,
                        UserId        = _userManager.GetUserId(User)
                    };
                    await _context.NameChangeRequests.AddAsync(nameChange);

                    await _context.SaveChangesAsync();

                    NameChangeAttachements attachement = new NameChangeAttachements {
                        NameChangeId = nameChange.Id,
                        FileName     = model.Attachement.FileName,
                        FileType     = model.Attachement.FileType,
                        File         = model.Attachement.File,
                        Status       = true
                    };
                    await _context.NameChangeAttachements.AddAsync(attachement);

                    await _context.SaveChangesAsync();
                }
                StatusMessage = "Your request has been submitted for review.";
                return(RedirectToAction(nameof(NameChangeRequest)));
            }
            else
            {
                return(View());
            }
        }
        public async Task <IActionResult> NameChangeRequest()
        {
            var user = await _userManager.GetUserAsync(User);

            if (user == null)
            {
                throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
            }

            NameChangeRequestViewModel model = new NameChangeRequestViewModel {
                oldFirstName = user.FirstName, oldMiddleName = user.MiddleName, oldLastName = user.LastName
            };


            return(View(model));
        }