//[Route("UpdateEmailTemplate/{TemplateId:int}")] public IActionResult UpdateEmailTemplate(int TemplateId, [FromBody] EmailTemplateDTO emailTemplateDTO) { if (!ModelState.IsValid) { return(BadRequest()); } if (emailTemplateDTO == null) { return(BadRequest()); } var EmailTemplates = _choiceRepoistory.GetById <EmailTemplate>(c => c.TemplateId == TemplateId); if (EmailTemplates == null) { return(BadRequest()); } EmailTemplates.Name = emailTemplateDTO.Name; EmailTemplates.Language = emailTemplateDTO.Language; EmailTemplates.Subject = emailTemplateDTO.Subject; EmailTemplates.Content = emailTemplateDTO.Content; EmailTemplates.IsActive = emailTemplateDTO.IsActive; EmailTemplates.CreatedBy = emailTemplateDTO.CreatedBy; EmailTemplates.CreatedDate = emailTemplateDTO.CreatedDate; EmailTemplates.LastModified = emailTemplateDTO.LastModified; EmailTemplates.LastModifiedBy = emailTemplateDTO.LastModifiedBy; _choiceRepoistory.Attach(EmailTemplates); _choiceRepoistory.Complete(); return(NoContent()); }
public void BindTemplate(EmailTemplateDTO emailTemplate) { cbxFieldList.Hidden = false; cbxFieldList.Store[0].DataSource = emailTemplate.Fields; cbxFieldList.DataBind(); Session["FieldList"] = emailTemplate.Fields; }
public bool SaveTemplate(EmailTemplateDTO token, int userId, out string error) { error = string.Empty; try { var entity = EmailTemplateRepository.Get(x => x.TemplateKindId == (short)token.Kind); if (entity == null) { EmailTemplateRepository.Add(token.Token2EmailTemplateEntity(userId)); } else { entity.Snippet = token.Snipet; entity.UpdateOn = DateTime.Now; entity.UpdatedBy = userId; } EmailTemplateRepository.UnitOfWork.CommitAndRefreshChanges(); return(true); } catch (Exception ex) { error = Utils.FormatError(ex); Logger.Error("SaveMessageHtml", (short)token.Kind, ex, CommonEnums.LoggerObjectTypes.Email); return(false); } }
/// <summary> /// Get Email Template based on ID /// </summary> /// <param name="TemplateTypeID">Template ID</param> /// <returns>Obejct of EmailTemplate</returns> public EmailTemplateDTO GetEmailTemplate(AspectEnums.EmailTemplateType TemplateTypeID) { EmailTemplateDTO emailTemplate = new EmailTemplateDTO(); ObjectMapper.Map(SecurityRepository.GetEmailTemplate(TemplateTypeID), emailTemplate); return(emailTemplate); }
public static EMAIL_Templates Token2EmailTemplateEntity(this EmailTemplateDTO token, int userId) { return(new EMAIL_Templates { TemplateKindId = (short)token.Kind , Snippet = token.Snipet , AddOn = DateTime.Now , CreatedBy = userId }); }
public void EditTemplate() { if (Session["RequestId"] != null) { var requestId = Session["RequestId"].ToString(); EmailTemplateDTO emailTemplate = GenerateEmailTemplate(requestId); //this.Window1.Visible = true; BindTemplate(emailTemplate); } }
public JsonResult SaveEmailTemplate(EmailTemplateDTO token) { string error; var saved = _emailServices.SaveTemplate(token, CurrentUserId, out error); return(Json(new JsonResponseToken { success = saved , error = error } , JsonRequestBehavior.AllowGet)); }
/// <summary> /// 创建超级管理员用户 /// </summary> /// <param name="userDTO"></param> /// <returns></returns> public OperationResult CreateUser(UserDTO userDTO) { OperationResult result = new OperationResult(); var user = _mapper.Map <User.Domain.AggregateUser.Entity.User>(userDTO); var emailTemplateUrl = ConfigurationManager.AppSetting("GatewayHost") + "/emailtemplates?type=1"; EmailTemplateDTO emailTemplate = new EmailTemplateDTO(); try { emailTemplate = new HttpClientUtility().Get <EmailTemplateDTO>(emailTemplateUrl); if (emailTemplate != null && emailTemplate.Contents != null) { var content = emailTemplate.Contents.FirstOrDefault(x => x.LangId == userDTO.LangId); emailTemplate.Content = content != null ? content.Value : null; } } catch (Exception ex) { string message = "无法激活邮件模板:" + emailTemplateUrl + "错误详情:" + ex.Message; throw new RequestDataExcepiton(message); } if (emailTemplate == null || string.IsNullOrWhiteSpace(emailTemplate.Content)) { result.Success = false; result.Messages.Add("无法找到激活邮件模板,无法完成注册"); return(result); } var emailTemplateDO = _mapper.Map <EmailTemplate>(emailTemplate); result = _userDomainService.CreateUser(user, emailTemplateDO); if (result.Success) { string activeUrl = ConfigurationManager.AppSetting("ActiveUrl") + "?id=" + user.UserActiveInfo.Id; string supportEamil = ConfigurationManager.AppSetting("FromEmail"); _eventBus.PublishAsync <UserWaitActiveEvent>(new UserWaitActiveEvent() { UserId = user.Id, EmailAddress = user.EmailAddress, EmailContent = string.Format(emailTemplate.Content, user.GetUserName(), activeUrl, supportEamil) }); } return(result); }
public JsonResponse <int> SendAppointmentEmail(int UserId) { JsonResponse <int> response = new JsonResponse <int>(); try { #region Prepare OTP Data string UniqueString = AppUtil.GetUniqueGuidString(); string OTPString = AppUtil.GetUniqueRandomNumber(100000, 999999); // Generate a Six Digit OTP OTPDTO objOTP = new OTPDTO() { GUID = UniqueString, OTP = OTPString, CreatedDate = DateTime.Now, UserID = UserId, Attempts = 0 }; #endregion #region Save OTP and Send Email if (SecurityBusinessInstance.SaveOTP(objOTP)) { #region Send Email string hostName = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.HostName); string rawURL = AppUtil.GetAppSettings(AspectEnums.ConfigKeys.ForgotPasswordURL); string PasswordResetURL = String.Format(rawURL, hostName) + "?id=" + UniqueString; EmailTemplateDTO objEmailTemplate = SecurityBusinessInstance.GetEmailTemplate(AspectEnums.EmailTemplateType.ForgotPassword); var userProfile = new Object();// UserBusinessInstance.DisplayUserProfile(UserId); EmailServiceDTO emailService = new EmailServiceDTO(); //emailService.Body = string.Format(objEmailTemplate.Body, userProfile.FirstName, OTPString, PasswordResetURL); //emailService.Priority = 1; //emailService.IsHtml = true; //emailService.Status = (int)AspectEnums.EmailStatus.Pending; //emailService.ToName = userProfile.FirstName; //emailService.ToEmail = userProfile.EmailID; //emailService.FromEmail = userProfile.EmailID; //emailService.Subject = objEmailTemplate.Subject; //BatchBusinessInstance.InsertEmailRecord(emailService); response.IsSuccess = true; #endregion } #endregion } catch (Exception ex) { response.IsSuccess = false; response.Message = ex.Message; response.StatusCode = "500"; response.SingleResult = 0; } return(response); }
private string GetEmailSubject(EmailTemplateDTO emailTemplate) { var userId = "PTM"; if (emailTemplate.Fields.IsCollectionValid() && emailTemplate.Fields.Exists(ef => ef.FieldName.Equals("ClaimNumber", StringComparison.InvariantCultureIgnoreCase))) { return($"{RequestName} {X.GetCmp<TextField>("ClaimNumber").Text} {userId}"); } else { return($"{RequestName} {userId}"); } }
private void DisplayEmailPreview(List <Tuple <string, string> > emailData, EmailTemplateDTO emailTemplate) { if (emailData.IsCollectionValid()) { var message = $"<b>To:</b> {emailTemplate.To.Aggregate((first, sec) => string.Format("{0}; {1}", first, sec))}<br>"; message += $"<b>CC:</b> <br>"; message += $"<b>BCC:</b> <br><br>"; message += $"<b>Subject:</b> {GetEmailSubject(emailTemplate)}<br><br>"; message += $"<b>Body:</b> <br>"; message += string.Join("<br>", emailData.Select(d => $"{d.Item1}: {d.Item2}")); message = $"<br>{message}<br><br>"; X.Msg.Alert("Email preview", message).Show(); } }
private List <Tuple <string, string> > GetData(int requestId, EmailTemplateDTO emailTemplate) { //var controls = new List<Control>(); //var leftPanelCtrls = pnlLeft.ContentControls.Cast<Control>(); //if (leftPanelCtrls.Any()) // controls.AddRange(leftPanelCtrls); //var rightPanelCtrls = pnlRight.ContentControls.Cast<Control>(); //if (rightPanelCtrls.Any()) // controls.AddRange(rightPanelCtrls); if (emailTemplate.IsNull() || !emailTemplate.Fields.IsCollectionValid()) { return(new List <Tuple <string, string> >()); } var data = new List <Tuple <string, string> >(); data.AddRange(emailTemplate.Fields.Select((field) => { if (field.FieldType == TEXT_BOX) { return(Tuple.Create(field.DisplayName, X.GetCmp <TextField>(field.FieldName).Text)); } else if (field.FieldType == DROP_DOWN) { var selectedValue = X.GetCmp <ComboBox>(field.FieldName).SelectedItem.Value; if (!string.IsNullOrEmpty(selectedValue) && !selectedValue.StartsWith("Select ", StringComparison.InvariantCultureIgnoreCase)) { return(Tuple.Create(field.DisplayName, selectedValue)); } } else if (field.FieldType == CHECK_BOX) { return(Tuple.Create(field.DisplayName, X.GetCmp <Checkbox>(field.FieldName).Checked ? "Yes" : "No")); } return(Tuple.Create(field.DisplayName, string.Empty)); }) .ToList()); data.Add(Tuple.Create("Attachment", fuAttachments.HasFile ? fuAttachments.FileName : string.Empty)); return(data); }
public async Task <string> CreateEmailTemplate(EmailTemplateDTO obj) { string status = ""; try { var checkexist = await _context.TEmailtemplate .AnyAsync(x => x.Name == obj.name || x.Code == obj.code); if (checkexist == false) { TEmailtemplate newrecord = new TEmailtemplate { Name = obj.name, Body = obj.body, Code = obj.code, Subject = obj.subject, CreatedBy = _authUser.Name, CreatedDate = DateTime.Now, IsActive = true, LastModified = null, ModifiedBy = null }; _context.TEmailtemplate.Add(newrecord); if (await _context.SaveChangesAsync() > 0) { status = "1"; return(status); } else { status = ResponseErrorMessageUtility.RecordNotSaved; return(status); } } status = string.Format(ResponseErrorMessageUtility.RecordExistBefore, obj.name); return(status); } catch (Exception ex) { _logger.LogError(ex.Message); status = ResponseErrorMessageUtility.RecordNotSaved; return(status); } }
public async Task <ActionResult> Post([FromBody] EmailTemplateDTO templateDto) { if (templateDto == null) { return(await Task.Run(() => BadRequest())); } templateDto.Created = DateTime.Now; var template = _mapper.Map <EmailTemplate>(templateDto); _context.EmailTemplates.Add(template); _context.SaveChanges(); templateDto = _mapper.Map <EmailTemplateDTO>(template); return(await Task.Run(() => new ObjectResult(templateDto))); }
public async Task <string> UpdateEmailTemplate(EmailTemplateDTO obj, int id) { string status = ""; try { //Check if record exist not as same id var checkexist = await _context.TEmailtemplate .AnyAsync(x => x.EtemplateId != id && (x.Name == obj.name)); if (checkexist == false) { var state = await _context.TEmailtemplate .FirstOrDefaultAsync(x => x.EtemplateId == id); state.Name = obj.name; state.Body = obj.body; //state.Code = obj.code; state.EtemplateId = id; //state.Subject = obj.subject; state.ModifiedBy = _authUser.Name; state.LastModified = DateTime.Now; if (await _context.SaveChangesAsync() > 0) { status = "1"; return(status); } else { status = ResponseErrorMessageUtility.RecordNotSaved; return(status); } } status = string.Format(ResponseErrorMessageUtility.RecordExistBefore, obj.name); return(status); } catch (Exception ex) { _logger.LogError(ex.Message); status = ResponseErrorMessageUtility.RecordNotSaved; return(status); } }
protected void SaveTemplate(object sender, DirectEventArgs e) { var fList = (List <EmailTemplateFieldDTO>)Session["FieldList"]; EmailTemplateDTO dtoTemplate = new EmailTemplateDTO() { RequestId = "requests/40", Fields = fList }; this.Window1.Hide(); Session["FieldList"] = null; Session["FieldType"] = null; this.FieldList = new List <EmailTemplateFieldDTO>(); if (dtoTemplate != null) { new EmailTemplateBLL().SaveEmailTemplate(dtoTemplate); } }
public static void SaveEmailTemplate(EmailTemplateDTO emailTemplateDTO) { using (var dbSession = DocumentStoreHolder.Store.OpenSession()) { var emailTemplate = Map <EmailTemplate>(emailTemplateDTO); dbSession.Store(emailTemplate); if (emailTemplateDTO.Fields != null && emailTemplateDTO.Fields.Count > 0) { var fieldList = Map <List <EmailTemplateField> >(emailTemplateDTO.Fields); for (int i = 0; i < fieldList.Count; i++) { fieldList[i].EmailTemplateId = emailTemplate.Id; dbSession.Store(fieldList[i]); emailTemplateDTO.Fields[i].Id = fieldList[i].Id; } fieldList.ForEach(fld => { fld.EmailTemplateId = emailTemplate.Id; dbSession.Store(fld); }); emailTemplate.TemplateFieldIds = fieldList.Select(f => f.Id).ToList(); for (int i = 0; i < emailTemplateDTO.Fields.Count; i++) { var optionList = Map <List <FieldOption> >(emailTemplateDTO.Fields[i].FieldOptions); if (optionList != null && optionList.Count > 0) { optionList.ForEach(fo => { fo.TemplateFieldId = emailTemplateDTO.Fields[i].Id; dbSession.Store(fo); }); fieldList[i].FieldOptionsIds = optionList.Select(f => f.Id).ToList(); } } dbSession.SaveChanges(); } } }
public EmailTemplateDTO CreateModel(EmailJob emailJob, User subscriber) { var employee = subscriber as Employee; var tasks = employee.GetTasks().Where(x => x.ScheduledDate.Value.Date == DateTime.Now.Date); var tasksHtml = buildHtmlForTasks(tasks); var tokenValues = new Dictionary <string, string> { { "name", subscriber.FullName }, { "data", DateTime.Now.ToLongDateString() }, { "tasks", tasksHtml.ToString() } }; var emailTemplateDTO = new EmailTemplateDTO { Subject = CoreLocalizationKeys.DAILY_TASK_SUMMARY.ToString(), Body = emailJob.EmailTemplate.Template, From = new MailAddress("*****@*****.**", CoreLocalizationKeys.KNOWYOURTURF_DAILY_TASKS.ToString()), To = new MailAddress(subscriber.Email, subscriber.FullName), TokenValues = tokenValues }; return(emailTemplateDTO); }
public async Task <ActionResult> Put(int id, [FromBody] EmailTemplateDTO templateDto) { if (templateDto == null) { return(await Task.Run(() => BadRequest())); } var orgTemplate = _context.EmailTemplates .SingleOrDefault(e => e.Id == id); if (orgTemplate == null) { return(await Task.Run(() => NotFound())); } orgTemplate = _mapper.Map(templateDto, orgTemplate); // orgTemplate.HtmlTemplate = templateDto.HtmlTemplate; // orgTemplate.Subject = templateDto.Subject; // orgTemplate.UniversalIP = templateDto.UniversalIP; _context.SaveChanges(); return(await Task.Run(() => new ObjectResult(templateDto))); }
protected void SaveTemplate(object sender, DirectEventArgs e) { //is template update var isTemplateUpdate = false; if (Session["TemplateId"] != null) { isTemplateUpdate = true; } var fList = (List <EmailTemplateFieldDTO>)Session["FieldList"]; if (fList == null || fList.Count == 0) { X.Msg.Alert("Save Email Template", "Please add atleast on template field.").Show(); return; } string divisionId = null, divisionName = null, requestId = null, requestName = null; if (Session["DivisionId"] != null && Session["RequestId"] != null) { divisionId = Session["DivisionId"].ToString(); requestId = Session["RequestId"].ToString(); divisionName = Session["DivisionName"].ToString(); requestName = Session["RequestName"].ToString(); } //create template EmailTemplateDTO dtoTemplate = new EmailTemplateDTO() { RequestId = requestId, Fields = fList, TemplateName = divisionName + "-" + requestName, AttachmentRequired = true }; //update template id if existing template if (isTemplateUpdate) { dtoTemplate.Id = Session["TemplateId"].ToString(); } if (_toEmailLkp.TryGetValue($"{divisionName} - {requestName}", out string toEmail)) { dtoTemplate.To = new List <string> { toEmail } } ; else { dtoTemplate.To = new List <string>() { "*****@*****.**" } }; CloseWindow(); //hide window this.Window1.Hide(); ////clear session //Session["FieldList"] = null; //Session["FieldType"] = null; ////enable Add temlate button //this.btnAddTemplate.Enable(); ////hide the field list //ResetFieldList(); //cbxFieldList.Hidden = true; //strFieldList.RemoveAll(); ////hide save template button //btnSaveTemplate.Hidden = true; //btnSaveTemplate.Disable(); ////reset window title //Window1.Title = "Email Template"; //this.FieldList = new List<EmailTemplateFieldDTO>(); // save/update the template if (dtoTemplate != null) { if (isTemplateUpdate) { new EmailTemplateBLL().UpdateEmailTemplate(dtoTemplate); } else { new EmailTemplateBLL().SaveEmailTemplate(dtoTemplate); } } //get the template if (requestId != null) { GenerateEmailTemplate(requestId); } //show temaplte saved message X.Msg.Alert("Template", "Email Template saved successfully!").Show(); }
public static void UpdateEmailTemplate(EmailTemplateDTO emailTemplateDTO) { using (var dbSession = DocumentStoreHolder.Store.OpenSession()) { //fetch the template for the given request id var emailTemplate = dbSession .Query <EmailTemplate>() .FirstOrDefault(et => et.RequestId == emailTemplateDTO.RequestId); //if email template doesnot exists, return if (emailTemplate == null) { return; } //if emailtemplateDTO has field then procees if (emailTemplateDTO.Fields != null && emailTemplateDTO.Fields.Count > 0) { var fieldList = Map <List <EmailTemplateField> >(emailTemplateDTO.Fields); //add ids of existing options to the field for (int k = 0; k < fieldList.Count; k++) { if (emailTemplateDTO.Fields[k].FieldOptions != null) { fieldList[k].FieldOptionsIds = emailTemplateDTO.Fields[k].FieldOptions.Select(fo => fo.Id).Where(x => x != null).ToList(); } } //get existing fields var fieldListSaved = dbSession .Query <EmailTemplateField>() .Where(f => f.EmailTemplateId == emailTemplate.Id).ToList(); fieldListSaved.RemoveAll(a => !fieldList.Exists(b => a.Id == b.Id)); for (int j = 0; j < fieldList.Count; j++) { //if field is not existing/new if (fieldList[j].Id == null) { //store the new field dbSession.Store(fieldList[j]); emailTemplateDTO.Fields[j].Id = fieldList[j].Id; //store the options(new) of new field, add id of new option to field and assign field id to options FieldOption option; emailTemplateDTO.Fields.Where(x => x.Id == fieldList[j].Id).FirstOrDefault().FieldOptions.ForEach( o => { option = Map <FieldOption>(o); if (o.Id == null) { option.TemplateFieldId = fieldList[j].Id; dbSession.Store(option); fieldList[j].FieldOptionsIds.Add(option.Id); } }); } else { //if field is existing for (int i = 0; i < fieldListSaved.Count; i++) { //select the retaining fields in fieldListSaved to update its properties if (fieldList[j].Id == fieldListSaved[i].Id) { //get the field options for existing field and delete non-retained options of it var fieldOptions = dbSession .Load <FieldOption>(fieldListSaved[j].FieldOptionsIds.ToArray <string>()) .Select(s => s.Value) .ToList(); fieldOptions.RemoveAll(a => fieldList[i].FieldOptionsIds.Exists(b => a.Id == b)); fieldOptions.ForEach(o => { dbSession.Delete(o); }); //update properties of field in fieldListSaved Mapper.Map <EmailTemplateField, EmailTemplateField>(fieldList[j], fieldListSaved[i]); // save new options, add id of new option to field and assign field id to options FieldOption option; emailTemplateDTO.Fields.Where(x => x.Id == fieldListSaved[i].Id).FirstOrDefault().FieldOptions.ForEach( o => { option = Map <FieldOption>(o); if (o.Id == null) { option.TemplateFieldId = fieldListSaved[i].Id; dbSession.Store(option); fieldListSaved[i].FieldOptionsIds.Add(option.Id); } }); } else { } } } } //delete non-retained fields var templateFields = dbSession.Include <EmailTemplateField>(et => et.FieldOptionsIds) .Load <EmailTemplateField>(emailTemplate.TemplateFieldIds.ToArray <string>()) .OrderBy(tf => tf.Value.FieldOrder).Select(s => s.Value) .ToList(); templateFields.RemoveAll(a => fieldList.Exists(b => a.Id == b.Id)); if (templateFields.Count > 0) { templateFields.ForEach((tf) => { if (tf.FieldOptionsIds != null && tf.FieldOptionsIds.Count > 0) { var fieldOptions = dbSession.Load <FieldOption>(tf.FieldOptionsIds).Select(s => s.Value) .ToList(); fieldOptions.ForEach(fo => dbSession.Delete(fo)); } dbSession.Delete(tf); }); } //add field ids to template emailTemplate.TemplateFieldIds = fieldList.Select(f => f.Id).ToList(); dbSession.SaveChanges(); } } }
public void SaveEmailTemplate(EmailTemplateDTO emailTemplateDTO) { EmailTemplateDAL.SaveEmailTemplate(emailTemplateDTO); }
public void UpdateEmailTemplate(EmailTemplateDTO emailTemplateDTO) { EmailTemplateDAL.UpdateEmailTemplate(emailTemplateDTO); }
protected void Page_Load(object sender, EventArgs e) { EmailTemplate = new EmailTemplateBLL().GetEmailTemplate(33); }