//[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;
 }
Esempio n. 3
0
        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);
            }
        }
Esempio n. 4
0
        /// <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);
        }
Esempio n. 5
0
 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);
     }
 }
Esempio n. 7
0
        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);
        }
Esempio n. 10
0
        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}");
            }
        }
Esempio n. 11
0
 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();
     }
 }
Esempio n. 12
0
        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);
        }
Esempio n. 13
0
        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);
            }
        }
Esempio n. 14
0
    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)));
    }
Esempio n. 15
0
        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);
            }
        }
Esempio n. 16
0
        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);
            }
        }
Esempio n. 17
0
        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();
                }
            }
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
    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();
        }
Esempio n. 21
0
        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();
                }
            }
        }
Esempio n. 22
0
 public void SaveEmailTemplate(EmailTemplateDTO emailTemplateDTO)
 {
     EmailTemplateDAL.SaveEmailTemplate(emailTemplateDTO);
 }
Esempio n. 23
0
 public void UpdateEmailTemplate(EmailTemplateDTO emailTemplateDTO)
 {
     EmailTemplateDAL.UpdateEmailTemplate(emailTemplateDTO);
 }
Esempio n. 24
0
 protected void Page_Load(object sender, EventArgs e)
 {
     EmailTemplate = new EmailTemplateBLL().GetEmailTemplate(33);
 }