public IHttpActionResult PutOccupacy(BookingRequestModel booking)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            Occupacy    _OC = new Occupacy();
            RoomBooking _RB = db.RoomBookings.FirstOrDefault(m => m.IdBooking == booking.IdBooking);
            Room        _R  = db.Rooms.FirstOrDefault(m => m.IdRoom == booking.IdRoom);

            _OC.IdCustomer     = _RB.IdCustomer;
            _OC.IdRoom         = _R.IdRoom;
            _OC.DateOccupacied = _RB.DateCheckin;
            _OC.RateApplied    = _R.Rate;
            _OC.IsPaid         = false;

            db.Occupacies.Add(_OC);
            db.RoomBookings.FirstOrDefault(m => m.IdBooking == booking.IdBooking).IsApproved = true;

            DateTime checkinDate = _RB.DateCheckin.GetValueOrDefault(DateTime.Now);

            db.Rooms.FirstOrDefault(m => m.IdRoom == booking.IdRoom).Status = checkinDate.ToString("MM/dd/yyyy");

            db.SaveChanges();

            return(Ok(_OC));
        }
示例#2
0
        public IHttpActionResult CommitBill(long OccupacyNumber)
        {
            Occupacy _OC = db.Occupacies.FirstOrDefault(x => x.OccupacyNumber == OccupacyNumber);

            if (_OC == null)
            {
                return(Ok());
            }
            Payment  payment     = new Payment();
            DateTime datecheckin = _OC.DateOccupacied.GetValueOrDefault(DateTime.Now);

            var totaltime = DateTime.Now - datecheckin;
            int totalday  = (int)totaltime.TotalDays + 1;

            payment.PaymentDate    = DateTime.Now;
            payment.TaxAmount      = 10;
            payment.TotalDays      = totalday;
            payment.AmountCharged  = _OC.RateApplied * totalday;
            payment.TaxAmount      = payment.AmountCharged * payment.TaxAmount / 100;
            payment.PaymentTotal   = payment.AmountCharged + payment.TaxAmount;
            payment.EmployeeNumber = _OC.IdCustomer;
            try
            {
                db.Payments.Add(payment);
                db.Occupacies.FirstOrDefault(x => x.OccupacyNumber == OccupacyNumber).IsPaid = true;
                db.Rooms.FirstOrDefault(x => x.IdRoom == _OC.IdRoom).Status = "OK";
                db.SaveChanges();
            }
            catch (Exception)
            {
                Ok();
            }
            return(Ok(payment));
        }
        public ActionResult ChoseRoom(long IdRoom, long IdBooking)
        {
            OccupacyClient OC     = new OccupacyClient();
            var            result = OC.addOccupy(IdBooking, IdRoom);

            if (result != null)
            {
                Occupacy _OC = result;
                ViewBag.Date        = _OC.DateOccupacied.GetValueOrDefault(DateTime.Now).ToString("MM/dd/yyyy");
                ViewBag.IdOccupacy  = _OC.OccupacyNumber;
                ViewBag.IdRoom      = _OC.IdRoom;
                ViewBag.IdCustomer  = _OC.IdCustomer;
                ViewBag.RateApplied = _OC.RateApplied;
            }


            return(View());
        }
示例#4
0
        public IHttpActionResult MakeBill(long OccupacyNumber)
        {
            Occupacy _OC = db.Occupacies.FirstOrDefault(x => x.OccupacyNumber == OccupacyNumber);

            if (_OC == null)
            {
                return(NotFound());
            }
            Payment  payment     = new Payment();
            DateTime datecheckin = _OC.DateOccupacied.GetValueOrDefault(DateTime.Now);

            var totaltime = DateTime.Now - datecheckin;
            int totalday  = (int)totaltime.TotalDays + 1;

            payment.PaymentDate   = DateTime.Now;
            payment.TaxAmount     = 10;
            payment.TotalDays     = totalday;
            payment.AmountCharged = _OC.RateApplied * totalday;
            payment.TaxAmount     = payment.AmountCharged * payment.TaxAmount / 100;
            payment.PaymentTotal  = payment.AmountCharged + payment.TaxAmount;

            return(Ok(payment));
        }