protected virtual ActionResult Handle_BusinessActivitiesPost(int organizationId, int CERSID, int?fseID = null, FormCollection fc = null)
        {
            var viewModel = GetSingleEntityViewModel <BPActivity>(organizationId, CERSID, SubmittalElementType.FacilityInformation, ResourceType.BusinessActivities, fseID);
            var facility  = Repository.Facilities.GetByID(CERSID);

            viewModel.AddressInformation = new AddressInformation();
            viewModel.Facility           = facility;

            CERSFacilityGeoPoint geoPoint = facility.CERSFacilityGeoPoint;

            //if geopoint is null create a generic one using the county centroid
            if (geoPoint == null)
            {
                CountyGISCentroid countyCentroid = Repository.DataModel.CountyGISCentroids.SingleOrDefault(p => p.CountyID == facility.CountyID);

                if (countyCentroid != null)
                {
                    geoPoint = new CERSFacilityGeoPoint();
                    geoPoint.LatitudeMeasure = countyCentroid.LatCentroid != null?Convert.ToDecimal(countyCentroid.LatCentroid) : 0;

                    geoPoint.LongitudeMeasure = countyCentroid.LonCentroid != null?Convert.ToDecimal(countyCentroid.LonCentroid) : 0;

                    geoPoint.HorizontalAccuracyMeasure    = 100000;
                    geoPoint.HorizontalCollectionMethodID = 104;
                    geoPoint.HorizontalReferenceDatumID   = 3;
                    geoPoint.GeographicReferencePointID   = 102;
                    geoPoint.DataCollectionDate           = DateTime.Now;
                }
            }

            //if geopoint is still null setup a generic geopoint
            if (geoPoint == null)
            {
                geoPoint = new CERSFacilityGeoPoint();
                geoPoint.LatitudeMeasure              = 0;
                geoPoint.LongitudeMeasure             = 0;
                geoPoint.HorizontalAccuracyMeasure    = 100000;
                geoPoint.HorizontalCollectionMethodID = 104;
                geoPoint.HorizontalReferenceDatumID   = 3;
                geoPoint.GeographicReferencePointID   = 102;
                geoPoint.DataCollectionDate           = DateTime.Now;
            }

            viewModel.CERSFacilityGeoPoint = geoPoint;

            var entity = viewModel.Entity;

            if (TryUpdateModel(entity, "Entity"))
            {
                if (ModelState.IsValid)
                {
                    //Call the Business Logic Layer that will handle the validation/flag setting
                    //and all the other junk that needs to occur to persist a form.
                    Services.BusinessLogic.SubmittalElements.FacilityInformation.SaveActivitiesForm(viewModel);

                    string routeName = GetDraftEditRouteName(SubmittalElementType.FacilityInformation, ResourceType.BusinessOwnerOperatorIdentification);
                    return(RedirectToRoute(routeName, new { organizationID = organizationId, CERSID = CERSID, FSEID = viewModel.FacilitySubmittalElement.ID }));
                }
            }
            return(View(viewModel));
        }
        protected virtual ActionResult Handle_BusinessActivitiesGet(int organizationId, int CERSID, int?fseID = null)
        {
            var viewModel = GetSingleEntityViewModel <BPActivity>(organizationId, CERSID, SubmittalElementType.FacilityInformation, ResourceType.BusinessActivities, fseID);

            //See if BusinessName or address is null/empty.  If yes, get them from dbo.Facility.
            var bpActivities = viewModel.Entity;

            //Get the facility.
            var facility = Repository.Facilities.GetByID(CERSID);

            FeedGuidanceMessagesIntoModelState(viewModel.FacilitySubmittalElementResource);

            Services.BusinessLogic.SubmittalElements.FacilityInformation.InitializeDraftActivitiesForm(viewModel);

            //var siteAddress = (!string.IsNullOrWhiteSpace(bpActivities.SiteAddress)) ? bpActivities.SiteAddress : facility.WashedStreet;
            //var city = (!string.IsNullOrWhiteSpace(bpActivities.City)) ? bpActivities.City : facility.WashedCity;
            //var zipCode = (!string.IsNullOrWhiteSpace(bpActivities.ZipCode)) ? bpActivities.ZipCode : facility.WashedZipCode;

            viewModel.AddressInformation = new AddressInformation();
            viewModel.Facility           = facility;

            CERSFacilityGeoPoint geoPoint = facility.CERSFacilityGeoPoint;

            //if geopoint is null create a generic one using the county centroid
            if (geoPoint == null)
            {
                if (facility.CountyID != null)
                {
                    CountyGISCentroid countyCentroid = Repository.DataModel.CountyGISCentroids.SingleOrDefault(p => p.CountyID == facility.CountyID);

                    if (countyCentroid != null)
                    {
                        geoPoint = new CERSFacilityGeoPoint();
                        geoPoint.LatitudeMeasure = countyCentroid.LatCentroid != null?Convert.ToDecimal(countyCentroid.LatCentroid) : 0;

                        geoPoint.LongitudeMeasure = countyCentroid.LonCentroid != null?Convert.ToDecimal(countyCentroid.LonCentroid) : 0;

                        geoPoint.HorizontalAccuracyMeasure    = 100000;
                        geoPoint.HorizontalCollectionMethodID = 104;
                        geoPoint.HorizontalReferenceDatumID   = 3;
                        geoPoint.GeographicReferencePointID   = 102;
                        geoPoint.DataCollectionDate           = DateTime.Now;
                    }
                }
            }

            //if geopoint is still null setup a generic geopoint
            if (geoPoint == null)
            {
                geoPoint = new CERSFacilityGeoPoint();
                geoPoint.LatitudeMeasure              = 0;
                geoPoint.LongitudeMeasure             = 0;
                geoPoint.HorizontalAccuracyMeasure    = 100000;
                geoPoint.HorizontalCollectionMethodID = 104;
                geoPoint.HorizontalReferenceDatumID   = 3;
                geoPoint.GeographicReferencePointID   = 102;
                geoPoint.DataCollectionDate           = DateTime.Now;
            }

            viewModel.CERSFacilityGeoPoint = geoPoint;

            return(View(viewModel));
        }