Basf_EProject/EProject/FineUIPro.Web/Email_Send/Email_SendTemplate_Edit.asp...

489 lines
23 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace FineUIPro.Web.Email_Send
{
public partial class Email_SendTemplate_Edit : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindEmailParamsDropDownList();
string emailId = Request.Params["id"];
if (!string.IsNullOrEmpty(emailId))
{
Model.Email_SendTemplate sends = new Model.Email_SendTemplate();
sends = BLL.Email_Send.Email_SendTemplateService.GetEmail_SendTemplate(emailId);
this.rblAutoPostBack.SelectedValue = sends.EmailUserYN.ToString();
this.ddlEmailParamsID.SelectedValue = sends.EmailParamsID.Trim();
this.txtTemplateName.Text = sends.EmailTitle.ToString();
this.txtTemplateCondition.Text = sends.EailTiaoJian.ToString();
this.txtContent.Text = sends.EmailContext.ToString();
}
if (rblAutoPostBack.SelectedValue == "0")
{
ddlSendUserName.Hidden = true;
ddlccUserName.Hidden = true;
ddlSendRole.Hidden = true;
ddlccRole.Hidden = true;
}
else if (rblAutoPostBack.SelectedValue == "1")//选择人
{
//发送人
var people1 = BLL.Email_Send.Email_ToPeopleService.GetSenderTopeopleList(emailId);
if (people1.Count == 0 || people1 == null)
{ }
else
{
this.ddlSendUserName.Values = people1.Select(o => o.EmuserID).ToArray();
this.ddlSendUserName.Texts = people1.Select(o => o.EmuserName).ToArray();
}
//抄送人
var people2 = BLL.Email_Send.Email_ToPeopleService.GetCCTopeopleList(emailId);
if (people2.Count == 0 || people2 == null)
{ }
else
{
this.ddlccUserName.Values = people2.Select(o => o.EmuserID).ToArray();
this.ddlccUserName.Texts = people2.Select(o => o.EmuserName).ToArray();
}
ddlSendUserName.Hidden = false;
ddlccUserName.Hidden = false;
ddlSendRole.Hidden = true;
ddlccRole.Hidden = true;
}
else if (rblAutoPostBack.SelectedValue == "2")//选择角色
{
//发送人
var people1 = BLL.Email_Send.Email_ToPeopleService.GetSenderTopeopleList(emailId);
if (people1.Count == 0 || people1 == null)
{ }
else
{
this.ddlSendRole.Values = people1.Select(o => o.EmuserID).ToArray();
this.ddlSendRole.Texts = people1.Select(o => o.EmuserName).ToArray();
}
//抄送人
var people2 = BLL.Email_Send.Email_ToPeopleService.GetCCTopeopleList(emailId);
if (people2.Count == 0 || people2 == null)
{ }
else
{
this.ddlccRole.Values = people2.Select(o => o.EmuserID).ToArray();
this.ddlccRole.Texts = people2.Select(o => o.EmuserName).ToArray();
}
ddlSendUserName.Hidden = true;
ddlccUserName.Hidden = true;
ddlSendRole.Hidden = false;
ddlccRole.Hidden = false;
}
}
}
#region
private void BindEmailParamsDropDownList()
{
List<Model.Email_Params> email_Params = new List<Model.Email_Params>();
email_Params = BLL.Email_Send.Email_ParamsService.GetEmail_ParamsList();
ddlEmailParamsID.DataTextField = "MailClassName";
ddlEmailParamsID.DataValueField = "MailClassID";
ddlEmailParamsID.DataSource = email_Params;
ddlEmailParamsID.DataBind();
}
#endregion
protected void rblAutoPostBack_SelectedIndexChanged(object sender, EventArgs e)
{
//ShowNotify("列表三选中项的值:" + rblAutoPostBack.SelectedValue);
if (rblAutoPostBack.SelectedValue == "0")
{
ddlccUserName.Value = string.Empty;
ddlccUserName.Hidden = true;
ddlSendUserName.Value = string.Empty;
ddlSendUserName.Hidden = true;
ddlccRole.Value = string.Empty;
ddlccRole.Hidden = true;
ddlSendRole.Value = string.Empty;
ddlSendRole.Hidden = true;
}
else if (rblAutoPostBack.SelectedValue == "1")
{
ddlSendUserName.Hidden = false;
ddlccUserName.Hidden = false;
ddlSendRole.Hidden = true;
ddlccRole.Hidden = true;
}
else if (rblAutoPostBack.SelectedValue == "2")
{
ddlSendUserName.Hidden = true;
ddlccUserName.Hidden = true;
ddlSendRole.Hidden = false;
ddlccRole.Hidden = false;
}
}
protected void btnSave_Click(object sender, EventArgs e)
{
string emailId = Request.Params["id"];
if (rblAutoPostBack.SelectedValue == "1")
{
//发送人id 集合
List<Model.Sys_User> SenduserList = new List<Model.Sys_User>();
if (!string.IsNullOrEmpty(this.ddlSendUserName.Value))
{
string[] toUserId = this.ddlSendUserName.Values;
List<Model.Sys_User> usList = BLL.Sys_UserService.GetUserList();
foreach (var item in toUserId)
{
string itemstr = item.Trim();
Model.Sys_User syuser = new Model.Sys_User();
syuser = usList.Where(o => o.UserId == itemstr).FirstOrDefault();
SenduserList.Add(syuser);
}
}
//抄送人集合
List<Model.Sys_User> CCuserList = new List<Model.Sys_User>();
if (!string.IsNullOrEmpty(this.ddlccUserName.Value))
{
string[] toUserId = this.ddlccUserName.Values;
List<Model.Sys_User> usList = BLL.Sys_UserService.GetUserList();
foreach (var item in toUserId)
{
string itemstr = item.Trim();
Model.Sys_User syuser = new Model.Sys_User();
syuser = usList.Where(o => o.UserId == itemstr).FirstOrDefault();
CCuserList.Add(syuser);
}
}
List<Model.Email_ToPeople> tplist = null;
if (string.IsNullOrEmpty(emailId))
{
Model.Email_SendTemplate temp = new Model.Email_SendTemplate();
temp.EmailParamsID = ddlEmailParamsID.SelectedValue.ToString();
temp.EmailId = Guid.NewGuid().ToString();
temp.EmailTitle = txtTemplateName.Text.Trim();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
List<Model.Email_SendTemplate> stlist = new List<Model.Email_SendTemplate>();
stlist = BLL.Email_Send.Email_SendTemplateService.GetEmailNotifierList(temp.EmailParamsID);
if (stlist == null || stlist.Count == 0)
{
tplist = new List<Model.Email_ToPeople>();
//发送人
if (SenduserList != null || SenduserList.Count != 0)
{
foreach (var item in SenduserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.UserId.ToString();
tep.EmuserName = item.UserName.ToString();
tep.EMPeopleType = BLL.Const.SenderType;
tep.EmuaerEmailAddress = item.Email.ToString();
tplist.Add(tep);
}
}
//抄送人保存
if (CCuserList != null || CCuserList.Count != 0)
{
foreach (var item in CCuserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.UserId.ToString();
tep.EmuserName = item.UserName.ToString();
tep.EMPeopleType = BLL.Const.CCType;
tep.EmuaerEmailAddress = item.Email.ToString();
tplist.Add(tep);
}
}
temp.CreateName = this.CurrUser.UserName;
temp.CreateTime = DateTime.Now;
BLL.Email_Send.Email_SendTemplateService.Add(temp, tplist);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add SendEmailTemplate!");
}
else
{
ShowNotify("Cannot Be Created Repeatedly!", MessageBoxIcon.Error);
return;
}
}
else
{
Model.Email_SendTemplate temp = BLL.Email_Send.Email_SendTemplateService.GetEmail_SendTemplate(emailId);
temp.EmailId = emailId;
temp.EmailParamsID = ddlEmailParamsID.SelectedValue.ToString();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailTitle = this.txtTemplateName.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
temp.UpdateName = this.CurrUser.UserName;
temp.UpdateTime = DateTime.Now;
tplist = new List<Model.Email_ToPeople>();
if (SenduserList != null || SenduserList.Count != 0)
{
foreach (var item in SenduserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = emailId;
tep.EmuserID = item.UserId.ToString();
tep.EMPeopleType = BLL.Const.SenderType;
tep.EmuserName = item.UserName.ToString();
tep.EmuaerEmailAddress = item.Email.ToString();
tplist.Add(tep);
}
}
//抄送人保存
if (CCuserList.Count != 0 || CCuserList != null)
{
foreach (var item in CCuserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.UserId.ToString();
tep.EmuserName = item.UserName.ToString();
tep.EMPeopleType = BLL.Const.CCType;
tep.EmuaerEmailAddress = item.Email.ToString();
tplist.Add(tep);
}
}
BLL.Email_Send.Email_SendTemplateService.Update(temp, tplist);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Update SendEmailTemplate!");
}
}
else if (rblAutoPostBack.SelectedValue == "2")
{
//发送人id 集合
List<Model.Sys_Role> SenduserList = new List<Model.Sys_Role>();
if (!string.IsNullOrEmpty(this.ddlSendRole.Value))
{
string[] toRoleId = this.ddlSendRole.Values;
List<Model.Sys_Role> usRoleList = BLL.Sys_RoleService.GetRoleList();
foreach (var item in toRoleId)
{
string itemstr = item.Trim();
Model.Sys_Role syuser = new Model.Sys_Role();
syuser = usRoleList.Where(o => o.RoleId == itemstr).FirstOrDefault();
SenduserList.Add(syuser);
}
}
//抄送人集合
List<Model.Sys_Role> CCuserList = new List<Model.Sys_Role>();
if (!string.IsNullOrEmpty(this.ddlccRole.Value))
{
string[] toUserId = this.ddlccRole.Values;
List<Model.Sys_Role> usList = BLL.Sys_RoleService.GetRoleList();
foreach (var item in toUserId)
{
string itemstr = item.Trim();
Model.Sys_Role syuser = new Model.Sys_Role();
syuser = usList.Where(o => o.RoleId == itemstr).FirstOrDefault();
CCuserList.Add(syuser);
}
}
List<Model.Email_ToPeople> tplist = null;
if (string.IsNullOrEmpty(emailId))
{
Model.Email_SendTemplate temp = new Model.Email_SendTemplate();
temp.EmailParamsID = ddlEmailParamsID.SelectedValue.ToString();
temp.EmailId = Guid.NewGuid().ToString();
temp.EmailTitle = txtTemplateName.Text.Trim();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
List<Model.Email_SendTemplate> stlist = new List<Model.Email_SendTemplate>();
stlist = BLL.Email_Send.Email_SendTemplateService.GetEmailNotifierList(temp.EmailParamsID);
if (stlist == null || stlist.Count == 0)
{
tplist = new List<Model.Email_ToPeople>();
//发送人
if (SenduserList != null || SenduserList.Count != 0)
{
foreach (var item in SenduserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.RoleId.ToString();
tep.EmuserName = item.RoleName.ToString();
tep.EMPeopleType = BLL.Const.SenderType;
tep.EmuaerEmailAddress = string.Empty;
tplist.Add(tep);
}
}
//抄送人保存
if (CCuserList != null || CCuserList.Count != 0)
{
foreach (var item in CCuserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.RoleId.ToString();
tep.EmuserName = item.RoleName.ToString();
tep.EMPeopleType = BLL.Const.CCType;
tep.EmuaerEmailAddress = string.Empty;
tplist.Add(tep);
}
}
temp.CreateName = this.CurrUser.UserName;
temp.CreateTime = DateTime.Now;
BLL.Email_Send.Email_SendTemplateService.Add(temp, tplist);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add SendEmailTemplate!");
}
else
{
ShowNotify("Cannot Be Created Repeatedly!", MessageBoxIcon.Error);
return;
}
}
else
{
Model.Email_SendTemplate temp = BLL.Email_Send.Email_SendTemplateService.GetEmail_SendTemplate(emailId);
temp.EmailId = emailId;
temp.EmailParamsID = ddlEmailParamsID.SelectedValue.ToString();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailTitle = this.txtTemplateName.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
temp.UpdateName = this.CurrUser.UserName;
temp.UpdateTime = DateTime.Now;
tplist = new List<Model.Email_ToPeople>();
if (SenduserList != null || SenduserList.Count != 0)
{
foreach (var item in SenduserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = emailId;
tep.EmuserID = item.RoleId.ToString();
tep.EMPeopleType = BLL.Const.SenderType;
tep.EmuserName = item.RoleName.ToString();
tep.EmuaerEmailAddress = string.Empty;
tplist.Add(tep);
}
}
//抄送人保存
if (CCuserList.Count != 0 || CCuserList != null)
{
foreach (var item in CCuserList)
{
Model.Email_ToPeople tep = new Model.Email_ToPeople();
tep.EmID = Guid.NewGuid().ToString();
tep.EmtempID = temp.EmailId;
tep.EmuserID = item.RoleId.ToString();
tep.EmuserName = item.RoleName.ToString();
tep.EMPeopleType = BLL.Const.CCType;
tep.EmuaerEmailAddress = string.Empty;
tplist.Add(tep);
}
}
BLL.Email_Send.Email_SendTemplateService.Update(temp, tplist);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Update SendEmailTemplate!");
}
}
else {
List<Model.Email_ToPeople> tplist = null;
if (string.IsNullOrEmpty(emailId))
{
Model.Email_SendTemplate temp = BLL.Email_Send.Email_SendTemplateService.GetEmail_SendTemplate(emailId);
if (temp==null)
{
temp = new Model.Email_SendTemplate();
temp.EmailId = Guid.NewGuid().ToString();
}
else
{
temp.EmailId = emailId;
}
temp.EmailParamsID = ddlEmailParamsID.SelectedValue.ToString();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailTitle = this.txtTemplateName.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
temp.UpdateName = this.CurrUser.UserName;
temp.UpdateTime = DateTime.Now;
BLL.Email_Send.Email_SendTemplateService.Add(temp, tplist);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Add SendEmailTemplate!");
}
else {
Model.Email_SendTemplate temp = BLL.Email_Send.Email_SendTemplateService.GetEmail_SendTemplate(emailId);
if (temp == null)
{
temp = new Model.Email_SendTemplate();
temp.EmailId = Guid.NewGuid().ToString();
}
else
{
temp.EmailId = emailId;
}
temp.EmailParamsID = ddlEmailParamsID.SelectedValue.ToString();
temp.EailTiaoJian = txtTemplateCondition.Text.Trim();
temp.EmailTitle = this.txtTemplateName.Text.Trim();
temp.EmailContext = this.txtContent.Text;
temp.EmailUserYN = Convert.ToInt32(rblAutoPostBack.SelectedValue);
temp.UpdateName = this.CurrUser.UserName;
temp.UpdateTime = DateTime.Now;
BLL.Email_Send.Email_SendTemplateService.Update(temp, tplist);
BLL.Sys_LogService.AddLog(this.CurrUser.UserId, "Update SendEmailTemplate!");
}
}
ShowNotify("Save Successfully!", MessageBoxIcon.Success);
PageContext.RegisterStartupScript(ActiveWindow.GetHidePostBackReference());
}
}
}