internal async void OnLoaded(object sender, EventArgs e)
        {
            var factory = await FactoryService.GetFactoryById(1);

            var factoryRobots = factory.Robots;

            var descartesRobotFactory = DependencyInjector.Resolve <DescartesRobotFactory>();

            foreach (var robot in factoryRobots)
            {
                var warehouseRobot = new WarehouseRobot(Guid.Parse(robot.Guid), descartesRobotFactory);
                warehouseRobot.Title = robot.Name;
                descartesRobotFactory.Robots.Add(warehouseRobot);
            }

            RobotFactories.Add(descartesRobotFactory);
        }
        internal WarehouseRobotControlPanelViewModel(WarehouseRobotControlPanelView warehouseRobotControlPanelView, WarehouseRobot robot) : base(warehouseRobotControlPanelView)
        {
            Robot = robot;
            Robot.Controller.TrajectoryValidated += OnControllerRobotTrajectoryValidated;

            // Just for testing
            TrajectoryCoordinates = new ObservableCollection <DescartesCoordinatesItem>();

            TrajectoryCoordinates.Add(new DescartesCoordinatesItem(0, 20, 20));
            TrajectoryCoordinates.Add(new DescartesCoordinatesItem(1, 40, 80));
            TrajectoryCoordinates.Add(new DescartesCoordinatesItem(2, 60, 10));
            TrajectoryCoordinates.Add(new DescartesCoordinatesItem(3, 120, 140));
            TrajectoryCoordinates.Add(new DescartesCoordinatesItem(4, 200, 140));

            Velocity     = 50;
            Acceleration = 4;

            RobotState = Robot.Controller.State;
            Robot.Controller.MonitoringServiceClientInnerChannelStateChanged += Controller_MonitoringServiceClientStateChanged;
        }