using StructureHelperCommon.Infrastructures.Exceptions; using StructureHelperCommon.Infrastructures.Strings; using StructureHelperLogics.Models.Primitives; using StructureHelperLogics.NdmCalculations.Primitives; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.Linq; using System.Text; using System.Threading.Tasks; namespace StructureHelper.Infrastructure.UI.DataContexts { internal static class PrimitiveOperations { public static ObservableCollection ConvertNdmPrimitivesToPrimitiveBase(IEnumerable primitives) { ObservableCollection viewItems = new ObservableCollection(); foreach (var item in primitives) { if (item is IPointPrimitive) { var point = item as IPointPrimitive; viewItems.Add(new PointViewPrimitive(point)); } else if (item is IRectanglePrimitive) { var rect = item as IRectanglePrimitive; viewItems.Add(new RectangleViewPrimitive(rect)); } else throw new StructureHelperException(ErrorStrings.ObjectTypeIsUnknown); } return viewItems; } } }