Ejemplo n.º 1
0
        public async Task <CallToAction> CreateCallToAction()
        {
            var call = new CallToAction();
            await CallsToAction.InsertOneAsync(call);

            return(call);
        }
        public ErrorViewModel(int errorCode, object parameters = null)
        {
            ErrorCode = errorCode;
            CustomErrorMessage customErrorMessage = CustomErrorMessages.GetPageError(errorCode) ?? CustomErrorMessages.DefaultPageError;

            Title        = customErrorMessage.Title;
            Subtitle     = customErrorMessage.Subtitle;
            Description  = customErrorMessage.Description;
            CallToAction = customErrorMessage.CallToAction;
            Uri uri = HttpContext.Current?.GetUri();

            ActionUrl  = customErrorMessage.ActionUrl == "#" && uri != null ? uri.PathAndQuery : customErrorMessage.ActionUrl;
            ActionText = customErrorMessage.ActionText;

            //Assign any values to variables
            if (parameters != null)
            {
                foreach (PropertyInfo prop in parameters.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public))
                {
                    var value = prop.GetValue(parameters, null) as string;
                    if (string.IsNullOrWhiteSpace(prop.Name) || string.IsNullOrWhiteSpace(value))
                    {
                        continue;
                    }

                    Title        = Title.ReplaceI("{" + prop.Name + "}", value);
                    Subtitle     = Subtitle.ReplaceI("{" + prop.Name + "}", value);
                    Description  = Description.ReplaceI("{" + prop.Name + "}", value);
                    CallToAction = CallToAction.ReplaceI("{" + prop.Name + "}", value);
                    ActionUrl    = ActionUrl.ReplaceI("{" + prop.Name + "}", value);
                    ActionText   = ActionText.ReplaceI("{" + prop.Name + "}", value);
                }
            }
        }
        /// <summary>
        /// Runs the code example.
        /// </summary>
        /// <param name="user">The AdWords user.</param>
        /// <param name="videoId">The video ID.</param>
        public void Run(AdWordsUser user, string videoId)
        {
            // Get the VideoService.
            VideoService videoService = (VideoService)user.GetService(
                AdWordsService.v201402.VideoService);

            VideoCallToAction videoCallToAction = new VideoCallToAction();

            videoCallToAction.id = videoId;

            CallToAction callToAction = new CallToAction();

            CallToActionCreative callToActionCreative = new CallToActionCreative();

            callToActionCreative.headline         = "Mars cruise";
            callToActionCreative.descriptionLine1 = "Astonishing views";
            callToActionCreative.descriptionLine2 = "Mild climate";
            callToActionCreative.displayUrl       = "www.example.com/mars";
            callToActionCreative.destinationUrl   = "www.example.com/mars";

            callToAction.creative          = callToActionCreative;
            videoCallToAction.callToAction = callToAction;

            try {
                VideoCallToActionOperation operation = new VideoCallToActionOperation();
                operation.operand = videoCallToAction;

                // If this is a new Call to Action, use Operator.ADD
                // If a Call to Action already exists, use Operator.SET
                operation.@operator = Operator.SET;

                VideoCallToActionOperation[] operations = new VideoCallToActionOperation[] { operation };

                // Add video call to action.
                VideoReturnValue result = videoService.mutateCallToAction(operations);

                if (result != null && result.value != null && result.value.Length > 0)
                {
                    foreach (YouTubeVideo youTubeVideo in result.value)
                    {
                        Console.WriteLine("CallToAction overlay was added to video ID {0},  headline {1}.",
                                          youTubeVideo.id, youTubeVideo.callToAction.creative.headline);
                    }
                }
                else
                {
                    Console.WriteLine("No call to action overlays were added.");
                }
            } catch (Exception ex) {
                throw new System.ApplicationException("Failed to add call to action overlay.", ex);
            }
        }
Ejemplo n.º 4
0
        public void initChatBotMenu()
        {
            ChatbotMenu menu = new ChatbotMenu();
            //
            PersistentMenu infoMenu = new PersistentMenu();

            //
            infoMenu.locale          = "default";
            infoMenu.call_to_actions = new List <CallToAction>();
            //\
            CallToAction parentMenu3 = new CallToAction();

            parentMenu3.title           = "🔍 Đặt câu hỏi nhanh ";
            parentMenu3.type            = "nested";
            parentMenu3.call_to_actions = new List <CallToAction2>();
            //Child menu
            foreach (var typeObj in _postTypeService.GetAll())
            {
                CallToAction2 childMenu = new CallToAction2();
                childMenu.payload = "POST_TYPE_" + typeObj.Id;
                childMenu.title   = "🚩." + typeObj.Name;
                childMenu.type    = "postback";
                parentMenu3.call_to_actions.Add(childMenu);
            }
            infoMenu.call_to_actions.Add(parentMenu3);
            //
            CallToAction parentMenu = new CallToAction();

            parentMenu.title   = "🎓 Xác thực token với Olympus";
            parentMenu.type    = "postback";
            parentMenu.payload = "XACTHUC";
            infoMenu.call_to_actions.Add(parentMenu);
            //
            CallToAction parentMenu2 = new CallToAction();

            parentMenu2.title   = "💡 Luyện tập";
            parentMenu2.type    = "postback";
            parentMenu2.payload = "LUYENTAP";
            infoMenu.call_to_actions.Add(parentMenu2);
            //

            menu.persistent_menu.Add(infoMenu);
            ChatBotMessenger.sendRequest(JsonConvert.SerializeObject(menu, Newtonsoft.Json.Formatting.None,
                                                                     new JsonSerializerSettings
            {
                NullValueHandling = NullValueHandling.Ignore
            }), true);
        }
Ejemplo n.º 5
0
        public void CanRegisterThingsAndHaveThemDisposedWhenTheApplicationShutsDown()
        {
            var wasDisposed = false;

            var disposable = new CallToAction(() => wasDisposed = true);

            Action <IAppBuilder> configure = app =>
            {
                app.RegisterForDisposal(disposable);
            };

            using (WebApp.Start("http://localhost:6000", configure))
            {
                Thread.Sleep(300);
            }

            Assert.That(wasDisposed, Is.True);
        }