Exemplo n.º 1
0
        public async Task <ActionResult> FeedbackAdd_Partial(AddModel model)
        {
            FeedbackConfigData config = await FeedbackConfigDataProvider.GetConfigAsync();

            model.RequireName  = config.RequireName;
            model.RequireEmail = config.RequireEmail;
            model.ShowCaptcha  = config.Captcha;

            if (!ModelState.IsValid)
            {
                return(PartialView(model));
            }

            using (FeedbackDataProvider dataProvider = new FeedbackDataProvider()) {
                if (!await dataProvider.AddItemAsync(model.GetData()))
                {
                    throw new InternalError("Feedback couldn't be sent");
                }

                Emails emails = new Emails(Manager);
                await emails.SendFeedbackAsync(config.Email, model.Email, model.Subject, model.Message, model.Name, config.BccEmails?Manager.CurrentSite.AdminEmail : null);

                return(FormProcessed(model, this.__ResStr("okSaved", "Your message has been sent!"), NextPage: Manager.ReturnToUrl));
            }
        }
Exemplo n.º 2
0
        public async Task <ActionResult> FeedbackAdd()
        {
            AddModel model = new AddModel {
                Captcha = new RecaptchaV2Data(),
                Subject = Module.DefaultSubject,
                Message = Module.DefaultMessage,
            };
            FeedbackConfigData config = await FeedbackConfigDataProvider.GetConfigAsync();

            model.RequireName  = config.RequireName;
            model.RequireEmail = config.RequireEmail;
            model.ShowCaptcha  = config.Captcha;
            return(View(model));
        }
Exemplo n.º 3
0
        public async Task <ActionResult> FeedbackConfig()
        {
            using (FeedbackConfigDataProvider dataProvider = new FeedbackConfigDataProvider()) {
                Model model             = new Model {
                };
                FeedbackConfigData data = await dataProvider.GetItemAsync();

                if (data == null)
                {
                    throw new Error(this.__ResStr("notFound", "The feedback settings were not found."));
                }
                model.SetData(data);
                return(View(model));
            }
        }
Exemplo n.º 4
0
        public async Task <ActionResult> FeedbackConfig_Partial(Model model)
        {
            using (FeedbackConfigDataProvider dataProvider = new FeedbackConfigDataProvider()) {
                FeedbackConfigData data = await dataProvider.GetItemAsync();// get the original item

                if (!ModelState.IsValid)
                {
                    return(PartialView(model));
                }
                data = model.GetData(data); // merge new data into original
                model.SetData(data);        // and all the data back into model for final display
                await dataProvider.UpdateConfigAsync(data);

                return(FormProcessed(model, this.__ResStr("okSaved", "Feedback settings saved"), NextPage: Manager.ReturnToUrl));
            }
        }