Silently applying booking lifecycle transitions
The example below shows how booking lifecycle transitions (Finish, On-Hold, Confirm, Cancel, or Delete) can be applied to an existing booking without user interaction by means of an automation script.
Note
Using the TryChangeStateToConfirmed call as illustrated below will also trigger any Created Booking custom script.
using System;
using Skyline.DataMiner.Automation;
using Skyline.DataMiner.Core.SRM;
using Skyline.DataMiner.Core.SRM.Extensions.Reservations;
public class Script
{
public static void Run(Engine engine)
{
// Replace with reservation guid
var reservationId = Guid.NewGuid();
var reservation = SrmManagers.ResourceManager.GetReservationInstance(reservationId);
var bookingManager = reservation.FindBookingManager();
var result = bookingManager.TryChangeStateToConfirmed(engine, ref reservation);
//var result = bookingManager.TryFinish(engine, ref reservation);
//var result = bookingManager.TryChangeStateToOnHold(engine, ref reservation);
//var result = bookingManager.TryCancel(engine, ref reservation);
//var result = bookingManager.TryDelete(engine, reservation);
}
}