private void SetSettings(ProfileSettingsTypeEnum profileType, int profileIdValue) { List <IPolyline> profileLines = new List <IPolyline>(); var profileSetting = profileSettings[profileType]; if (profileSetting == null) { profileSetting = new ProfileSettings(); } //Check if the View.DemLayerName if Layer name profileSetting.DemLayerName = View.DemLayerName; if (profileType == ProfileSettingsTypeEnum.Points) { var line = EsriTools.CreatePolylineFromPoints(pointsToShow[ProfileSettingsPointButtonEnum.PointsFist], pointsToShow[ProfileSettingsPointButtonEnum.PointsSecond]); if (line != null) { profileLines.Add(line); } } if (View.SelectedProfileSettingsType == ProfileSettingsTypeEnum.Fun) { try { var lines = EsriTools.CreatePolylinesFromPointAndAzimuths(pointsToShow[ProfileSettingsPointButtonEnum.CenterFun], View.FunLength, View.FunLinesCount, View.FunAzimuth1, View.FunAzimuth2); if (lines != null) { profileLines.AddRange(lines); } } catch (MilSpaceProfileLackOfParameterException ex) { //TODO: Wtite log MessageBox.Show(ex.Message, "MilSpace", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (Exception ex) { //TODO: Wtite log } } profileSetting.ProfileLines = profileLines.ToArray(); profileSettings[profileType] = profileSetting; InvokeOnProfileSettingsChanged(); GraphicsLayerManager.UpdateCalculatingGraphic(profileSetting.ProfileLines, profileIdValue, (int)profileType); }
internal IEnumerable <IPolyline> GetProfileLines() { if (View.SelectedProfileSettingsType == ProfileSettingsTypeEnum.Points) { return(new IPolyline[] { EsriTools.CreatePolylineFromPoints(pointsToShow[ProfileSettingsPointButtonEnum.PointsFist], pointsToShow[ProfileSettingsPointButtonEnum.PointsSecond]) }); } if (View.SelectedProfileSettingsType == ProfileSettingsTypeEnum.Fun) { return(EsriTools.CreatePolylinesFromPointAndAzimuths(pointsToShow[ProfileSettingsPointButtonEnum.CenterFun], View.FunLength, View.FunLinesCount, View.FunAzimuth1, View.FunAzimuth2)); } return(null); }