public static bool IsComplete(this ProjectUpdateSection projectUpdateSection, ProjectUpdateBatch projectUpdateBatch)
        {
            if (projectUpdateBatch == null)
            {
                return(false);
            }

            var currentFirmaSession = HttpRequestStorage.FirmaSession;

            switch (projectUpdateSection.ToEnum)
            {
            case ProjectUpdateSectionEnum.Basics:
                return(projectUpdateBatch.AreProjectBasicsValid());

            case ProjectUpdateSectionEnum.CustomAttributes:
                return(projectUpdateBatch.AreProjectCustomAttributesValid(currentFirmaSession));

            case ProjectUpdateSectionEnum.LocationSimple:
                return(projectUpdateBatch.IsProjectLocationSimpleValid());

            case ProjectUpdateSectionEnum.Organizations:
                return(projectUpdateBatch.AreOrganizationsValid());

            case ProjectUpdateSectionEnum.Contacts:
                return(projectUpdateBatch.AreContactsValid());

            case ProjectUpdateSectionEnum.LocationDetailed:
                return(true);

            case ProjectUpdateSectionEnum.ReportedAccomplishments:
                return(projectUpdateBatch.AreReportedPerformanceMeasuresValid());

            case ProjectUpdateSectionEnum.Budget:
                return(true);

            //case ProjectUpdateSectionEnum.Expenditures:
            //    return projectUpdateBatch.AreExpendituresValid();
            case ProjectUpdateSectionEnum.Photos:
                return(true);

            case ProjectUpdateSectionEnum.ExternalLinks:
                return(true);

            case ProjectUpdateSectionEnum.AttachmentsAndNotes:
                return(true);

            case ProjectUpdateSectionEnum.ExpectedAccomplishments:
                return(true);

            case ProjectUpdateSectionEnum.TechnicalAssistanceRequests:
                return(true);

            case ProjectUpdateSectionEnum.BulkSetSpatialInformation:
                return(true);

            case ProjectUpdateSectionEnum.PartnerFinder:
                return(true);

            case ProjectUpdateSectionEnum.Classifications:
                return(projectUpdateBatch.ValidateClassifications().IsValid);

            default:
                throw new ArgumentOutOfRangeException($"IsComplete(): Unhandled Project Update Section Enum: {projectUpdateSection.ToEnum}");
            }
        }