コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }