public static BL.ProjectStatusInfo MapMvcToBusiness(MVC.ProjectStatusInfo source)
 {
     if (source == null)
     {
         return(null);
     }
     BL.ProjectStatusInfo target = BL.ProjectStatusInfo.GetOrCreate(MapSupport.ActiveCtx, source.ProjectStatusInfoId);
     if (target.Version != Guid.Empty && target.Version != source.ProjectStatusInfoVersion)
     {
         throw new DataException("Concurrency check failed");
     }
     if (source.ProjectStatusInfoIsDeleted)
     {
         target.Delete(MapSupport.ActiveCtx);
         return(null);
     }
     else
     {
         target.Version                 = source.ProjectStatusInfoVersion;
         target.Owner                   = source.ProjectStatusInfoOwner;
         target.Updated                 = source.ProjectStatusInfoUpdated;
         target.Goal                    = source.ProjectStatusInfoGoal;
         target.Measurements            = MapProjectMeasurement.MapMvcToBusinessList(source.Measurements);
         target.Actions                 = MapProjectAction.MapMvcToBusinessList(source.Actions);
         target.InterestGroups          = MapInterestGroup.MapMvcToBusinessList(source.InterestGroups);
         target.Results                 = MapProjectResult.MapMvcToBusinessList(source.Results);
         target.ChallengesAndExceptions = MapProjectChallenge.MapMvcToBusinessList(source.ChallengesAndExceptions);
         target.CounterActions          = MapCounterAction.MapMvcToBusinessList(source.CounterActions);
     }
     return(target);
 }