public IHttpActionResult UpdateWaiveFee(BookingInfo booking) { var invoice = new InvoiceHandler(Services).UpdateWaiveFee(booking.BookingId, CurrentUser.Id); return Json(new { Status = invoice.IsSuccess, Messsage = invoice.Messsage }); }
public JsonResult UpdateWaiveFee(Guid bookingId) { try { if (IsSpecialist()) { var test = new InvoiceHandler(Services).UpdateWaiveFee(bookingId, CurrentUser.Id); return Json(new { success = test.IsSuccess, Messsage = test.Messsage }); //List<InvoiceDto> invoices = Services.Invoices.GetInvoiceByBookingId(bookingId); //if (invoices != null && invoices.Any()) //{ // var customerInvoice = invoices.First(x => x.Booking.Customer.Id == x.User.Id && x.Type == InvoiceType.Consultation); // var specialistInvoice = invoices.First(x => x.Booking.Specialist.Id == x.User.Id); // if (PaymentMethod.PrePayment.Equals(customerInvoice.User.PaymentMethod)) // { // Log.Debug("Prepayment. User id: " + customerInvoice.User.Id); // customerInvoice.User.PrePaymentAmount = customerInvoice.User.PrePaymentAmount + specialistInvoice.Amount; // Services.Users.UpdateUserInfo(customerInvoice.User); // } // else // { // Log.Debug("Refund Transaction id: " + customerInvoice.TransactionId); // var result = Services.Payment.Refund(customerInvoice.TransactionId, specialistInvoice.Amount); // if (!result.Success) // { // return Json(new { success = false, Messsage = result.ErrorMessage }); // } // } // InvoiceDto waivedFeeInvoice = Services.Invoices.UpdateWaiveFeeForSpecialistByBookingId(bookingId, CurrentUser.Id); // Log.Debug("Update waive fee: " + bookingId); // System.Threading.Tasks.Task.Factory.StartNew(() => // { // //Subtract consultation fee // waivedFeeInvoice.Amount = -waivedFeeInvoice.Amount; // string mailContent = Services.Invoices.TranformToInvoiceTemplate( // waivedFeeInvoice.User, waivedFeeInvoice, null, ConstEmailTemplateKey.WaiveFeeTemplate, null); // byte[] pdfAsByte = HtmlToPdf.GetPdfData(mailContent, AppSettings.BaseUrl); // string fileName = string.Format("invoice_{0}.pdf", waivedFeeInvoice.InvoiceNumber); // Services.Invoices.SendInvoice(fileName, pdfAsByte, // mailContent, customerInvoice.User.Email, string.Format(ConstEmailSubject.WaiveFeeInvoice, waivedFeeInvoice.Booking.ReferenceNo)); // }); // return Json(new { success = true }); //} //return Json(new { success = false }); } } catch (Exception e) { Log.Error("BookingController_UpdateWaiveFee_Error:", e); } return Json(new { success = false }); }