|
|
@ -1086,7 +1086,7 @@ namespace EasyBL.WEBAPP.ShowEasy |
|
|
|
/// </summary>
|
|
|
|
/// <param name="i_crm"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
public HttpResponseMessage InsertBooking(BookingOrderDTO Booking, string Account, string Email) |
|
|
|
public HttpResponseMessage InsertBooking(BookingOrderDTO Booking, string Account) |
|
|
|
{ |
|
|
|
SuccessResponseMessage srm = null; |
|
|
|
string sError = null; |
|
|
@ -1122,6 +1122,47 @@ namespace EasyBL.WEBAPP.ShowEasy |
|
|
|
var objBookingOnline = new View_SAL_BookingOnline(); |
|
|
|
if (iRel > 0) |
|
|
|
{ |
|
|
|
#region 插入訂購人,賬單資訊(公司和個人)
|
|
|
|
|
|
|
|
SETB_SAL_Subscriber rsSubscriber = new SETB_SAL_Subscriber(); |
|
|
|
rsSubscriber.BookingID = strBookingID; |
|
|
|
rsSubscriber.MemberID = Guid.NewGuid().ToString(); |
|
|
|
rsSubscriber.FirstName = Booking.FirstName; |
|
|
|
rsSubscriber.LastName = Booking.LastName; |
|
|
|
rsSubscriber.Email = Booking.Email; |
|
|
|
rsSubscriber.Phone = Booking.Phone; |
|
|
|
rsSubscriber.PhoneCode = Booking.PhoneCode; |
|
|
|
rsSubscriber.CountryID = Booking.CountryID; |
|
|
|
rsSubscriber.CreateDate = DateTime.Now; |
|
|
|
iRel = db.Insertable(rsSubscriber).ExecuteCommand(); |
|
|
|
|
|
|
|
SETB_SAL_InvoiceIndividual rsInvoiceIndividual = new SETB_SAL_InvoiceIndividual(); |
|
|
|
rsInvoiceIndividual.BookingID = strBookingID; |
|
|
|
rsInvoiceIndividual.MemberID = Guid.NewGuid().ToString(); |
|
|
|
rsInvoiceIndividual.FirstName = Booking.INVFirstName; |
|
|
|
rsInvoiceIndividual.LastName = Booking.INVLastName; |
|
|
|
rsInvoiceIndividual.Email = Booking.INVEmail; |
|
|
|
rsInvoiceIndividual.Phone = Booking.INVPhone; |
|
|
|
rsInvoiceIndividual.PhoneCode = Booking.INVPhoneCode; |
|
|
|
rsInvoiceIndividual.CountryID = Booking.INVICountryID; |
|
|
|
rsInvoiceIndividual.CreateDate = DateTime.Now; |
|
|
|
iRel = db.Insertable(rsInvoiceIndividual).ExecuteCommand(); |
|
|
|
|
|
|
|
|
|
|
|
SETB_SAL_InvoiceCompany rsInvoiceCompany = new SETB_SAL_InvoiceCompany(); |
|
|
|
rsInvoiceCompany.BookingID = strBookingID; |
|
|
|
rsInvoiceCompany.CompanyID = Guid.NewGuid().ToString(); |
|
|
|
rsInvoiceCompany.CompanyName = Booking.INVCompanyName; |
|
|
|
rsInvoiceCompany.TaxNumber = Booking.INVTaxNumber; |
|
|
|
rsInvoiceCompany.CountryID = Booking.INVCountryID; |
|
|
|
rsInvoiceCompany.StateName = Booking.INVStateName; |
|
|
|
rsInvoiceCompany.CityName = Booking.INVCityName; |
|
|
|
rsInvoiceCompany.Street1 = Booking.INVStreet1; |
|
|
|
rsInvoiceCompany.ZipCode = Booking.INVZipCode; |
|
|
|
iRel = db.Insertable(rsInvoiceCompany).ExecuteCommand(); |
|
|
|
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region 下單后返回前臺的訂單内容
|
|
|
|
objBookingOnline = db.Queryable<SETB_SAL_BookingOnline, SETB_PDT_ONSiteBaseInfo, SETB_CMS_Exhibition, OTB_SYS_Arguments > |
|
|
|
((t1, t2, t3,t4) => |
|
|
@ -1189,21 +1230,24 @@ namespace EasyBL.WEBAPP.ShowEasy |
|
|
|
} |
|
|
|
#endregion
|
|
|
|
|
|
|
|
var objONSiteBaseInfo = db.Queryable<SETB_PDT_ONSiteBaseInfo>() |
|
|
|
//搜尋條件
|
|
|
|
.Where(x => x.OrgID == sORIGID && x.ServiceID == Booking.ServiceID && x.LangID == rsBooking.LangType) |
|
|
|
.Single(); |
|
|
|
|
|
|
|
if (objONSiteBaseInfo.Undertaker != "[]" && objONSiteBaseInfo.Undertaker != "") |
|
|
|
try |
|
|
|
{ |
|
|
|
var saContactor = db.Queryable<SETB_SCM_SupplierContactor> |
|
|
|
() |
|
|
|
.Where((t1) => t1.LangType == rsBooking.LangType && objONSiteBaseInfo.Undertaker.Contains(t1.Guid)) |
|
|
|
.ToList(); |
|
|
|
if (saContactor.Count > 0) { |
|
|
|
//寄送給供應商
|
|
|
|
var objONSiteBaseInfo = db.Queryable<SETB_PDT_ONSiteBaseInfo>() |
|
|
|
//搜尋條件
|
|
|
|
.Where(x => x.OrgID == sORIGID && x.ServiceID == Booking.ServiceID && x.LangID == rsBooking.LangType) |
|
|
|
.Single(); |
|
|
|
|
|
|
|
try |
|
|
|
if (objONSiteBaseInfo.Undertaker != "[]" && objONSiteBaseInfo.Undertaker != "") |
|
|
|
{ |
|
|
|
var saContactor = db.Queryable<SETB_SCM_SupplierContactor> |
|
|
|
() |
|
|
|
.Where((t1) => t1.LangType == rsBooking.LangType && objONSiteBaseInfo.Undertaker.Contains(t1.Guid)) |
|
|
|
.ToList(); |
|
|
|
if (saContactor.Count > 0) |
|
|
|
{ |
|
|
|
|
|
|
|
|
|
|
|
//開始寄信
|
|
|
|
var oEmail = new Emails(); //寄件人
|
|
|
|
var toEmail = new List<EmailTo>(); //收件人
|
|
|
@ -1225,56 +1269,60 @@ namespace EasyBL.WEBAPP.ShowEasy |
|
|
|
oEmail.IsCCSelf = false; |
|
|
|
oEmail.Attachments = null; |
|
|
|
oEmail.EmailTo = toEmail; |
|
|
|
var bSend = new MailService(sORIGID, true).MailFactory(oEmail, out sError); |
|
|
|
var bSend = new MailService(sORIGID, true).MailFactory(oEmail, out sError); |
|
|
|
|
|
|
|
var objMember = db.Queryable<SETB_CMS_Member>() |
|
|
|
//搜尋條件
|
|
|
|
.Where(x => x.OrgID == sORIGID && x.Account == Account) |
|
|
|
.Single(); |
|
|
|
if (objMember != null) { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
//開始寄信 給會員
|
|
|
|
oEmail = new Emails(); //寄件人
|
|
|
|
toEmail = new List<EmailTo>(); //收件人
|
|
|
|
var oEmailTo1 = new EmailTo //收件人資訊
|
|
|
|
{ |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
|
|
|
|
ToUserName = "", |
|
|
|
ToEmail = objMember.Email, |
|
|
|
Type = "to" |
|
|
|
}; |
|
|
|
toEmail.Add(oEmailTo1); |
|
|
|
//立即回復既是bypass的流程
|
|
|
|
if (objBookingOnline.ConfirmDays == "01") |
|
|
|
{ |
|
|
|
oEmail.Title = "訂單處理中通知"; |
|
|
|
oEmail.EmailBody = new BookingMail().BookingProcessing(objMember.LastName + objMember.FirstName, objBookingOnline.BookingNo); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
oEmail.Title = "訂單預約通知"; |
|
|
|
oEmail.EmailBody = new BookingMail().ReceivedBooking(objBookingOnline, objMember.LastName + objMember.FirstName); //"您好,我們成功收到了您的訂單";
|
|
|
|
} |
|
|
|
throw; |
|
|
|
} |
|
|
|
|
|
|
|
oEmail.IsCCSelf = false; |
|
|
|
oEmail.Attachments = null; |
|
|
|
oEmail.EmailTo = toEmail; |
|
|
|
bSend = new MailService(sORIGID, true).MailFactory(oEmail, out sError); |
|
|
|
try |
|
|
|
{ |
|
|
|
//寄送給訂購人
|
|
|
|
var objMember = db.Queryable<SETB_SAL_Subscriber>().Where(x => x.BookingID == objBookingOnline.BookingID).Single(); |
|
|
|
if (objMember != null) |
|
|
|
{ |
|
|
|
//開始寄送給訂購人
|
|
|
|
var oEmail = new Emails(); //寄件人
|
|
|
|
var toEmail = new List<EmailTo>(); //收件人
|
|
|
|
var oEmailTo1 = new EmailTo //收件人資訊
|
|
|
|
{ |
|
|
|
|
|
|
|
} |
|
|
|
ToUserName = objMember.FirstName, |
|
|
|
ToEmail = objMember.Email, |
|
|
|
Type = "to" |
|
|
|
}; |
|
|
|
toEmail.Add(oEmailTo1); |
|
|
|
//立即回復既是bypass的流程
|
|
|
|
if (objBookingOnline.ConfirmDays == "01") |
|
|
|
{ |
|
|
|
oEmail.Title = "訂單處理中通知"; |
|
|
|
oEmail.EmailBody = new BookingMail().BookingProcessing(objMember.LastName + objMember.FirstName, objBookingOnline.BookingNo); |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
else |
|
|
|
{ |
|
|
|
|
|
|
|
throw; |
|
|
|
oEmail.Title = "訂單預約通知"; |
|
|
|
oEmail.EmailBody = new BookingMail().ReceivedBooking(objBookingOnline, objMember.LastName + objMember.FirstName); //"您好,我們成功收到了您的訂單";
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
oEmail.IsCCSelf = false; |
|
|
|
oEmail.Attachments = null; |
|
|
|
oEmail.EmailTo = toEmail; |
|
|
|
var bSend = new MailService(sORIGID, true).MailFactory(oEmail, out sError); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
catch (Exception ex) |
|
|
|
{ |
|
|
|
throw; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
srm = new SuccessResponseMessage(null, null); |
|
|
|