private IList <Token> GenerateTokens(OrderFreeSampleModel Model)
        {
            IList <Token> tokens            = new List <Token>();
            string        additionalMessage = string.IsNullOrWhiteSpace(Model.CommentEnquiry) ?
                                              "N/A" : Model.CommentEnquiry;

            string company = string.IsNullOrWhiteSpace(Model.Company) ?
                             "N/A" : Model.Company;

            _messageTokenProvider.AddStoreTokens(tokens);
            tokens.Add(new Token("FreeSample.ProductName", Model.ProductName));
            tokens.Add(new Token("FreeSample.Name", Model.Name));
            tokens.Add(new Token("FreeSample.Company", company));
            tokens.Add(new Token("FreeSample.Address", Model.Address));
            tokens.Add(new Token("FreeSample.PostCode", Model.PostCode));
            tokens.Add(new Token("FreeSample.Phone", Model.Phone));
            tokens.Add(new Token("FreeSample.Email", Model.Email));
            tokens.Add(new Token("FreeSample.CommentEnquiry", additionalMessage));

            /*if (Model.CHECKED)
             *  tokens.Add(new Token("FreeSample.CommentEnquiry", "CHEKBOX CHECKED"));
             * else
             *  tokens.Add(new Token("FreeSample.CommentEnquiry", "CHEKBOX NOT CHECKED"));*/

            return(tokens);
        }
        public ActionResult OrderFreeSample(int productId)
        {
            Product product            = _productService.GetProductById(productId);
            OrderFreeSampleModel model = new OrderFreeSampleModel();

            if (product != null)
            {
                model.ProductName = product.Name;
            }

            return(View(ORDER_FREE_SAMPLE_VIEW, model));
        }
        private bool SendFreeSampleMessage(OrderFreeSampleModel Model)
        {
            MessageTemplate messageTemplate =
                GetLocalizedActiveMessageTemplate("OrderFreeSample.Form");

            if (messageTemplate == null)
            {
                return(false);
            }

            EmailAccount sendTo = GetEmailAccountOfMessageTemplate(messageTemplate,
                                                                   _workContext.WorkingLanguage.Id);
            IList <Token> tokens = GenerateTokens(Model);

            _eventPublisher.MessageTokensAdded(messageTemplate, tokens);
            return(0 != SendMessage(messageTemplate, Model.Name, Model.Email, sendTo,
                                    _workContext.WorkingLanguage.Id, tokens));
        }
        public ActionResult OrderFreeSample(OrderFreeSampleModel Model)
        {
            if (ModelState.IsValid)
            {
                bool successfullySent = SendFreeSampleMessage(Model);

                if (successfullySent)
                {
                    return(RedirectToAction("OrderFreeSampleSuccessful"));
                }
                else
                {
                    ModelState.AddModelError("", _localizationService
                                             .GetResource("Plugin.Misc.FreeSample.ErrorOccured"));
                }
            }

            return(View(ORDER_FREE_SAMPLE_VIEW, Model));
        }