public ActionResult Query(QueryModel model) { var user = _userContext.CurrentUser; if (ModelState.IsValid) { var feedBack = new Feedback(); feedBack.FullName = model.FullName; feedBack.ModifiedOn = DateTime.Now; feedBack.CreatedOn = DateTime.Now; feedBack.Email = model.Email; feedBack.UserId = user != null ? user.Id : 0; feedBack.Description = model.Description; feedBack.Contact = model.Contact; _feedbackService.Insert(feedBack); model = new QueryModel(); model.Result = "Your request sent successfuly. We will get back to you soon."; var settingTeplate = _settingService.GetSettingByKey("VisitorQueryPlaced"); var Template = _templateService.GetTemplateByName(settingTeplate.Value); if (Template != null) { var tokens = new List <DataToken>(); _templateService.AddFeedbackTokens(tokens, feedBack); foreach (var dt in tokens) { Template.BodyHtml = EF.Services.CodeHelper.Replace(Template.BodyHtml.ToString(), "[" + dt.SystemName + "]", dt.Value, StringComparison.InvariantCulture); } foreach (var dt in _templateService.GetAllDataTokensByTemplate(Template.Id).Where(x => x.IsActive).ToList()) { Template.BodyHtml = EF.Services.CodeHelper.Replace(Template.BodyHtml.ToString(), "[" + dt.SystemName + "]", dt.Value, StringComparison.InvariantCulture); } } _emailService.SendMail(feedBack.Email, "SMS", Template != null ? Template.BodyHtml : "Thanks For Sending Us The Request."); // Get Email Settings var _setting = _settingService.GetSettingByKey("FromEmail"); if (_setting != null) { if (!String.IsNullOrEmpty(_setting.Value)) { _emailService.SendMail(_setting.Value, "Feedback", feedBack.FullName + " Sends You Query :" + "<br/>" + feedBack.Description); } } return(View(model)); } return(View(model)); }
public ActionResult Query(string name, string description, string email, string contact, string location) { bool result = false; try { if (ModelState.IsValid) { var newFeedback = new Feedback() { Contact = contact, CreatedOn = DateTime.Now, Description = description, Email = email, FullName = name, ModifiedOn = DateTime.Now, Location = location }; _feedbackService.Insert(newFeedback); var template = _templateService.GetTemplateByName("VisitorQueryPlaced"); if (template != null) { var tokens = new List <DataToken>(); _templateService.AddFeedbackTokens(tokens, newFeedback); foreach (var dt in tokens) { template.BodyHtml = EF.Services.CodeHelper.Replace(template.BodyHtml, $"[{dt.SystemName}]", dt.Value, StringComparison.InvariantCulture); } } result = _emailService.SendMail(email, "Feedback", template != null ? template.BodyHtml : "Thanks For Sending Us The Query."); // Get Email Settings var settings = _settingService.GetSettingsByType(SettingTypeEnum.EmailSetting); if (settings.Count > 0) { foreach (var setting in settings) { if (setting.Name == "FromEmail") { if (!String.IsNullOrEmpty(setting.Value)) { _emailService.SendMail(setting.Value, "Feedback", name + " Send You A Query :" + "<br/>" + description); } break; } } } if (result) { return(Json(new { Success = "True", Message = "Query Sent Succesfully." })); } } if (!result) { return(Json(new { Success = "False", Message = "An error occured while sending your query. You may contact us on our contact numbers." })); } } catch (Exception ex) { throw new Exception(ex.Message); } return(Json(new { Success = "False", Message = "An error occured while sending your query. You may contact us on our contact numbers." })); }