Browse Source

添加下單時未登錄可下單部分(訂購人,賬單資訊公司和個人)

Dev
alina 2 years ago
parent
commit
e024e70a31
  1. 150
      EuroTran/EasyBL.WEBAPP/ShowEasy/OnsiteService.cs
  2. 44
      EuroTran/Entity/ShowEasyDtos/ONSiteBaseInfoDTO.cs
  3. 6
      EuroTran/WebApp/Controllers/OnsiteController.cs

150
EuroTran/EasyBL.WEBAPP/ShowEasy/OnsiteService.cs

@ -1086,7 +1086,7 @@ namespace EasyBL.WEBAPP.ShowEasy
/// </summary> /// </summary>
/// <param name="i_crm"></param> /// <param name="i_crm"></param>
/// <returns></returns> /// <returns></returns>
public HttpResponseMessage InsertBooking(BookingOrderDTO Booking, string Account, string Email)
public HttpResponseMessage InsertBooking(BookingOrderDTO Booking, string Account)
{ {
SuccessResponseMessage srm = null; SuccessResponseMessage srm = null;
string sError = null; string sError = null;
@ -1122,6 +1122,47 @@ namespace EasyBL.WEBAPP.ShowEasy
var objBookingOnline = new View_SAL_BookingOnline(); var objBookingOnline = new View_SAL_BookingOnline();
if (iRel > 0) 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 下單后返回前臺的訂單内容 #region 下單后返回前臺的訂單内容
objBookingOnline = db.Queryable<SETB_SAL_BookingOnline, SETB_PDT_ONSiteBaseInfo, SETB_CMS_Exhibition, OTB_SYS_Arguments > objBookingOnline = db.Queryable<SETB_SAL_BookingOnline, SETB_PDT_ONSiteBaseInfo, SETB_CMS_Exhibition, OTB_SYS_Arguments >
((t1, t2, t3,t4) => ((t1, t2, t3,t4) =>
@ -1189,21 +1230,24 @@ namespace EasyBL.WEBAPP.ShowEasy
} }
#endregion #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 oEmail = new Emails(); //寄件人
var toEmail = new List<EmailTo>(); //收件人 var toEmail = new List<EmailTo>(); //收件人
@ -1225,56 +1269,60 @@ namespace EasyBL.WEBAPP.ShowEasy
oEmail.IsCCSelf = false; oEmail.IsCCSelf = false;
oEmail.Attachments = null; oEmail.Attachments = null;
oEmail.EmailTo = toEmail; 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); srm = new SuccessResponseMessage(null, null);

44
EuroTran/Entity/ShowEasyDtos/ONSiteBaseInfoDTO.cs

@ -292,7 +292,49 @@ namespace Entity.ShowEasyDtos
public string ServiceDateS { get; set; } public string ServiceDateS { get; set; }
public string ServiceDateE { get; set; } public string ServiceDateE { get; set; }
//訂購人信息
//名字
public string FirstName { get; set; }
//姓氏
public string LastName { get; set; }
//郵箱
public string Email { get; set; }
//國家
public string CountryID { get; set; }
//電話
public string Phone { get; set; }
//電話國碼
public string PhoneCode { get; set; }
//賬單資訊 公司
//公司名稱
public string INVCompanyName { get; set; }
//統一編號
public string INVTaxNumber { get; set; }
//國家
public string INVCountryID { get; set; }
//州/省
public string INVStateName { get; set; }
//城市
public string INVCityName { get; set; }
//公司地址
public string INVStreet1 { get; set; }
//郵遞區號
public string INVZipCode { get; set; }
//賬單資訊 個人
//名字
public string INVFirstName { get; set; }
//姓氏
public string INVLastName { get; set; }
//郵箱
public string INVEmail { get; set; }
//國家
public string INVICountryID { get; set; }
//電話
public string INVPhone { get; set; }
//電話國碼
public string INVPhoneCode { get; set; }
} }

6
EuroTran/WebApp/Controllers/OnsiteController.cs

@ -183,15 +183,15 @@ namespace WebApp.Controllers
//預約信息 //預約信息
[HttpPost] [HttpPost]
[SEApiSecurityFilter]
//[SEApiSecurityFilter]
public HttpResponseMessage Booking([FromBody] BookingOrderDTO Booking) public HttpResponseMessage Booking([FromBody] BookingOrderDTO Booking)
{ {
var SEToken = SETokenUtil.GetToken(this.Request); var SEToken = SETokenUtil.GetToken(this.Request);
return new OnsiteService().InsertBooking(Booking, SEToken.Account, SEToken.Email);
return new OnsiteService().InsertBooking(Booking, SEToken.Account);
//var SEToken = SETokenUtil.GetToken(this.Request); //var SEToken = SETokenUtil.GetToken(this.Request);
//return new OnsiteService().InsertBooking(Booking, "janie.chang@showeasy.com", "");
//return new OnsiteService().InsertBooking(Booking, "janie.chang@showeasy.com");
} }

Loading…
Cancel
Save