예제 #1
0
        public ActionResult Create([Bind(Include = "Id,Description")] Category category)
        {
            if (ModelState.IsValid)
            {
                db.Categories.Add(category);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(category));
        }
예제 #2
0
        public ActionResult Create([Bind(Include = "Id,Description")] Amenity amenity)
        {
            if (ModelState.IsValid)
            {
                db.Amenities.Add(amenity);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(amenity));
        }
예제 #3
0
        public ActionResult Create([Bind(Include = "Id,ApplicationUserId,AccommodationId,Arrival,Departure,Occupancy,Rating")] Booking booking)
        {
            if (ModelState.IsValid)
            {
                db.Bookings.Add(booking);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.AccommodationId = new SelectList(db.Accommodations, "Id", "Title", booking.AccommodationId);
            return(View(booking));
        }
예제 #4
0
        public ActionResult Create([Bind(Include = "Id,ImageUrl,AccommodationId")] Image image)
        {
            if (ModelState.IsValid)
            {
                db.Images.Add(image);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.AccommodationId = new SelectList(db.Accommodations, "Id", "Title", image.AccommodationId);
            return(View(image));
        }
예제 #5
0
        public ActionResult Create([Bind(Include = "Id,ApplicationUserId,Title,Location,Adress,Description,Occupancy,Rooms,Baths,Price,CategoryId")] Accommodation accommodation)
        {
            if (ModelState.IsValid)
            {
                db.Accommodations.Add(accommodation);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.CategoryId = new SelectList(db.Categories, "Id", "Description", accommodation.CategoryId);
            return(View(accommodation));
        }
예제 #6
0
        public ActionResult Add(ImageViewModel imageModel)
        {
            var accommodation = db.Accommodations.Find(imageModel.AccommodationId);

            var newImage = new Image()
            {
                Id       = imageModel.Id,
                Title    = imageModel.Title,
                ImageUrl = imageModel.ImageUrl
            };

            accommodation.Images.Add(newImage);
            db.SaveChanges();

            return(RedirectToAction("Details", "Accommodations", new { id = imageModel.AccommodationId }));
        }
예제 #7
0
        public static void AvailabilityDivision(AvailabilityFormViewModel availabilityModel, Availability availability)
        {
            using (CozySmartContext _db = new CozySmartContext())
            {
                var firstPart = new Availability()
                {
                    AvailabilityStart = availability.AvailabilityStart,
                    AvailabilityEnd   = availabilityModel.OccupationStart,
                    AccommodationId   = availabilityModel.AccommodationId
                };

                var secondPart = new Availability()
                {
                    AvailabilityStart = availabilityModel.OccupationEnd,
                    AvailabilityEnd   = availability.AvailabilityEnd,
                    AccommodationId   = availabilityModel.AccommodationId
                };

                var currentAccommodation = _db.Accommodations.Include(a => a.Availabilities).Where(a => a.Id == availabilityModel.AccommodationId).Single();

                var pastAvailability = _db.Availabilities.Find(availability.Id);

                _db.Availabilities.Remove(pastAvailability);
                currentAccommodation.Availabilities.Add(firstPart);
                currentAccommodation.Availabilities.Add(secondPart);

                _db.SaveChanges();
            }
        }
예제 #8
0
        public static void Update(AccommodationFormViewModel accommodationModel)
        {
            using (CozySmartContext _db = new CozySmartContext())
            {
                var selectedAmenities = accommodationModel.Amenities.Where(a => a.IsChecked).Select(a => a.Id).ToList();

                var savingAccommodation = _db.Accommodations.Single(a => a.Id == accommodationModel.Id);

                savingAccommodation.Title       = accommodationModel.Title;
                savingAccommodation.Location    = accommodationModel.Location;
                savingAccommodation.Adress      = accommodationModel.Adress;
                savingAccommodation.Thumbnail   = accommodationModel.Thumbnail;
                savingAccommodation.Bedrooms    = accommodationModel.Bedrooms;
                savingAccommodation.Baths       = accommodationModel.Baths;
                savingAccommodation.Description = accommodationModel.Description;
                savingAccommodation.Price       = accommodationModel.Price;
                savingAccommodation.CategoryId  = accommodationModel.CategoryId;

                savingAccommodation.Amenities.Clear();

                foreach (var amenityId in selectedAmenities)
                {
                    var amenity = _db.Amenities.Find(amenityId);

                    savingAccommodation.Amenities.Add(amenity);
                }

                _db.SaveChanges();
            }
        }
예제 #9
0
        public static void Add(AccommodationFormViewModel accommodationModel, string userId)
        {
            using (CozySmartContext _db = new CozySmartContext())
            {
                var defaultAvailability = new Availability(accommodationModel.Id);
                var selectedAmenities   = accommodationModel.Amenities.Where(a => a.IsChecked).Select(a => a.Id).ToList();

                var accommodation = new Accommodation()
                {
                    Id                = accommodationModel.Id,
                    Title             = accommodationModel.Title,
                    Location          = accommodationModel.Location,
                    Adress            = accommodationModel.Adress,
                    Thumbnail         = accommodationModel.Thumbnail,
                    Description       = accommodationModel.Description,
                    Occupancy         = accommodationModel.Occupancy,
                    Bedrooms          = accommodationModel.Bedrooms,
                    Baths             = accommodationModel.Baths,
                    Price             = accommodationModel.Price,
                    CategoryId        = accommodationModel.CategoryId,
                    ApplicationUserId = userId
                };

                accommodation.Availabilities.Add(defaultAvailability);

                foreach (var amenityId in selectedAmenities)
                {
                    var amenity = _db.Amenities.Find(amenityId);
                    accommodation.Amenities.Add(amenity);
                }

                _db.Accommodations.Add(accommodation);
                _db.SaveChanges();
            }
        }
예제 #10
0
        public ActionResult Delete(int id)
        {
            var accommodation = _db.Accommodations.Find(id);

            _db.Accommodations.Remove(accommodation);
            _db.SaveChanges();

            return(RedirectToAction("Index", "Accommodations"));
        }
예제 #11
0
        public ActionResult AutoBooking(int id)
        {
            var dates  = (DatesViewModel)Session["Dates"] ?? null;
            var userId = User.Identity.GetUserId();

            if (dates != null)
            {
                Booking newBooking = new Booking
                {
                    AccommodationId   = id,
                    Arrival           = dates.SearchArrival,
                    Departure         = dates.SearchDeparture,
                    ApplicationUserId = userId
                };


                _db.Bookings.Add(newBooking);
                _db.SaveChanges();
            }



            return(RedirectToAction("Index", "Home"));
        }
예제 #12
0
        public ActionResult Book(elements elementsforbooking)
        {
            var booking = new Booking
            {
                ApplicationUserId = 1,
                //Accomodation = elementsforbooking.Accommodation,
                AccommodationId = elementsforbooking.Accommodation_Id,
                Arrival         = elementsforbooking.Arrival,

                Departure = elementsforbooking.Departure,

                Occupancy = 1,
                Rating    = 1
            };


            db.Bookings.Add(booking);
            db.SaveChanges();



            return(View(elementsforbooking));
        }