public ActionResult <ApprovalBookResponseModel> ApprovalBooked([FromBody] ApprovalBookInputModel data) { ApprovalBookResponseModel res = new ApprovalBookResponseModel(); try { BookBL bl = new BookBL(DbContext); var temp = bl.ApprovalBook(data); string configJSON = JsonConvert.SerializeObject(AppSettings.EmailConfig); res.data = temp; res.Response = true; res.Message = temp.Message; res.TotalPages = 1; //Send email to Media Buyer var bodyBuyer = bl.BuilBookEmailApprovalToMediaBuyer(data, temp.Message); UserRepository userRepo = new UserRepository(DbContext); var mediaBuyerInfo = userRepo.FindByID(data.UserID).FirstOrDefault(); MailMessage message = new MailMessage(); message.To.Add(mediaBuyerInfo.UserName); message.Body = bodyBuyer; message.Subject = "Booking "; message.From = new MailAddress(AppSettings.EmailConfig.FromAddress); message.IsBodyHtml = true; PdfConvertEngine pdfEngine = new PdfConvertEngine(); var pdfPath = pdfEngine.ConvertHTMLToPDF(bodyBuyer, AppSettings.PDFPath, "INV_01_123"); Attachment dataPDF = new Attachment(pdfPath); dataPDF = new Attachment(pdfPath); message.Attachments.Add(dataPDF); EmailSenderEngine emailEngine = new EmailSenderEngine(); emailEngine.SendEmail(message, configJSON); dataPDF.Dispose(); //end send email to media buyer return(Ok(res)); } catch (Exception ex) { res.Message = ex.Message; res.Response = false; return(BadRequest(res)); } }
public ActionResult Update(string ID) { ApprovalBookOutputModel OutPutData = new ApprovalBookOutputModel(); if (HttpContext.Session.GetString(SessionKeyID) != null && HttpContext.Session.GetString(SessionKeyID) != "") { string userID = HttpContext.Session.GetString(SessionKeyID); ApprovalBookInputModel data = new ApprovalBookInputModel(); data.Value = int.Parse(ID.Split("&")[0]); data.UserID = Guid.Parse(userID); data.BookDetailID = Guid.Parse(ID.Split("&")[1]); JsonConvert.SerializeObject(data); using (var client = new HttpClient()) { client.BaseAddress = new Uri(BaseAPI + "Site/"); var postTask = client.PostAsJsonAsync <ApprovalBookInputModel>("ApprovalBooked", data); postTask.Wait(); var result = postTask.Result; if (result.IsSuccessStatusCode) { var content = result.Content.ReadAsStringAsync(); ApprovalBookResponseModel resutl = Newtonsoft.Json.JsonConvert.DeserializeObject <ApprovalBookResponseModel>(content.Result); OutPutData = resutl.data; } else //web api sent error response { //log response status here.. ModelState.AddModelError(string.Empty, "Terjadi kesalahan. Mohon hubungi admin."); } } } else { ModelState.AddModelError(string.Empty, "Terjadi kesalahan. Mohon hubungi admin."); } return(Json(OutPutData)); }