Example #1
0
        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));
            }
        }
Example #2
0
        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));
        }