public static O365ConnectorCard GetO365ConnectorCardResult(AirCraftInfo flight, string actionId) { var section = new O365ConnectorCardSection { ActivityTitle = $"Aircraft Id: **{flight.AircraftId}**", ActivitySubtitle = $"Model: **{flight.Model}**", ActivityImage = "https://fleetinfobot.azurewebsites.net/resources/Airline-Fleet-Bot-02.png", Facts = new List <O365ConnectorCardFact> { new O365ConnectorCardFact("Base location", flight.BaseLocation), new O365ConnectorCardFact("Capacity", flight.Capacity), new O365ConnectorCardFact("Flight type", flight.FlightType), new O365ConnectorCardFact("Status", flight.Status.ToString()) } }; var actions = new List <O365ConnectorCardActionBase>(); switch (flight.Status) { case Status.Available: actions.Add(new O365ConnectorCardHttpPOST(O365ConnectorCardHttpPOST.Type, "Assign the new aircraft", Constants.Assignaircraft, $"{{'FlightNumber':'{flight.FlightNumber}','AircraftId':'{flight.AircraftId}', 'ActionId':'{actionId}'}}")); actions.Add(new O365ConnectorCardHttpPOST(O365ConnectorCardHttpPOST.Type, "Mark as grounded", Constants.MarkGrounded, $"{{'FlightNumber':'{flight.FlightNumber}','AircraftId':'{flight.AircraftId}','ActionId':'{actionId}'}}")); break; case Status.Assigned: actions.Add(new O365ConnectorCardHttpPOST(O365ConnectorCardHttpPOST.Type, "Mark as grounded", Constants.MarkGrounded, $"{{'FlightNumber':'{flight.FlightNumber}','AircraftId':'{flight.AircraftId}', 'ActionId':'{actionId}'}}")); break; case Status.Grounded: actions.Add(new O365ConnectorCardHttpPOST(O365ConnectorCardHttpPOST.Type, "Mark as available", Constants.Available, $"{{'FlightNumber':'{flight.FlightNumber}','AircraftId':'{flight.AircraftId}', 'ActionId':'{actionId}'}}")); break; default: break; } O365ConnectorCard card = new O365ConnectorCard() { Title = "Assign an Aircraft", ThemeColor = "#E67A9E", Sections = new List <O365ConnectorCardSection> { section }, PotentialAction = actions }; return(card); }
private static async Task CreateDataRecords() { AirCraftInfo obj1 = new AirCraftInfo(); obj1.BaseLocation = "Seattle, WA"; obj1.FlightNumber = "220"; obj1.FlightType = "Small"; obj1.Model = "Airbus A220"; obj1.Capacity = "108-130"; await DocumentDBRepository <AirCraftInfo> .CreateItemAsync(obj1); AirCraftInfo obj2 = new AirCraftInfo(); obj2.BaseLocation = "Seattle, WA"; obj2.FlightNumber = "320"; obj2.FlightType = "Small"; obj2.Model = "Airbus A320 family"; obj2.Capacity = "107-206"; await DocumentDBRepository <AirCraftInfo> .CreateItemAsync(obj2); AirCraftInfo obj3 = new AirCraftInfo(); obj3.BaseLocation = "Seattle, WA"; obj3.FlightNumber = "330"; obj3.FlightType = "Medium"; obj3.Model = "Airbus A330"; obj3.Capacity = "247-287"; await DocumentDBRepository <AirCraftInfo> .CreateItemAsync(obj3); AirCraftInfo obj4 = new AirCraftInfo(); obj4.BaseLocation = "Seattle, WA"; obj4.FlightNumber = "350"; obj4.FlightType = "Medium"; obj4.Model = "Airbus A350"; obj4.Capacity = "276-366"; await DocumentDBRepository <AirCraftInfo> .CreateItemAsync(obj4); AirCraftInfo obj5 = new AirCraftInfo(); obj5.BaseLocation = "Seattle, WA"; obj5.FlightNumber = "787"; obj5.FlightType = "Medium"; obj5.Model = "Boeing 787"; obj5.Capacity = "242-330"; await DocumentDBRepository <AirCraftInfo> .CreateItemAsync(obj5); AirCraftInfo obj6 = new AirCraftInfo(); obj6.BaseLocation = "Seattle, WA"; obj6.FlightNumber = "380"; obj6.FlightType = "Large"; obj6.Model = "Airbus A380"; obj6.Capacity = "544"; await DocumentDBRepository <AirCraftInfo> .CreateItemAsync(obj6); AirCraftInfo obj7 = new AirCraftInfo(); obj7.BaseLocation = "Seattle, WA"; obj7.FlightNumber = "777"; obj7.FlightType = "Large"; obj7.Model = "Boeing 777-200LR/300ER/Boeing 777X"; obj7.Capacity = "350-400"; await DocumentDBRepository <AirCraftInfo> .CreateItemAsync(obj7); }