public async Task <IActionResult> Contacts(ContactsVw model, [FromServices] GoogleRecaptchaService recaptcha, [FromServices] ISupportContactUsService support)
        {
            model.GoogleRecaptchaApiKey = this._config.GoogleRecaptcha.ApiKey;

            if (ModelState.IsValid)
            {
                //Captcha
                string recaptchaResponse = this.Request.Form["g-recaptcha-response"];
                if (!await recaptcha.ValidateRecaptcha(this._config.GoogleRecaptcha.ApiSecret, recaptchaResponse))
                {
                    return(ViewAlertMessageDanger(model, "Access denied", "Invalid captcha token."));
                }

                //Create form
                ContactUs form = new ContactUs()
                {
                    ID_Profile = GetUserIDOrNull(),
                    Name       = model.Name,
                    Contacts   = model.Contacts,
                    Memo       = model.Memo,
                    IP         = HttpContext.Connection.RemoteIpAddress.ToString(),
                    UserAgent  = Request.Headers["User-Agent"],
                };
                ContactUs result = support.Create(form);

                //Clear
                model.Name     = string.Empty;
                model.Contacts = string.Empty;
                model.Memo     = string.Empty;

                return(ViewAlertMessageSuccess(model, "Thank you!", "Your message has been submitted. We will contact you shortly."));
            }

            return(ViewAlertMessageDanger(model, "No valid data", "Please enter valid data: login, password, captcha."));
        }
        public IActionResult Contacts()
        {
            ContactsVw model = new ContactsVw()
            {
                GoogleRecaptchaApiKey = this._config.GoogleRecaptcha.ApiKey,
            };

            return(View(model));
        }