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