public IActionResult UpdateBooking(int Id, bool?isDelete)
        {
            ViewData["PackageTypes"] = DBUtl.GetList(@"SELECT ID as value, Description as text from SRPackageType ORDER BY Description");
            ViewData["Slots"]        = DBUtl.GetList(@"SELECT Id as value, Description as text FROM SRSlot ORDER BY Description");

            string           userId     = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
            List <SRBooking> lstBooking = DBUtl.GetList <SRBooking>(@"SELECT * FROM SRBooking WHERE Id = {0} AND BookedBy={1}", Id, userId);

            SRBooking model = null;

            if (lstBooking.Count > 0)
            {
                if (isDelete.HasValue == false || isDelete == false)
                {
                    ViewData["PostTo"]     = "UpdateBooking";
                    ViewData["ButtonText"] = "Update";
                }
                else
                {
                    ViewData["PostTo"]     = "DeleteBooking";
                    ViewData["ButtonText"] = "Delete";
                }
                model = lstBooking[0];
                return(View("Booking", model));
            }
            else
            {
                TempData["Msg"] = $"Booking {Id} not found!";
                return(RedirectToAction("Index"));
            }
        }
 public IActionResult CreateBooking(SRBooking newBk)
 {
     if (ModelState.IsValid)
     {
         // TODO Task 2c: Modify the ExecSQL so that BookedBy field is updated with current logged-user id.
         // TODO Task 2d: Verification: Navigate to SingRoom/CreateBooking to verify that new records created can be displayed in the index view
         string userID = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
         if (DBUtl.ExecSQL(@"INSERT INTO SRBooking 
                             (Name, SlotId, PackageTypeId, BookingDate, Hours, 
                                 AOSnack, AODrink, BookedBy) 
                             VALUES ('{0}',{1},{2},'{3}',{4},'{5}','{6}',{7})",
                           newBk.Name, newBk.SlotId, newBk.PackageTypeId,
                           $"{newBk.BookingDate:dd MMMM yyyy}", newBk.Hours,
                           newBk.AOSnack, newBk.AODrink, userID) == 1)
         {
             TempData["Msg"] = "New booking added.";
         }
         else
         {
             TempData["Msg"] = DBUtl.DB_Message;
         }
         return(RedirectToAction("Index"));
     }
     else
     {
         TempData["Msg"] = "Invalid information entered!";
         return(RedirectToAction("Index"));
     }
 }
        public IActionResult DeleteBooking(SRBooking uBook)
        {
            string userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (DBUtl.ExecSQL(@"DELETE FROM SRBooking WHERE Id ={0} AND BookedBy={1}", uBook.Id, userId) == 1)
            {
                TempData["Msg"] = $"Booking{uBook.Id} deleted";
            }
            else
            {
                TempData["Msg"] = DBUtl.DB_Message;
            }
            return(RedirectToAction("Index"));
        }
 public IActionResult CreateBooking(SRBooking newSRBooking)
 {
     // TODO Task 3d Use ModelState.IsValid to guard against invalid input. Pass the message "Invalid information entered" to Index action when ModelState.IsValid is false
     if (ModelState.IsValid)
     {
         if (DBUtl.ExecSQL(@"INSERT INTO SRBooking (Name, SlotId, PackageTypeId, BookingDate, Hours, AOSnack, AODrink) 
                             VALUES ('{0}', {1}, {2}, '{3}', {4}, '{5}', '{6}')",
                           newSRBooking.Name, newSRBooking.SlotId, newSRBooking.PackageTypeId, $"{newSRBooking.BookingDate:yyyy-MM-dd}", newSRBooking.Hours, newSRBooking.AOSnack, newSRBooking.AODrink) == 1)
         {
             TempData["Msg"] = "New booking added.";
         }
         else
         {
             TempData["Msg"] = "Failed to add new booking.";
         }
         return(RedirectToAction("Index"));
     }
     else
     {
         TempData["Msg"] = "Invalid information entered";
         return(RedirectToAction("Index"));
     }
 }
        public IActionResult UpdateBooking(SRBooking uBook)
        {
            if (ModelState.IsValid)
            {
                string userId = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;
                if (DBUtl.ExecSQL(@"UPDATE SRBooking 
SET Name='{0}', SlotId={1}, PackageTypeId={2},BookingDate='{3}',Hours={4},AOSnack='{5}',AODrink='{6}' WHERE Id = {7} AND BookedBy={8}",
                                  uBook.Name, uBook.SlotId, uBook.PackageTypeId, $"{uBook.BookingDate:dd MMMM yyyy}", uBook.Hours, uBook.AOSnack, uBook.AODrink, uBook.Id, userId) == 1)
                {
                    TempData["Msg"] = $"Booking{uBook.Id} updated";
                }
                else
                {
                    TempData["Msg"] = DBUtl.DB_Message;
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                TempData["Msg"] = "Invalid information entered!";
                return(RedirectToAction("Index"));
            }
        }
Exemple #6
0
        public IActionResult UpdateBooking(SRBooking newSRBooking)
        {
            string userid = HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value;

            if (ModelState.IsValid)
            {
                if (DBUtl.ExecSQL(@"INSERT INTO SRBooking (Name, SlotId, PackageTypeId, BookingDate, Hours, AOSnack, AODrink,BookedBy) 
                                    VALUES ('{0}', {1}, {2}, '{3}', {4}, '{5}', '{6}',{7})",
                                  newSRBooking.Name, newSRBooking.SlotId, newSRBooking.PackageTypeId, $"{newSRBooking.BookingDate:dd MMMM yyyy}", newSRBooking.Hours, newSRBooking.AOSnack, newSRBooking.AODrink, userid) == 1)
                {
                    TempData["Msg"] = "New booking added.";
                }
                else
                {
                    TempData["Msg"] = DBUtl.DB_Message;
                }
                return(RedirectToAction("Index"));
            }
            else
            {
                TempData["Msg"] = "Invalid information entered!";
                return(RedirectToAction("Index"));
            }
        }