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); }