public ActionResult HomeInstallationQuote(int productId) { Product product = _productService.GetProductById(productId); HomeInstallationQuoteModel model = new HomeInstallationQuoteModel(); if (product != null) model.ProductName = product.Name; return View(HOME_INSTALLATION_QUOTE_VIEW, model); }
public ActionResult HomeInstallationQuote(HomeInstallationQuoteModel Model) { if (ModelState.IsValid) { bool successfullySent = SendFreeSampleMessage(Model); if (successfullySent) return RedirectToAction("HomeInstallationQuoteSuccessful"); else { ModelState.AddModelError("", _localizationService .GetResource("Plugin.Misc.FreeSample.ErrorOccured")); } } return View(HOME_INSTALLATION_QUOTE_VIEW, Model); }
private IList<Token> GenerateTokens(HomeInstallationQuoteModel Model) { IList<Token> tokens = new List<Token>(); string additionalMessage = string.IsNullOrWhiteSpace(Model.AdditionalInfo) ? "N/A" : Model.AdditionalInfo; string phone = string.IsNullOrWhiteSpace(Model.Phone) ? "N/A" : Model.Phone; string projectStage = GetProjectStageToken(Model); projectStage = string.IsNullOrWhiteSpace(projectStage) ? "N/A" : projectStage; _messageTokenProvider.AddStoreTokens(tokens); tokens.Add(new Token("InstallationQuote.ProductName", Model.ProductName)); tokens.Add(new Token("InstallationQuote.Name", Model.Name)); tokens.Add(new Token("InstallationQuote.Email", Model.Email)); tokens.Add(new Token("InstallationQuote.Phone", phone)); tokens.Add(new Token("InstallationQuote.PostCode", Model.PostCode)); tokens.Add(new Token("InstallationQuote.Rooms", Model.Rooms.ToString())); tokens.Add(new Token("InstallationQuote.Flooring", Model.Flooring.ToString())); tokens.Add(new Token("InstallationQuote.ProjectStage", projectStage)); tokens.Add(new Token("InstallationQuote.AdditionalInfo", additionalMessage)); if (Model.FreeCredit) tokens.Add(new Token("InstallationQuote.FreeCredit", "Yes")); else tokens.Add(new Token("InstallationQuote.FreeCredit", "No")); return tokens; }
private string GetProjectStageToken(HomeInstallationQuoteModel Model) { if (Model.ProjectStageId == 1) return ("Just looking for price"); if (Model.ProjectStageId == 2) return ("Within next 4 weeks"); if (Model.ProjectStageId == 3) return ("Within next 3 months"); if (Model.ProjectStageId == 4) return ("Within next 6 months"); else return null; }
private bool SendFreeSampleMessage(HomeInstallationQuoteModel Model) { MessageTemplate messageTemplate = GetLocalizedActiveMessageTemplate("HomeInstallationQuote.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); }