diff --git a/EuroTran/EasyBL.WEBAPP/ShowEasy/OnsiteService.cs b/EuroTran/EasyBL.WEBAPP/ShowEasy/OnsiteService.cs index f06017d..6e99ed1 100644 --- a/EuroTran/EasyBL.WEBAPP/ShowEasy/OnsiteService.cs +++ b/EuroTran/EasyBL.WEBAPP/ShowEasy/OnsiteService.cs @@ -1086,7 +1086,7 @@ namespace EasyBL.WEBAPP.ShowEasy /// /// /// - 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 ((t1, t2, t3,t4) => @@ -1189,21 +1230,24 @@ namespace EasyBL.WEBAPP.ShowEasy } #endregion - var objONSiteBaseInfo = db.Queryable() - //搜尋條件 - .Where(x => x.OrgID == sORIGID && x.ServiceID == Booking.ServiceID && x.LangID == rsBooking.LangType) - .Single(); - - if (objONSiteBaseInfo.Undertaker != "[]" && objONSiteBaseInfo.Undertaker != "") + try { - var saContactor = db.Queryable - () - .Where((t1) => t1.LangType == rsBooking.LangType && objONSiteBaseInfo.Undertaker.Contains(t1.Guid)) - .ToList(); - if (saContactor.Count > 0) { + //寄送給供應商 + var objONSiteBaseInfo = db.Queryable() + //搜尋條件 + .Where(x => x.OrgID == sORIGID && x.ServiceID == Booking.ServiceID && x.LangID == rsBooking.LangType) + .Single(); - try + if (objONSiteBaseInfo.Undertaker != "[]" && objONSiteBaseInfo.Undertaker != "") + { + var saContactor = db.Queryable + () + .Where((t1) => t1.LangType == rsBooking.LangType && objONSiteBaseInfo.Undertaker.Contains(t1.Guid)) + .ToList(); + if (saContactor.Count > 0) { + + //開始寄信 var oEmail = new Emails(); //寄件人 var toEmail = new List(); //收件人 @@ -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() - //搜尋條件 - .Where(x => x.OrgID == sORIGID && x.Account == Account) - .Single(); - if (objMember != null) { + } + } - //開始寄信 給會員 - oEmail = new Emails(); //寄件人 - toEmail = new List(); //收件人 - 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().Where(x => x.BookingID == objBookingOnline.BookingID).Single(); + if (objMember != null) + { + //開始寄送給訂購人 + var oEmail = new Emails(); //寄件人 + var toEmail = new List(); //收件人 + 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); diff --git a/EuroTran/Entity/ShowEasyDtos/ONSiteBaseInfoDTO.cs b/EuroTran/Entity/ShowEasyDtos/ONSiteBaseInfoDTO.cs index 3276bab..a45f5e8 100644 --- a/EuroTran/Entity/ShowEasyDtos/ONSiteBaseInfoDTO.cs +++ b/EuroTran/Entity/ShowEasyDtos/ONSiteBaseInfoDTO.cs @@ -292,7 +292,49 @@ namespace Entity.ShowEasyDtos public string ServiceDateS { 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; } } diff --git a/EuroTran/WebApp/Controllers/OnsiteController.cs b/EuroTran/WebApp/Controllers/OnsiteController.cs index bfba810..cb4ac64 100644 --- a/EuroTran/WebApp/Controllers/OnsiteController.cs +++ b/EuroTran/WebApp/Controllers/OnsiteController.cs @@ -183,15 +183,15 @@ namespace WebApp.Controllers //預約信息 [HttpPost] - [SEApiSecurityFilter] + //[SEApiSecurityFilter] public HttpResponseMessage Booking([FromBody] BookingOrderDTO Booking) { 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); - //return new OnsiteService().InsertBooking(Booking, "janie.chang@showeasy.com", ""); + //return new OnsiteService().InsertBooking(Booking, "janie.chang@showeasy.com"); }