You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1194 lines
59 KiB

using EasyBL.WebApi;
using EasyBL.WebApi.Common;
using EasyBL.WebApi.Message;
using EasyNet;
using Entity.ShowEasyDtos;
using Entity.Sugar;
using Entity.ViewModels;
using Newtonsoft.Json;
using SqlSugar;
using SqlSugar.Base;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http;
using System.Text;
using System.Web;
using System.Net.Mail;
using EasyBL.WEBAPP.ShowEasy;
namespace EasyBL.WEBAPP.SYS
{
public class SignupService : ServiceBase
{
//public static string SERVER_IP = "localhost";
// public static string SERVER_PORT = "3466";
//public static string SERVER_IP = "www.origtek.com";
//public static string SERVER_PORT = "9105";
//使用者以信箱註冊(連結)
public HttpResponseMessage SignupWithEmail_Link(SETB_CMS_Member newUser)
{
//string sMsg = null;
SuccessResponseMessage srm = null;
var db = SugarBase.GetIntance();
string sError = null;
try {
do
{
string sAccount = newUser.Email;
string sPassword = newUser.Password;
string sEmail = newUser.Email;
string sFirstName = newUser.FirstName;
string sLastName = newUser.LastName;
//string sSubscribe = newUser.Subscribe;
string sMemberID = Guid.NewGuid().ToString(); //會員編號為GUID
string sOrgID = "TG"; //公司編號預設為TG
string sStatus = "0"; //會員狀態為未驗證(F)
string sType = "Email";
var checkAccount = db.Queryable<SETB_CMS_Member>()
.Where(x => x.OrgID == sOrgID && x.Account == sAccount)
.Count();
if (checkAccount > 0)
{
sError = @"該帳號已註冊"; //該帳號無效
break;
}
string sEncryptPwd = SecurityUtil.Encrypt(sPassword); //密碼加密
newUser.MemberID = sMemberID;
newUser.OrgID = sOrgID;
newUser.Status = sStatus;
newUser.Password = sEncryptPwd;
newUser.Account = newUser.Email;
newUser.MemberType = sType;
var iRel = db.Insertable(newUser).ExecuteCommand();
//開始寄信
var oEmail = new Emails(); //寄件人
var toEmail = new List<EmailTo>(); //收件人
var oEmailTo = new EmailTo //收件人資訊
{
ToUserID = newUser.MemberID,
ToUserName = newUser.LastName,
ToEmail = newUser.Email,
Type = "to"
};
toEmail.Add(oEmailTo);
oEmail.FromUserName = " ShowEasy 簡單平台股份有限公司";
oEmail.FromEmail = "No-Reply@showeasy.com";
oEmail.FromUserName = "【ShowEasy 會員認證】"; //取fonfig
oEmail.Title = "感謝您註冊ShowEasy"; //取fonfig
oEmail.EmailBody = VerifyAccount_Mail(newUser.OrgID, newUser.MemberID, newUser.FirstName);
oEmail.IsCCSelf = false;
oEmail.Attachments = null;
oEmail.EmailTo = toEmail;
var bSend = new MailService(sOrgID, true).MailFactory(oEmail, out sError);
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, newUser);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
}
finally
{
if (null != sError)
{
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.ParameterError,
MSG = sError
};
}
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
//使用者以信箱註冊(認證碼)
public HttpResponseMessage SignupWithEmail(SETB_CMS_Member newUser)
{
//string sMsg = null;
SuccessResponseMessage srm = null;
var db = SugarBase.GetIntance();
string sError = null;
try
{
do
{
string sAccount = newUser.Email;
string sPassword = newUser.Password;
string sEmail = newUser.Email;
string sFirstName = newUser.FirstName;
string sLastName = newUser.LastName;
//string sSubscribe = newUser.Subscribe;
string sMemberID = Guid.NewGuid().ToString(); //會員編號為GUID
string sOrgID = "TG"; //公司編號預設為TG
string sStatus = "0"; //會員狀態為未驗證
string sType = "Email";
var RandomTest = 6;
string[] strings = new string[RandomTest];
string[] str = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
Random r = new Random();
string sRandom = "";
for(int i = 0; i< RandomTest; i++)
{
sRandom += str[r.Next(str.Length)];
}
var checkAccount = db.Queryable<SETB_CMS_Member>()
.Where(x => x.OrgID == sOrgID && x.Account == sAccount)
.Count();
if (checkAccount > 0)
{
sError = @"該帳號已註冊"; //該帳號無效
break;
}
string sEncryptPwd = SecurityUtil.Encrypt(sPassword); //密碼加密
newUser.MemberID = sMemberID;
newUser.OrgID = sOrgID;
newUser.Status = sStatus;
newUser.Password = sEncryptPwd;
newUser.Account = newUser.Email;
newUser.MemberType = sType;
newUser.VerifyCode = sRandom; //認證碼
var iExpireTime = 5; //(5分鐘到期)
var sExpireTime = Common.GetSystemSetting(db, sOrgID, @"VerifyCodeExpireTime");
if (!string.IsNullOrEmpty(sExpireTime))
{
iExpireTime = int.Parse(sExpireTime);
}
newUser.ExpireTime = DateTime.Now.AddMinutes(iExpireTime);
var iRel = db.Insertable(newUser).ExecuteCommand();
//開始寄信
var oEmail = new Emails(); //寄件人
var toEmail = new List<EmailTo>(); //收件人
var oEmailTo = new EmailTo //收件人資訊
{
ToUserID = newUser.MemberID,
ToUserName = newUser.LastName,
ToEmail = newUser.Email,
Type = "to"
};
toEmail.Add(oEmailTo);
oEmail.FromUserName = " ShowEasy 簡單平台股份有限公司";
oEmail.FromEmail = "No-Reply@showeasy.com";
oEmail.FromUserName = "【ShowEasy 會員認證】"; //取fonfig
oEmail.Title = "感謝您註冊ShowEasy"; //取fonfig
oEmail.EmailBody = VerifyAccountWithCode_Mail(newUser.FirstName, newUser.VerifyCode);
oEmail.IsCCSelf = false;
oEmail.Attachments = null;
oEmail.EmailTo = toEmail;
var bSend = new MailService(sOrgID, true).MailFactory(oEmail, out sError);
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, newUser);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
}
finally
{
if (null != sError)
{
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.ParameterError,
MSG = sError
};
}
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
//重新寄送認證信
public HttpResponseMessage ReSendVerifyMail(string Email)
{
//string sMsg = null;
SuccessResponseMessage srm = SugarBase.ExecTran(db =>
{
do
{
var User = db.Queryable<SETB_CMS_Member>().Single(x => x.Email == Email); //找會員
string sOrgID = User.OrgID;
//每次重新寄出都要更新認證碼
var RandomTest = 6;
string[] strings = new string[RandomTest];
string[] str = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" };
Random r = new Random();
string sRandom = "";
for (int i = 0; i < RandomTest; i++)
{
sRandom += str[r.Next(str.Length)];
}
//每次重新寄出都要更新時效
var iExpireTime = 5; //(5分鐘到期)
var sExpireTime = Common.GetSystemSetting(db, sOrgID, @"VerifyCodeExpireTime");
if (!string.IsNullOrEmpty(sExpireTime))
{
iExpireTime = int.Parse(sExpireTime);
}
var aExpireTime = DateTime.Now.AddMinutes(iExpireTime);
var newVerifyCode = db.Updateable<SETB_CMS_Member>() //更新認證碼
.UpdateColumns(x => new SETB_CMS_Member { VerifyCode = sRandom, ExpireTime = aExpireTime })
.Where(x => x.Email == Email)
.ExecuteCommand();
var Mailto = db.Queryable<SETB_CMS_Member>().Single(x => x.Email == Email); //找會員
string sError = "";
var oEmail = new Emails(); //寄件人
var toEmail = new List<EmailTo>(); //收件人
var oEmailTo = new EmailTo //收件人資訊
{
ToUserID = Mailto.MemberID,
ToUserName = Mailto.LastName,
ToEmail = Mailto.Email,
Type = "to"
};
toEmail.Add(oEmailTo);
oEmail.FromUserName = "【ShowEasy 會員認證】"; //取fonfig
oEmail.Title = "感謝您註冊ShowEasy"; //取fonfig
oEmail.EmailBody = VerifyAccountWithCode_Mail(Mailto.FirstName, Mailto.VerifyCode);
oEmail.IsCCSelf = false;
oEmail.Attachments = null;
oEmail.EmailTo = toEmail;
var bSend = new MailService(sOrgID, true).MailFactory(oEmail, out sError);
//if (sError != null)
//{
// break;
//}
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, Mailto);
} while (false);
return srm;
});
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
//會員認證(連結)
public HttpResponseMessage VerifyAccount_Link(string OrgID, string MemberID)
{
//string sMsg = null;
SuccessResponseMessage srm = SugarBase.ExecTran(db =>
{
do
{
var oUser = db.Queryable<SETB_CMS_Member>().Single(x => x.OrgID == OrgID && x.MemberID == MemberID);
oUser.Status = "1"; //註冊成功
var iRel = db.Updateable(oUser).ExecuteCommand();
//注冊成功后默認登錄
var ticket = new OTB_SYS_TicketAuth
{
OrgID = oUser.OrgID,
UserID = oUser.Account,
UserName = oUser.FirstName,
Token = SignExtension.CreateToken(),
// LoginIp = i_crm.ClientIP,
LoginTime = DateTime.Now
};
var iExpireTime = 240;
var sExpireTime = Common.GetSystemSetting(db, oUser.OrgID, @"ExpireTime");
if (!string.IsNullOrEmpty(sExpireTime))
{
iExpireTime = int.Parse(sExpireTime);
}
else
{
iExpireTime = int.Parse(Common.GetAppSettings(@"ExpireTime"));
}
ticket.ExpireTime = DateTime.Now.AddMinutes(iExpireTime); //30分钟过期
ticket.IsVerify = @"Y";
var oTicket = db.Queryable<OTB_SYS_TicketAuth>().Single(x => x.OrgID == OrgID && x.UserID == oUser.Account);
if (oTicket != null)
{
db.Updateable(ticket).IgnoreColumns(x => x.OutlookId).Where(x => x.NO == oTicket.NO).ExecuteCommand();
}
else
{
ticket.CreateTime = DateTime.Now;
db.Insertable(ticket).ExecuteCommand();
}
//記錄log日誌
db.Insertable(new OTB_SYS_LoginLog
{
OrgId = ticket.OrgID,
UserId = ticket.UserID,
UserName = ticket.UserName,
LoginIp = ticket.LoginIp,
LoginTime = ticket.LoginTime
}).ExecuteCommand();
HttpRuntimeCache.Set(ticket.OrgID + ticket.UserID, ticket, iExpireTime * 60, true);
HttpContext.Current.Session.Add(@"orgid", ticket.OrgID);
HttpContext.Current.Session.Add(@"userid", ticket.UserID);
HttpCookie cookie = new HttpCookie("EURO_COOKIE"); //初始化並設置Cookie的名稱
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0); //過期時間為1分鐘
cookie.Expires = dt.Add(ts); //設置過期時間
cookie.Values.Add("orgid", ticket.OrgID);
cookie.Values.Add("userid", ticket.UserID);
HttpContext.Current.Response.AppendCookie(cookie);
var strtoken = string.Format(@"orgid:{0},userid:{1},token:{2}", ticket.OrgID, ticket.UserID, ticket.Token);
//開始寄信
var sError = "";
var sOrgID = oUser.OrgID;
var oEmail = new Emails(); //寄件人
var toEmail = new List<EmailTo>(); //收件人
var oEmailTo = new EmailTo //收件人資訊
{
ToUserID = oUser.MemberID,
ToUserName = oUser.LastName,
ToEmail = oUser.Email,
Type = "to"
};
toEmail.Add(oEmailTo);
oEmail.FromUserName = "【ShowEasy 認證成功】"; //取fonfig
oEmail.Title = "歡迎加入ShowEasy🧡"; //取fonfig
oEmail.EmailBody = CompleteRegistration_Mail(oUser.FirstName);
oEmail.IsCCSelf = false;
oEmail.Attachments = null;
oEmail.EmailTo = toEmail;
var bSend = new MailService(sOrgID, true).MailFactory(oEmail, out sError);
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add("authtoken", SecurityUtil.Encrypt(strtoken));
} while (false);
return srm;
});
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
//會員認證(認證碼)
public HttpResponseMessage VerifyAccount(string OrgID, string MemberID, string Code)
{
SuccessResponseMessage srm = null;
string sError = null;
var db = SugarBase.GetIntance();
int errorStaus = 500;
try
{
do
{
var oUser = db.Queryable<SETB_CMS_Member>().Single(x => x.OrgID == OrgID && x.MemberID == MemberID);
var Time = DateTime.Now; //取當下時間
if(Time > oUser.ExpireTime)
{
sError = @"認證時間已過期"; //驗證碼輸入錯誤
errorStaus = (int)StatusCodeEnum.TokenVerifyFailed;
break;
}
else
{
if (!string.IsNullOrEmpty(Code))
{
if (Code == oUser.VerifyCode)
{
oUser.Status = "1"; //註冊成功
}
else
{
sError = @"驗證碼輸入錯誤"; //驗證碼輸入錯誤
errorStaus = (int)StatusCodeEnum.Error;
break;
}
}
}
var iRel = db.Updateable(oUser).ExecuteCommand();
//注冊成功后默認登錄
var ticket = new OTB_SYS_TicketAuth
{
OrgID = oUser.OrgID,
UserID = oUser.Account,
UserName = oUser.FirstName,
Token = SignExtension.CreateToken(),
// LoginIp = i_crm.ClientIP,
LoginTime = DateTime.Now
};
var iExpireTime = 240;
var sExpireTime = Common.GetSystemSetting(db, oUser.OrgID, @"ExpireTime");
if (!string.IsNullOrEmpty(sExpireTime))
{
iExpireTime = int.Parse(sExpireTime);
}
else
{
iExpireTime = int.Parse(Common.GetAppSettings(@"ExpireTime"));
}
ticket.ExpireTime = DateTime.Now.AddMinutes(iExpireTime); //30分钟过期
ticket.IsVerify = @"Y";
var oTicket = db.Queryable<OTB_SYS_TicketAuth>().Single(x => x.OrgID == OrgID && x.UserID == oUser.Account);
if (oTicket != null)
{
db.Updateable(ticket).IgnoreColumns(x => x.OutlookId).Where(x => x.NO == oTicket.NO).ExecuteCommand();
}
else
{
ticket.CreateTime = DateTime.Now;
db.Insertable(ticket).ExecuteCommand();
}
//記錄log日誌
db.Insertable(new OTB_SYS_LoginLog
{
OrgId = ticket.OrgID,
UserId = ticket.UserID,
UserName = ticket.UserName,
LoginIp = ticket.LoginIp,
LoginTime = ticket.LoginTime
}).ExecuteCommand();
HttpRuntimeCache.Set(ticket.OrgID + ticket.UserID, ticket, iExpireTime * 60, true);
HttpContext.Current.Session.Add(@"orgid", ticket.OrgID);
HttpContext.Current.Session.Add(@"userid", ticket.UserID);
HttpCookie cookie = new HttpCookie("EURO_COOKIE"); //初始化並設置Cookie的名稱
DateTime dt = DateTime.Now;
TimeSpan ts = new TimeSpan(0, 0, 1, 0, 0); //過期時間為1分鐘
cookie.Expires = dt.Add(ts); //設置過期時間
cookie.Values.Add("orgid", ticket.OrgID);
cookie.Values.Add("userid", ticket.UserID);
HttpContext.Current.Response.AppendCookie(cookie);
var strtoken = string.Format(@"orgid:{0},userid:{1},token:{2}", ticket.OrgID, ticket.UserID, ticket.Token);
//開始寄信
var sOrgID = oUser.OrgID;
var oEmail = new Emails(); //寄件人
var toEmail = new List<EmailTo>(); //收件人
var oEmailTo = new EmailTo //收件人資訊
{
ToUserID = oUser.MemberID,
ToUserName = oUser.LastName,
ToEmail = oUser.Email,
Type = "to"
};
toEmail.Add(oEmailTo);
oEmail.FromUserName = "【ShowEasy 認證成功】"; //取fonfig
oEmail.Title = "歡迎加入ShowEasy🧡"; //取fonfig
oEmail.EmailBody = CompleteRegistration_Mail(oUser.FirstName);
oEmail.IsCCSelf = false;
oEmail.Attachments = null;
oEmail.EmailTo = toEmail;
var bSend = new MailService(sOrgID, true).MailFactory(oEmail, out sError);
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add("authtoken", SecurityUtil.Encrypt(strtoken));
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
System.Diagnostics.Debug.WriteLine(sError);
}
finally
{
if (null != sError)
{
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = errorStaus,
MSG = sError
};
}
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
//Verify Account Mail Template(連結)
private string VerifyAccount_Mail(string OrgID, string MemberID, string FirstName)
{
StringBuilder sb = new StringBuilder();
EmailTemplate_CH mailTemplate = new EmailTemplate_CH();
var Server = Common.ConfigGetValue("", "ida:RedirectUri");
sb.Append(mailTemplate.MailHeader());
sb.Append(mailTemplate.MailCSS());
sb.Append(mailTemplate.MailShowEasyLogo());
//Email Body
sb.Append("<tr>");
sb.Append("<td style = \"padding: 0 50px 0 50px; background-color: #f8f8f8\" class=\"sm-p bar\">");
sb.Append("<table border=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"width: 100%\">");
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<table border = \"0\" cellpadding = \"0\" cellspacing = \"0\" role = \"presentation\" align = \"center\"> ");
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block; padding-top: 30px; padding-left: 20px; padding-right: 0; font-family: arial, sans-serif; color: #000000; text-align: left;\"> ");
sb.Append("<img class=\"confirm-img\" style = \"display: block\" src = \"https://d3kpqi6h465b7i.cloudfront.net/email/verifyAccount.png \" width = \"50\" height = \"50\"/> ");
sb.Append("</td>");
sb.Append("</tr>");
//Text:VerifyYourAccount
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 30px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left\";>");
sb.Append("<h1 class=\"title1\" style = \"font-family: 'arial', 'sans-serif'; font-weight: 700; font-size: 20px; line-height: 18px; color: #000000; margin: 0 0 0 0;\">");
sb.Append("EMAIL認證信");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Hi,xxx
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 35px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left;\">");
sb.Append("<h1 class=\"title1\" style = \"font-family: 'arial', 'sans-serif';font-weight: 700;font-size: 20px;line-height: 20px;color: #000000;margin: 0 0 0 0;\">");
sb.Append("您好 " + FirstName + ",");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Welcome to....
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" width = \"440px\" style = \"display: block;padding-top: 10px;padding-left: 20px;padding-right: 0;color: #9c9c9c;text-align: left;\">");
sb.Append("<p style = \"font-weight: 400;font-size: 16px;line-height: 18px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("歡迎您加入ShowEasy成為會員!<br />");
sb.Append("請點選<span style=\"color: #f48800;\">會員認證</span>完成註冊並啟用您的帳戶</br>");
sb.Append("<br />");
sb.Append("提醒您,下方連結將於30分鐘後失效</br>");
//sb.Append("in 30 minutes.");
sb.Append("</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</tr>");
//Button:Verify my account
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" style = \"display: block;padding-top: 35px;font-family: arial, sans-serif;color: #232323;text-align: left;width: 460px;\"> ");
sb.Append("<table align = \"center\" border = \"0\" cellspacing = \"0\" role = \"presentation\">");
sb.Append("<tr>");
sb.Append("<td class=\"s-btn s-btn__primary\" style=\"border-radius: 16px; background: #ee9546\">");
sb.Append("<a class=\"s-btn s-btn__primary\" href=\"");
sb.Append(Server + "/api/Signup/VerifyAccount?OrgID=" + OrgID + "&MemberID=" + MemberID);
//sb.Append(Server + "/api/Signup/VerifyAccount?OrgID=" + OrgID + "&MemberID=" + MemberID);
sb.Append(" \" target=\"_parent\" style=\"background: #ee9546;border: 1px solid #ee9546;font-family: arial, sans-serif; font-size: 14px;line-height: 16px; color: #ffffff;text-align: center;text-decoration: none;padding: 12px 20px; display: block; border-radius: 16px; white-space: nowrap;\">");
sb.Append("會員認證");
sb.Append("</a>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
//If the button isn't working, you can click
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" width = \"440px\" style = \"display: block;padding-bottom: 30px;padding-top: 30px;padding-left: 0;padding-right: 0;color: #9c9c9c;text-align: center;width: 460px;\">");
sb.Append("<p style = \"font-weight: 400;font-size: 16px;line-height: 16px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("如果按鈕無法點擊,你可以直接點擊");
sb.Append("<a href =\"");
sb.Append(Server + "/api/Signup/VerifyAccount?OrgID=" + OrgID + "&MemberID=" + MemberID);
sb.Append("\" style = \"color: #7997ff;font-size: 16px;font-weight: 400;font-family: 'Arial', '微軟正黑體','Microsoft JhengHei', 'Helvetica Neue',Helvetica, Arial, sans-serif;padding: 0;margin: 0;text-align: center;padding-left: 0px;padding-right: 30px;padding-top: 4px;text-decoration: underline;\">");
sb.Append("<span align=\"center\" width=\"440\">這裡</span>");
sb.Append("</a>");
sb.Append("</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
//sb.Append(mailTemplate.MailButtom());
sb.Append(mailTemplate.MailFooter());
return sb.ToString();
}
//Verify Account Mail Template(認證碼)
private string VerifyAccountWithCode_Mail(string FirstName, string Code)
{
StringBuilder sb = new StringBuilder();
EmailTemplate_CH mailTemplate = new EmailTemplate_CH();
var Server = Common.ConfigGetValue("", "ida:RedirectUri");
sb.Append(mailTemplate.MailHeader());
sb.Append(mailTemplate.MailCSS());
sb.Append(mailTemplate.MailShowEasyLogo());
//Email Body
sb.Append("<tr>");
sb.Append("<td style = \"padding: 0 50px 0 50px; background-color: #f8f8f8\" class=\"sm-p bar\">");
sb.Append("<table border=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"width: 100%\">");
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<table border = \"0\" cellpadding = \"0\" cellspacing = \"0\" role = \"presentation\" align = \"center\"> ");
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block; padding-top: 30px; padding-left: 20px; padding-right: 0; font-family: arial, sans-serif; color: #000000; text-align: left;\"> ");
sb.Append("<img class=\"confirm-img\" style = \"display: block\" src = \"https://d3kpqi6h465b7i.cloudfront.net/email/verifyAccount.png \" width = \"50\" height = \"50\"/> ");
sb.Append("</td>");
sb.Append("</tr>");
//Text:VerifyYourAccount
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 10px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left\";>");
sb.Append("<h1 class=\"title1\" style = \"font-family: 'arial', 'sans-serif'; font-weight: 700; font-size: 24px; line-height: 18px; color: #000000; margin: 0 0 0 0;\">");
sb.Append("EMAIL認證信");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Hi,xxx
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 35px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left;\">");
sb.Append("<h1 class=\"title1\" style = \"font-family: 'arial', 'sans-serif';font-weight: 700;font-size: 20px;line-height: 20px;color: #000000;margin: 0 0 0 0;\">");
sb.Append("您好 " + FirstName + ",");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Welcome to....
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" width = \"440px\" style = \"display: block;padding-top: 20px;padding-left: 20px;padding-right: 0;color: #9c9c9c;text-align: left;\">");
sb.Append("<p style = \"font-weight: 400;font-size: 16px;line-height: 18px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("歡迎您加入ShowEasy成為會員!<br />");
sb.Append("請使用下方的<span style=\"color: #f48800;\">認證碼</span>完成註冊並啟用您的帳戶<br />");
sb.Append("<br />");
sb.Append("提醒您,下方認證碼將於30分鐘後失效<br />");
//sb.Append("in 30 minutes.");
sb.Append("</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</tr>");
//Button:Verify my account
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" style = \"display: block;padding-top: 35px;padding-bottom: 80px;font-family: arial, sans-serif;color: #232323;text-align: left;width: 460px;\"> ");
sb.Append("<table align = \"center\" border = \"0\" cellspacing = \"0\" role = \"presentation\">");
sb.Append("<tr>");
sb.Append("<td class=\"s-btn s-btn__primary\" style=\"border-radius: 16px; background: #f1f1f1;width: 440px;height: 40px;text-align: center;font-weight: bold;font-size: 30px;\">");
sb.Append(Code);
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
//sb.Append(mailTemplate.MailButtom());
sb.Append(mailTemplate.MailFooter());
return sb.ToString();
}
//寄送忘記密碼信
public HttpResponseMessage SendForgotMail(string Email)
{
//string sMsg = null;
SuccessResponseMessage srm = null;
var db = SugarBase.GetIntance();
string sError = null;
try
{
do
{
var Mailto = db.Queryable<SETB_CMS_Member>().First(x => x.Email == Email);
if (Mailto == null)
{
sError = @"帳號或密碼不正確"; //帳號或密碼不正確
break;
}
if (Mailto.Status != "1")
{
sError = Mailto.Status; //該帳號無效
break;
}
var sOrgID = Mailto.OrgID;
//開始寄信
var oEmail = new Emails(); //寄件人
var toEmail = new List<EmailTo>(); //收件人
var oEmailTo = new EmailTo //收件人資訊
{
ToUserID = Mailto.MemberID,
ToUserName = Mailto.LastName,
ToEmail = Mailto.Email,
Type = "to"
};
toEmail.Add(oEmailTo);
oEmail.FromUserName = "【ShowEasy 重設密碼】"; //取fonfig
oEmail.Title = "修改會員密碼"; //取fonfig
oEmail.EmailBody = Forgot_Mail(Mailto.Email, Mailto.FirstName);
oEmail.IsCCSelf = false;
oEmail.Attachments = null;
oEmail.EmailTo = toEmail;
var bSend = new MailService(sOrgID, true).MailFactory(oEmail, out sError);
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, Mailto);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
}
finally
{
if (null != sError)
{
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.TokenVerifyFailed,
MSG = sError
};
}
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
//return srm;
//return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
//Send Forgot Password Mail Template
private string Forgot_Mail(string Email, string FirstName)
{
StringBuilder sb = new StringBuilder();
EmailTemplate_CH mailTemplate = new EmailTemplate_CH();
var Server = Common.ConfigGetValue("", "ida:RedirectUri");
sb.Append(mailTemplate.MailHeader());
sb.Append(mailTemplate.MailCSS());
sb.Append(mailTemplate.MailShowEasyLogo());
//Email Body
sb.Append("<tr>");
sb.Append("<td style = \"padding: 0 50px 0 50px; background-color: #f8f8f8\" class=\"sm-p bar\">");
sb.Append("<table border=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"width: 100%\">");
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<table border = \"0\" cellpadding = \"0\" cellspacing = \"0\" role = \"presentation\" align = \"center\"> ");
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block; padding-top: 30px; padding-left: 20px; padding-right: 0; font-family: arial, sans-serif; color: #000000; text-align: left;\"> ");
sb.Append("<img style = \"display: block\" src = \"https://d3kpqi6h465b7i.cloudfront.net/email/unlock-alt.png \" width = \"50\" height = \"50\"/> ");
sb.Append("</td>");
sb.Append("</tr>");
//Text:VerifyYourAccount
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 30px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left\";>");
sb.Append("<h1 style = \"font-family: 'arial', 'sans-serif'; font-weight: 700; font-size: 20px; line-height: 18px; color: #000000; margin: 0 0 0 0;\">");
sb.Append("密碼重設信");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Hi,xxx
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 35px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left;\">");
sb.Append("<h1 style = \"font-family: 'arial', 'sans-serif';font-weight: 700;font-size: 20px;line-height: 20px;color: #000000;margin: 0 0 0 0;\">");
sb.Append(FirstName + ",");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:oh no....
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" width = \"440px\" style = \"display: block;padding-top: 10px;padding-left: 20px;padding-right: 0;color: #9c9c9c;text-align: left;\">");
sb.Append("<p style = \"font-weight: 400;font-size: 16px;line-height: 18px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("喔不您忘記您的密碼了嗎?<br />");
sb.Append("沒關係,我們一直都在!<br />");
sb.Append("<br />");
sb.Append("請點選<span style=\"color: #f48800;\">重設密碼</span>重新設置一個新的密碼</br>");
sb.Append("提醒您,下方連結將於30分鐘後失效<br />");
sb.Append("<br />");
sb.Append("<span style=\"color: #faae69;\">如果您沒有申請重設您的密碼請忽略這封信</span></br>");
//sb.Append("<span style=\"color: #faae69;\">this mail.</span></br>");
sb.Append("</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</tr>");
//Button:Reset password
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" style = \"display: block;padding-top: 35px;font-family: arial, sans-serif;color: #232323;text-align: left;width: 460px;\"> ");
sb.Append("<table align = \"center\" border = \"0\" cellspacing = \"0\" role = \"presentation\">");
sb.Append("<tr>");
sb.Append("<td class=\"s-btn s-btn__primary\" style=\"border-radius: 16px; background: #ee9546\">");
sb.Append("<a class=\"s-btn s-btn__primary\" href=\"");
//sb.Append(Server + "/api/Signup/ResetPage?Email=" + Email);
sb.Append(Server + "/api/Signup/ResetPage?Email=" + Email);
//sb.Append(Server + "/api/Signup/ResetPage?Email=" + Email);
sb.Append(" \" target=\"_parent\" style=\"background: #ee9546;border: 1px solid #ee9546;font-family: arial, sans-serif; font-size: 14px;line-height: 16px; color: #ffffff;text-align: center;text-decoration: none;padding: 12px 20px; display: block; border-radius: 16px; white-space: nowrap;\">");
sb.Append("重設密碼");
sb.Append("</a>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
//If the button isn't working, you can click
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" width = \"440px\" style = \"display: block;padding-bottom: 30px;padding-top: 30px;padding-left: 0;padding-right: 0;color: #9c9c9c;text-align: center;width: 460px;\">");
sb.Append("<p style = \"font-weight: 400;font-size: 16px;line-height: 16px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("如果按鈕無法點擊,你可以直接點擊");
sb.Append("<a href =\"");
sb.Append(Server + "/api/Signup/ResetPage?Email=" + Email);
sb.Append("\" style = \"color: #7997ff;font-size: 12px;font-weight: 400;font-family: 'Arial', '微軟正黑體','Microsoft JhengHei', 'Helvetica Neue',Helvetica, Arial, sans-serif;padding: 0;margin: 0;text-align: center;padding-left: 0px;padding-right: 30px;padding-top: 4px;text-decoration: underline;\">");
sb.Append("<span align=\"center\" width=\"340\">這裡</span>");
sb.Append("</a>");
sb.Append("</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
//sb.Append(mailTemplate.MailButtom());
sb.Append(mailTemplate.MailFooter());
return sb.ToString();
}
//確認要修改密碼(導向修改密碼的頁面)
public HttpResponseMessage ResetPage(string Email)
{
//string sMsg = null;
SuccessResponseMessage srm = SugarBase.ExecTran(db =>
{
do
{
var sUser = db.Queryable<SETB_CMS_Member>().Single(x => x.Email == Email);
string sAccount = sUser.Account;
string sPassword = sUser.Password;
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, sUser.Account);
} while (false);
return srm;
});
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
//輸入新密碼
public HttpResponseMessage ResetPassword(string Email, string Password)
{
//string sMsg = null;
SuccessResponseMessage srm = SugarBase.ExecTran(db =>
{
do
{
Console.WriteLine(Email);
var sUser = db.Queryable<SETB_CMS_Member>().Single(x => x.Email == Email);
sUser.Password = SecurityUtil.Encrypt(Password); //新密碼加密
var iRel = db.Updateable(sUser).ExecuteCommand(); //將新密碼更新至資料庫
var sError = ""; //寄信返回之錯誤
var sOrgID = sUser.OrgID;
//開始寄信
var oEmail = new Emails(); //寄件人
var toEmail = new List<EmailTo>(); //收件人
var oEmailTo = new EmailTo //收件人資訊
{
ToUserID = sUser.MemberID,
ToUserName = sUser.LastName,
ToEmail = sUser.Email,
Type = "to"
};
toEmail.Add(oEmailTo);
oEmail.FromUserName = "【ShowEasy 密碼已重設】"; //取fonfig
oEmail.Title = "已修改會員密碼"; //取fonfig
oEmail.EmailBody = PasswordChange_Mail(sUser.Email, sUser.FirstName);
oEmail.IsCCSelf = false;
oEmail.Attachments = null;
oEmail.EmailTo = toEmail;
var bSend = new MailService(sOrgID, true).MailFactory(oEmail, out sError);
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, sUser.Password);
} while (false);
return srm;
});
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
//Send Password Change Mail Template
private string PasswordChange_Mail(string Email, string FirstName)
{
StringBuilder sb = new StringBuilder();
EmailTemplate_CH mailTemplate = new EmailTemplate_CH();
var Server = Common.ConfigGetValue("", "ida:RedirectUri");
sb.Append(mailTemplate.MailHeader());
sb.Append(mailTemplate.MailCSS());
sb.Append(mailTemplate.MailShowEasyLogo());
//Email Body
sb.Append("<tr>");
sb.Append("<td style = \"padding: 0 50px 0 50px; background-color: #f8f8f8\" class=\"sm-p bar\">");
sb.Append("<table border=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"width: 100%\">");
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<table border = \"0\" cellpadding = \"0\" cellspacing = \"0\" role = \"presentation\" align = \"center\"> ");
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block; padding-top: 30px; padding-left: 20px; padding-right: 0; font-family: arial, sans-serif; color: #000000; text-align: left;\"> ");
sb.Append("<img style = \"display: block\" src = \"https://d3kpqi6h465b7i.cloudfront.net/email/PasswordChange.png \" width = \"50\" height = \"50\"/> ");
sb.Append("</td>");
sb.Append("</tr>");
//Text:PASSWORD CHANGE NOTICE
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 30px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left\";>");
sb.Append("<h1 style = \"font-family: 'arial', 'sans-serif'; font-weight: 700; font-size: 20px; line-height: 18px; color: #000000; margin: 0 0 0 0;\">");
sb.Append("密碼變更通知信");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Hi,xxx
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 35px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left;\">");
sb.Append("<h1 style = \"font-family: 'arial', 'sans-serif';font-weight: 700;font-size: 20px;line-height: 20px;color: #000000;margin: 0 0 0 0;\">");
sb.Append(FirstName + ",ShowEasy已成功為您更新密碼<br />");
//sb.Append("successfully.");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Don't forget....
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" width = \"440px\" style = \"display: block;padding-top: 30px;padding-left: 20px;padding-right: 0;color: #9c9c9c;text-align: left;\">");
sb.Append("<p style = \"font-weight: 400;font-size: 16px;line-height: 18px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("下次登入ShowEasy時記得使用新的密碼喔!<br />");
//sb.Append("SowEasy account!<br />");
sb.Append("<br />");
sb.Append("如有遇到任何問題請直接與我們聯繫。<br />");
sb.Append("</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 30px;padding-left: 20px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left;\">");
sb.Append("<img style = \"display:inline-block;\" src = \"https://d3kpqi6h465b7i.cloudfront.net/email/phone.png\" width = \"20\" height = \"20\"/>");
sb.Append("<span style = \"display: inline-block;font-weight: 400;font-size: 18px;line-height: 18px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("886-2-2725-5000");
sb.Append("</span>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"440\" style = \"display: block;padding-top: 15px;padding-left: 20px;padding-bottom: 30px;padding-right: 0;font-family: arial, sans-serif;color: #000000;text-align: left;\">");
sb.Append("<img style = \"display:inline-block;\" src = \"https://d3kpqi6h465b7i.cloudfront.net/email/mail.png\" width = \"20\" height = \"20\"/>");
sb.Append("<span style = \"display: inline-block;font-weight: 400;font-size: 18px;line-height: 18px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("info@showeasy.com");
sb.Append("</span>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append(mailTemplate.MailFooter());
return sb.ToString();
}
//CompleteRegistration Mail Template
private string CompleteRegistration_Mail(string FirstName)
{
StringBuilder sb = new StringBuilder();
EmailTemplate_CH mailTemplate = new EmailTemplate_CH();
sb.Append(mailTemplate.MailHeader());
sb.Append(mailTemplate.MailCSS());
sb.Append(mailTemplate.MailShowEasyLogo());
//Email Body
sb.Append("<tr>");
sb.Append("<td style = \"padding: 0 50px 0 50px; background-color: #f8f8f8\" class=\"sm-p bar\">");
sb.Append("<table border=\"0\" cellspacing=\"0\" role=\"presentation\" style=\"width: 100%\">");
sb.Append("<tr>");
sb.Append("<td>");
sb.Append("<table border = \"0\" cellpadding = \"0\" cellspacing = \"0\" role = \"presentation\" align = \"left\"> ");
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"340\" style = \"display: block; padding-top: 30px; padding-left: 30px; padding-right: 30px; font-family: arial, sans-serif; color: #000000; text-align: left;\"> ");
sb.Append("<img style = \"display: block\" src = \"https://d3kpqi6h465b7i.cloudfront.net/email/icon-user-check.png \" width = \"40\" height = \"40\"/> ");
sb.Append("</td>");
sb.Append("</tr>");
//Text:USER COMPLETE REGISTRATION
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"340\" style = \"display: block;padding-top: 30px;padding-left: 30px;padding-right: 30px;font-family: arial, sans-serif;color: #000000;text-align: left\";>");
sb.Append("<h1 style = \"font-family: 'arial', 'sans-serif'; font-weight: 700; font-size: 16px; line-height: 18px; color: #000000; margin: 0 0 0 0;\">");
sb.Append("歡迎加入SHOWEASY!");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Hi,xxx
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"340\" style = \"display: block;padding-top: 30px;padding-left: 30px;padding-right: 30px;font-family: arial, sans-serif;color: #000000;text-align: left;\">");
sb.Append("<h1 style = \"font-family: 'arial', 'sans-serif';font-weight: 700;font-size: 16px;line-height: 18px;color: #000000;margin: 0 0 0 0;\">");
sb.Append(FirstName + ",歡迎加入ShowEasy!");
sb.Append("</h1>");
sb.Append("</td>");
sb.Append("</tr>");
//Text:Oue mission....
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"340\" width = \"340px\" style = \"display: block;padding-top: 10px;padding-left: 30px;padding-right: 30px;color: #9c9c9c;text-align: left;\">");
sb.Append("<p style = \"font-weight: 400;font-size: 12px;line-height: 14px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("我們的存在是為了滿足您所有參展的需求<br />");
//sb.Append("<br />");
sb.Append("在ShowEasy,您可以找到全球展覽資訊以及所有展覽相關服務");
//sb.Append("around the world and related services for exhibitors and<br />");
//sb.Append("visitors.");
sb.Append("</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</tr>");
//Img
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"340\" style = \"display: block;padding-top: 20px;padding-left: 30px;padding-right: 30px;font-family: arial, sans-serif;color: #000000;text-align: center;\"> ");
sb.Append("<img style = \"display: block;margin-left: auto;margin-right: auto;\" src = \"https://d3kpqi6h465b7i.cloudfront.net/email/icon-success-human.png \" width = \"190\" height = \"190\"/> ");
sb.Append("</td>");
sb.Append("</tr>");
//Button:Verify my account
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" style = \"display: block;padding-top: 30px;font-family: arial, sans-serif;color: #232323;text-align: left;\"> ");
sb.Append("<table align = \"center\" border = \"0\" cellspacing = \"0\" role = \"presentation\">");
sb.Append("<tr>");
sb.Append("<td class=\"s-btn s-btn__primary\" style=\"border-radius: 16px; background: #ee9546\">");
sb.Append("<a class=\"s-btn s-btn__primary\"");
sb.Append("href=\"https://www.showeasy.com\"");
sb.Append("target=\"_parent\" style=\"background: #ee9546;border: 1px solid #ee9546;font-family: arial, sans-serif; font-size: 14px;line-height: 16px; color: #ffffff;text-align: center;text-decoration: none;padding: 12px 20px; display: block; border-radius: 16px; white-space: nowrap;\">");
sb.Append("讓我們啟程吧");
sb.Append("</a>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
//If the button isn't working, you can click
sb.Append("<tr>");
sb.Append("<td bgcolor = \"#FEFEFE\" width = \"340\" width = \"340px\" style = \"display: block;padding-bottom: 30px;padding-top: 30px;padding-left: 30px;padding-right: 30px;color: #9c9c9c;text-align: center;\">");
sb.Append("<p style = \"font-weight: 400;font-size: 12px;line-height: 14px;letter-spacing: 0.02em;font-family: 'arial', 'sans-serif';margin: 0 0 0px;\" class=\"has-markdown\">");
sb.Append("如果按鈕無法點擊,你可以直接點擊");
sb.Append("<a href =\"https://www.showeasy.com\"");
sb.Append(" style = \"color: #7997ff;font-size: 12px;font-weight: 400;font-family: 'Arial', '微軟正黑體','Microsoft JhengHei', 'Helvetica Neue',Helvetica, Arial, sans-serif;padding: 0;margin: 0;text-align: center;padding-left: 0px;padding-right: 30px;padding-top: 4px;text-decoration: underline;\">");
sb.Append("<span align=\"center\" width=\"340\">這裡</span>");
sb.Append("</a>");
sb.Append("</p>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
sb.Append("</table>");
sb.Append("</td>");
sb.Append("</tr>");
//sb.Append(mailTemplate.MailButtom());
sb.Append(mailTemplate.MailFooter());
return sb.ToString();
}
//DecryptPassword
public HttpResponseMessage DecryptPassword(string OrgID, string Account)
{
//string sMsg = null;
SuccessResponseMessage srm = null;
var db = SugarBase.GetIntance();
string sError = null;
try
{
do
{
var sUser = db.Queryable<SETB_CMS_Member>().Single(x => x.Account == Account && x.OrgID == OrgID);
var password = SecurityUtil.Decrypt(sUser.Password);
srm = new SuccessResponseMessage(null, null);
srm.DATA.Add(BLWording.REL, password);
} while (false);
}
catch (Exception ex)
{
sError = Util.GetLastExceptionMsg(ex);
}
finally
{
if (null != sError)
{
srm = new SuccessResponseMessage(null, null)
{
STATUSCODE = (int)StatusCodeEnum.TokenVerifyFailed,
MSG = sError
};
}
}
return HttpResponseExtension.ToJson(JsonConvert.SerializeObject(srm));
}
}
}