public JsonResult Action(BookingActionViewModel model, bool isDeleted = false) { JsonResult json = new JsonResult(); var result = false; var msg = ""; if (model.Id > 0 && isDeleted == false) { //edit here if (model.Booking != null) { result = bookingService.UpdateBooking(model.Booking); msg = "Booking Edited Successfully"; } } else if (model.Id > 0 && isDeleted == true) { //delete here //result = accomodationPackageService.DeleteAccomodationPackages(model.Id); } else { //first create object then add var fee = accomodationPackagesService.GetAccomodationPackageById(model.AccomodationPackageId).FeePerNight; var roomsTotal = (model.Booking.NoOfAccomodation * fee) * model.Booking.Duration; var vatTax = (5 * roomsTotal) / 100; var tourismTax = 5 * (model.Booking.Duration * model.Booking.NoOfAccomodation); var breakFastTotals = 0; if (model.Booking.BreakFast == true) { breakFastTotals = ((model.Booking.Adult * 7) + (model.Booking.Children * 3)) * model.Booking.Duration; } var grandTotal = roomsTotal + vatTax + tourismTax + breakFastTotals; model.Booking.TotalAmount = grandTotal; model.Booking.PaymentInfo.PaymentStatus = grandTotal - model.Booking.PaymentInfo.AmountPaid >= 0 ? "paid" : "unpaid"; msg = bookingService.CreateBooking(model.Booking, model.AccomodationPackageId); result = true; } if (result) { json.Data = new { success = true, Messag = msg }; } else { json.Data = new { success = false, Messag = "Unable to Perform Operation in Accomodation Type." }; } return(json); }
public ActionResult Action(int?ID, bool isDelete = false) { BookingActionViewModel model = new BookingActionViewModel(); ViewBag.isDelete = isDelete; if (ID.HasValue && isDelete) { //delete here model.Booking = bookingService.GetBookingById(ID); model.Id = ID; model.AccomodationPackageId = model.Booking.BookingDetails.FirstOrDefault().Accomodation.AccomodationPackageId; model.AccomodationPackageName = accomodationPackagesService.GetAccomodationPackageById(model.AccomodationPackageId).Name; //model.AccomodationPackagePictures = accomodationPackage.AccomodationPackagePictures; } else if (ID.HasValue && isDelete == false) { //edit here model.Booking = bookingService.GetBookingById(ID); model.Id = ID; model.AccomodationPackageId = model.Booking.BookingDetails.FirstOrDefault().Accomodation.AccomodationPackageId; model.AccomodationPackages = accomodationPackagesService.GetAllAccomodationPackages(); //model.Id = accomodationPackage.Id; //model.AccomodationTypeId = accomodationPackage.AccomodationTypeId; //model.Name = accomodationPackage.Name; //model.NoOfRoom = accomodationPackage.NoOfRoom; //model.FeePerNight = accomodationPackage.FeePerNight; //model.AccomodationPackagePictures = accomodationPackage.AccomodationPackagePictures; } else { model.AccomodationPackages = accomodationPackagesService.GetAllAccomodationPackages(); //new entry } //model.AccomodationTypes = accomodationTypesService.GetAllAccomodationTypes(); return(PartialView("_Action", model)); }