private MapComponent GetMapComponentFromViewModel(MapComponentViewModel mapcomponentvm) { MapComponent mapcomponent = null; if (mapcomponentvm.Id > 0) { ValidateMapComponentGenotype(mapcomponentvm.Id, mapcomponentvm.GenotypeId); mapcomponent = u_repo.GetMapComponent(mapcomponentvm.Id); mapcomponentvm.ToMapComponent(mapcomponent); } else { mapcomponent = mapcomponentvm.ToMapComponent(); mapcomponent.isRemoved = false; } if (mapcomponent.GenotypeId.HasValue) { mapcomponent.Genotype = u_repo.GetGenotype(mapcomponent.GenotypeId.Value); } if (mapcomponent.Map == null) { mapcomponent.Map = u_repo.GetMap(mapcomponent.MapId); } return(mapcomponent); }