public IEnumerable<VersionCompatibility> UpdateCompatibility(JObject model)
        {
            var projectId = model.Value<int>("projectId");
            var fileId = model.Value<int>("fileId");
            var report = model["report"].ToObject<Dictionary<string, bool>>();

            var cs = Services.ContentService;
            var project = cs.GetById(projectId);

            if (project == null) throw new HttpResponseException(HttpStatusCode.NotFound);

            var versionCompatService = new VersionCompatibilityService(DatabaseContext);

            versionCompatService.UpdateCompatibility(projectId, fileId, Members.GetCurrentMemberId(), report);

            return versionCompatService.GetCompatibilityReport(projectId);
        }
        public ActionResult CompatibilityReport(int projectId, int fileId)
        {
            var compatReport = new VersionCompatibilityService(DatabaseContext);

            var currentMember = Members.IsLoggedIn() ? Members.GetCurrentMember() : null;

            return PartialView("~/Views/Partials/Projects/CompatibilityReport.cshtml",
                new VersionCompatibilityReportModel
                {
                    VersionCompatibilities = compatReport.GetCompatibilityReport(projectId),
                    CurrentMemberHasDownloaded = currentMember != null && Utils.HasMemberDownloadedPackage(currentMember.Id, projectId),
                    CurrentMemberIsLoggedIn = currentMember != null,
                    FileId = fileId,
                    ProjectId = projectId,
                    AllVersions = UVersion.GetAllVersions()
                });
        }