コード例 #1
0
        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));
        }
コード例 #2
0
        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." }));
        }