public Task <Result <Diagram> > GetDiagram(Guid routeNetworkElementId) { _routeNetworkElementId = routeNetworkElementId; var fetchNeedeDataResult = RouteNetworkElementRelatedData.FetchData(_queryDispatcher, routeNetworkElementId); if (fetchNeedeDataResult.IsFailed) { return(Task.FromResult(Result.Fail <Diagram>(fetchNeedeDataResult.Errors.First()))); } else { _data = fetchNeedeDataResult.Value; } // If no equipment found, just return an empty diagram if (_data.SpanEquipments.Count == 0 && _data.NodeContainer == null) { return(Task.FromResult(Result.Ok <Diagram>(new Diagram()))); } double yOffset = 0; yOffset = AddDetachedSpanEquipmentsToDiagram(yOffset); yOffset = AddNodeContainerToDiagram(yOffset); // order by drawing order _diagram.OrderDiagramObjects(); return(Task.FromResult((Result.Ok <Diagram>(_diagram)))); }
public static bool IsPassThrough(this SpanEquipment spanEquipment, RouteNetworkElementRelatedData data) { if (spanEquipment.NodesOfInterestIds.First() != data.RouteNetworkElementId && spanEquipment.NodesOfInterestIds.Last() != data.RouteNetworkElementId) { return(true); } return(false); }
public NodeContainerViewModel(RouteNetworkElementRelatedData data) { _data = data; if (_data.NodeContainer == null) { throw new ApplicationException("This view model requires a RouteNetworkElementRelatedData object with a non-null NodeContainer object!"); } NodeContainer = _data.NodeContainer; }
public static bool IsAttachedToNodeContainer(this SpanEquipment spanEquipment, RouteNetworkElementRelatedData data) { if (data.NodeContainer == null) { return(false); } if (spanEquipment.NodeContainerAffixes != null) { foreach (var affix in spanEquipment.NodeContainerAffixes) { if (affix.NodeContainerId == data.NodeContainer.Id) { return(true); } } } return(false); }
public static bool IsMultiLevel(this SpanEquipment spanEquipment, RouteNetworkElementRelatedData data) { return(data.SpanEquipmentSpecifications[spanEquipment.SpecificationId].IsMultiLevel); }