Esempio n. 1
0
        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));
        }
Esempio n. 2
0
        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));
            }
        }