public void SeminarCompleteForUser(User user, GroupSeminar seminar, string complexLink) { if (seminar.Group.Group_ID == 223973) { var mailTemplate = MailTemplateService.GetTemplate(MailTemplates.AdminSeminar, user.FullName); Send(info, MailAddress(user), mailTemplate.Description, mailTemplate.Name); return; } if (seminar.Group.Group_ID == 241944) { var mailTemplate = Htmls.AllHtmlBlocks()[HtmlBlocks.Seminar241944]; Send(info, MailAddress(user), mailTemplate.Item2, mailTemplate.Item1); return; } var template = MailTemplateService.GetTemplate(MailTemplates.SeminarComplete, user.FullName); var seminarLink = "Ссылка для подключения к семинару будет выслана Вам по электронной почте не позднее, чем за 15 минут до начала семинара."; var body = TemplateEngine.GetText(template.Description, new { SeminarInfo = GetSeminarInfo(seminar, complexLink), SeminarName = seminar.Group.Title, SeminarLink = seminarLink }); Send(info, MailAddress(user), body, template.Name); }
public void NewGroupPhoto(User user, string link) { var template = MailTemplateService.GetTemplate(MailTemplates.NewGroupPhoto, user.FullName); var body = TemplateEngine.GetText(template.Description, new { PhotoLink = link }); Send(info, MailAddress(user), body, template.Name); }
public void AddControlForUnlimit(SimplePageVM model, PageController controller) { var urlHelper = controller.Url; var user = controller.User; var link = GetUnlimitOrderButton(urlHelper, user); var desc = TemplateEngine.GetText(model.Entity.Description, new { OrderButton = link.ToString() }); model.Description = new TextWithInfoTags(desc); }
public void SimpleRegistration(SimpleRegUser user, string url) { var template = MailTemplateService.GetTemplate(MailTemplates.SimpleReg, user.Name); var body = TemplateEngine.GetText(template.Description, new { Url = url }); Send(info, new MailAddress(user.Email), body, template.Name); }
public void RestorePassword(User user) { var template = MailTemplateService.GetTemplate(MailTemplates.RestorePassword, user.FullName); var body = TemplateEngine.GetText(template.Description, new { user.Password, }); Send(info, MailAddress(user), body, template.Name); }
public void TestCertPaid(Entities.Context.OrderDetail orderDetail) { var template = MailTemplateService.GetTemplate(MailTemplates.TestCertPaid, orderDetail.Order.User.FullName); var body = TemplateEngine.GetText( template.Description, new { TestCert = H.Anchor("/order/testcertificates", orderDetail.UserTest.Test.Name).AbsoluteHref(), }); Send(info, MailAddress(orderDetail.Order.User), body, template.Name); Send(info, siteCertOrders, GetOrderCmsAnchor(orderDetail.Order).ToString() , "Сертификат оплачен"); }
private static string UpdateStatus(User user, Group g, string template) { var dateText = GetDateText(g); var courseUrl = GetCourseUrl(g); var message = TemplateEngine.GetText(template, new { CourseName = StringUtils.AngleBrackets(g.Course.WebName), Date = dateText, CourseUrl = courseUrl }); PostStatusUpdate(user, message); return(message); }
public void GroupTestInfo(IEnumerable <User> users, IEnumerable <TagA> tests, string managerEmail) { var user = AuthService.CurrentUser; var template = MailTemplateService.GetTemplate(MailTemplates.GroupTestInfo, user.FullName); var userPart = users.Select(x => _.List(x.FullName, " Логин: ".Tag("strong"), x.Email, " Пароль: ".Tag("strong"), x.Password).JoinWith(" ")).JoinWith(Br); var body = TemplateEngine.GetText(template.Description, new { GroupInfo = userPart + Br + H.strong["Тесты"] + Br + tests.Select(x => x.ToString()).JoinWith(Br) }); var to = managerEmail.IsEmpty() ? MailAddress(user) : new MailAddress(managerEmail); Send(info, to, body, template.Name); }
public void RegistrationComplete(User user, string couponLink, bool isCityCoupon) { var template = MailTemplateService .GetTemplate(MailTemplates.RegistrationComplete, user.FullName); // var blockId = isCityCoupon ? HtmlBlocks.CityCoupon : HtmlBlocks.RegCoupon; // var text = Htmls.AllHtmlBlocks()[blockId]; var body = TemplateEngine.GetText(template.Description, new { user.Password, user.Email, // Text = text, // CouponImage = CouponUtils.RegistrationIsActive ? H.Img(couponLink) : null }); Send(info, MailAddress(user), body, template.Name); }
private static string UpdateMegaStatus(User user, List <Group> groups, string template) { var dateText = GetDateText(groups.First()); var courses = "Все курсы, которые я веду, на моей персональной страничке {0} ." .FormatWith(GetTrainerUrl(groups.First().Teacher_TC)); var message = TemplateEngine.GetText(template, new { Date = dateText, Courses = courses }); PostStatusUpdate(user, message); return(message); }
public static string SkypeTextBlock() { var context = new SpecialistWebDataContext(); var isIcqOnline = new TimeSpan(9, 30, 00) <= DateTime.Now.TimeOfDay && DateTime.Now.TimeOfDay <= new TimeSpan(18, 00, 00) && !DateTime.Now.DayOfWeek.In(DayOfWeek.Saturday, DayOfWeek.Sunday); var icqIcon = Images.Main(isIcqOnline ? "ico_icq.png" : "icq_offline.gif"); var skypeIcon = Images.Main(isIcqOnline ? "skype_online.png" : "skype_offline.png"); var desc = context.SimplePages.Where(x => x.SysName == SimplePages.Skype). Select(x => x.Description).FirstOrDefault(); return(TemplateEngine.GetText(desc, new { icqIcon, skypeIcon })); }
public SimplePage GetHostingInfo() { var user = AuthService.CurrentUser; var student = user.Student; var simplePage = SimplePageService.GetAll().SysName(SimplePages.HostingInfo); simplePage.Description = TemplateEngine.GetText(simplePage.Description, new { user.FullName, student.HostingSite, student.HostingLogin, student.HostingPassword }); return(simplePage); }
public ActionResult MarketingAction(string urlName) { var action = MarketingActionService.FirstOrDefault(x => x.IsActive && x.UrlName == urlName); if (action == null) { return(null); } if (action.MarketingAction_ID == Specialist.Entities.Const.MarketingActions.Unlimit) { var button = SimplePageVMService.GetUnlimitOrderButton(Url, User); action.Description = TemplateEngine.GetText(action.Description, new { OrderButton = button.ToString() }); } var page = action.IsSpecialOffer ? SimplePages.SpecialActions : SimplePages.MarketingActions; return(MView(Views.Center.MarketingAction, new MarketingActionVM { MarketingAction = action, MarketingActions = SimplePageService.GetAll().BySysName(page), })); }
public void TestResult(User user, TagA test, List <TagA> courses, UserTest userTest) { if (user == null) { return; } var templateName = MailTemplates.TestResult; if (userTest.IsPass) { templateName = MailTemplates.TestResultSuccess; } var template = MailTemplateService.GetTemplate(templateName, user.FullName); var body = TemplateEngine.GetText(template.Description, new { Course = courses.Select(x => x.ToString()).JoinWith(", "), Test = test.ToString() }); Send(info, MailAddress(user), AddTestResultUtm(body), template.Name); }
public void Send(SmtpClient client, MailTemplate template, string mail, string userName = null) { try { var body = TemplateEngine.GetText(template.Description, new { userName }); using (var message = new MailMessage(maillist, new MailAddress(mail)) { IsBodyHtml = true, BodyEncoding = Encoding.UTF8, Subject = template.Name, Body = MailMaster.FormatWith(body), }) { client.Send(message); } } catch (FormatException e) { Unsubscribe(mail); Logger.Exception(e, "mail list format exception " + mail); } catch (Exception e) { Logger.Exception(e, this + " " + mail); } }
public void OrderComplete(Entities.Context.Order order, bool sendToUser) { var user = AuthService.CurrentUser; var isCredit = order.PaymentType_TC == PaymentTypes.AlphaCredit; var template = MailTemplateService.GetTemplate(isCredit ? MailTemplates.OrderCompleteCredit : MailTemplates.OrderComplete, user.FullName); var orderDescription = GetOrderDescription(order); orderDescription += HtmlControls.Anchor(CommonConst.SiteRoot + "/order/paymenttypechoice?orderid=" + order.OrderID) + Br; if (order.PaymentType_TC == PaymentTypes.SberBank) { orderDescription += "Квитанция:" + Br + HtmlControls.Anchor(CommonConst.SiteRoot + "/order/receipt?orderid=" + order.OrderID) + Br + "После оплаты необходимо подтвердить оплату обучения на странице:" + Br + HtmlControls.Anchor(CommonConst.SiteRoot + "/order/confirm?orderid=" + order.OrderID) + Br; } var managerTC = order.Manager_TC ?? Employees.MainManager; var manager = EmployeeService.AllEmployees()[order.Manager_TC]; var body = TemplateEngine.GetText( template.Description, new { orderDescription, Manager = H.Anchor("/manager/" + managerTC.ToLower(), manager.LastName + " " + manager.FirstName).AbsoluteHref().ToString() }); if (sendToUser) { Send(info, MailAddress(order.User), body, template.Name); } OrderInfoForManager(order); }
public void OrderStarted(Entities.Context.Order order) { var orderDetail = order.OrderDetails.FirstOrDefault(x => !x.IsTestCert); if (orderDetail == null) { return; } var courseData = orderDetail.Course; var groupData = orderDetail.Group; var user = order.User; var managerData = EmployeeService.AllEmployees()[Employees.GetKarpovich()]; var manager = H.Anchor("/manager/" + managerData.Employee_TC.ToLower(), managerData.FullName).AbsoluteHref().ToString(); var managerPhoto = Images.Employee(managerData.Employee_TC).ToString(); var userName = user.FullName; var template = MailTemplateService.GetTemplate(MailTemplates.OrderStarted, userName); var orderDescription = H.Anchor("/course/" + courseData.UrlName.ToLower(), courseData.GetName()).AbsoluteHref().ToString(); var certType = string.Empty; if (courseData.AuthorizationType_TC == AuthorizationTypes.Microsoft) { certType = "Международный сертификат Microsoft"; } else { certType = courseData.CourseCertificates .FirstOrDefault().GetOrDefault(x => x.CertType.CertTypeName); } if (!certType.IsEmpty()) { certType = " и " + certType; } var complexInfo = string.Empty; var trainerInfo = string.Empty; if (groupData != null && groupData.Teacher != null) { var trainerLink = H.Anchor("/trainer/" + groupData.Teacher.Employee_TC.ToLower(), groupData.Teacher.FullName).AbsoluteHref().ToString(); var complexData = groupData.Complex; var complexLink = H.Anchor("/locations/complex/" + complexData.UrlName, complexData.Name).ToString(); trainerInfo = "Ваш курс будет вести {0}. {1} <br/> {2}".FormatWith(trainerLink, StringUtils.GetFirstParagraph(groupData.Teacher.SiteDescription), H.Anchor("/trainer/{0}/trainer-responses/1".FormatWith( groupData.Teacher.Employee_TC.ToLower()), "Отзывы по преподавателю").AbsoluteHref()); complexInfo = " или непосредственно в учебный комплекс {0} по адресу {1} {2}" .FormatWith(complexLink, complexData.Address, H.Anchor(Urls.GetComplexMap(complexData.UrlName), "[Схема проезда]")); orderDescription += (". Дата начала занятий: {0}. " + "Место проведения обучения: УК {1}. Дни и часы занятий: {2} {3}").FormatWith( groupData.DateBeg.DefaultString(), complexLink, groupData.DaySequence, groupData.TimeInterval); } var body = TemplateEngine.GetText( template.Description, new { orderDescription, manager, trainerInfo, complexInfo, managerPhoto, certType }); var title = TemplateEngine.GetText(template.Name, new{ UserName = user.FirstSecondName }); body = StringUtils.AddUtm(body, "email", "email", "unfinished_orders"); Send(new MailAddress(managerData.FirstSpecEmail), MailAddress(order.User), body, title, websiteManagers); }