public async Task <IActionResult> ProjectDetails(ProjectDetailsViewModel projectUpdates)
        {
            var originalProject = _projectRepository.GetProject(projectUpdates.Project.ProjectId);

            var userId      = userManager.GetUserId(User);
            var currentUser = await userManager.FindByIdAsync(userId);

            var claims = await userManager.GetClaimsAsync(currentUser);

            Global.globalCurrentUserClaims = claims.ToList();

            foreach (var property in originalProject.GetType().GetProperties())
            {
                var oldValue = "";
                var newValue = "";

                if (property.GetValue(projectUpdates.Project) != null)
                {
                    newValue = property.GetValue(projectUpdates.Project).ToString();
                }
                if (property.GetValue(originalProject) != null)
                {
                    oldValue = property.GetValue(originalProject).ToString();
                }

                if (oldValue != newValue)
                {
                    var changes = new ProjectHistory
                    {
                        AssociatedProjectId = originalProject.ProjectId,
                        Property            = property.Name,
                        OldValue            = oldValue,
                        NewValue            = newValue,
                        DateModified        = DateTime.Now
                    };
                    _projectRepository.AddHistory(changes);
                }
            }

            var projectIssues  = _issueRepository.GetAllProjectIssues(projectUpdates.Project.ProjectId);
            var updatedProject = _projectRepository.Update(projectUpdates.Project);
            var projectHistory = _projectRepository.GetAllProjectHistories(projectUpdates.Project.ProjectId);

            var viewModel = new ProjectDetailsViewModel
            {
                projectHistories = projectHistory,
                Project          = updatedProject,
                ProjectIssues    = projectIssues,
                ProjectId        = Global.ProjectId
            };

            return(View(viewModel));
        }