public IActionResult AddToBooked() { AddBookOutputModel OutPutData = new AddBookOutputModel(); AddBookInputModel filter = new AddBookInputModel(); filter.UserID = Guid.Parse(HttpContext.Session.GetString(SessionKeyID)); filter.SiteID = Guid.Parse(""); filter.SiteItemID = Guid.Parse(""); filter.SitePriceID = Guid.Parse(""); filter.Qty = 1; filter.Price = double.Parse(""); filter.TotalPerItem = double.Parse(""); //filter.StartDate = //filter.EndDate = using (var client = new HttpClient()) { client.BaseAddress = new Uri(BaseAPI + "Site/"); var responseTask = client.PostAsJsonAsync <AddBookInputModel>("AddToBooked", filter); responseTask.Wait(); var result = responseTask.Result; if (result.IsSuccessStatusCode) { var content = result.Content.ReadAsStringAsync(); AddBookResponseModel resutl = Newtonsoft.Json.JsonConvert.DeserializeObject <AddBookResponseModel>(content.Result); OutPutData = resutl.data; } else //web api sent error response { //log response status here.. ModelState.AddModelError(string.Empty, "Terjadi kesalahan. Mohon hubungi admin."); } } return(Json(OutPutData)); }
public ActionResult <AddBookResponseModel> AddToBooked([FromBody] AddToBookListInputModel data) { AddBookResponseModel res = new AddBookResponseModel(); try { BookBL bl = new BookBL(DbContext); var temp = bl.Save(data); string configJSON = JsonConvert.SerializeObject(AppSettings.EmailConfig); //start send Email to Admin var bodyAdmin = bl.BuilBookReceiptToAdmin(data); MailMessage message = new MailMessage(); message.To.Add("*****@*****.**"); message.Body = bodyAdmin; message.Subject = "Booking "; message.From = new MailAddress(AppSettings.EmailConfig.FromAddress); message.IsBodyHtml = true; PdfConvertEngine pdfEngine = new PdfConvertEngine(); var pdfPath = pdfEngine.ConvertHTMLToPDF(bodyAdmin, AppSettings.PDFPath, temp.BookNo.Replace('/', '_')); Attachment dataPDF = new Attachment(pdfPath); message.Attachments.Add(dataPDF); EmailSenderEngine emailEngine = new EmailSenderEngine(); emailEngine.SendEmail(message, configJSON); dataPDF.Dispose(); //End send Email to admin //start send Email to Media buyer var bodyBuyer = bl.BuilBookReceiptToMediaBuyer(data); UserRepository userRepo = new UserRepository(DbContext); var mediaBuyerInfo = userRepo.FindByID(data.Data[0].UserID).FirstOrDefault(); message = new MailMessage(); message.To.Add(mediaBuyerInfo.UserName); message.Body = bodyBuyer; message.Subject = "Booking "; message.From = new MailAddress(AppSettings.EmailConfig.FromAddress); message.IsBodyHtml = true; pdfEngine = new PdfConvertEngine(); pdfPath = pdfEngine.ConvertHTMLToPDF(bodyBuyer, AppSettings.PDFPath, temp.BookNo.Replace('/', '_')); dataPDF = new Attachment(pdfPath); message.Attachments.Add(dataPDF); emailEngine = new EmailSenderEngine(); emailEngine.SendEmail(message, configJSON); dataPDF.Dispose(); //End send Email to Media buyer res.data = temp; res.Message = "Success"; res.Response = true; return(Ok(res)); } catch (Exception ex) { res.Message = ex.Message; res.Response = false; return(BadRequest(res)); } }