示例#1
0
        public int GetNumberOfRoomAvaiable(Cruise cruise, DateTime date)
        {
            var roomClasses          = RoomClassRepository.RoomClassGetAll();
            var roomTypes            = RoomTypeRepository.RoomTypeGetAll();
            var numberOfRoomAvaiable = 0;

            foreach (RoomClass roomClass in roomClasses)
            {
                foreach (RoomTypex roomType in roomTypes)
                {
                    var numberOfRoomAvailableByRoomClassRoomType = SailsModule.RoomCount(roomClass, roomType, cruise, date, 2, 0);
                    if (numberOfRoomAvailableByRoomClassRoomType > 0)
                    {
                        numberOfRoomAvaiable += numberOfRoomAvailableByRoomClassRoomType;
                    }
                }
            }
            return(numberOfRoomAvaiable);
        }
示例#2
0
        public string RoomGetAvaiable(int roomClassId, int roomTypeId, int cruiseId, string startDate, int tripId)
        {
            CoreRepository CoreRepository = HttpContext.Current.Items["CoreRepository"] as CoreRepository;
            int            nodeId         = 1;
            Node           node           = (Node)CoreRepository.GetObjectById(typeof(Node), nodeId);
            int            sectionId      = 15;
            Section        section        = (Section)CoreRepository.GetObjectById(typeof(Section), sectionId);
            SailsModule    module         = (SailsModule)ContainerAccessorUtil.GetContainer().Resolve <ModuleLoader>().GetModuleFromSection(section);
            var            roomClass      = RoomServiceBLL.RoomClassGetById(roomClassId);
            var            roomType       = RoomServiceBLL.RoomTypeGetById(roomTypeId);
            var            cruise         = RoomServiceBLL.CruiseGetById(cruiseId);
            var            trip           = RoomServiceBLL.TripGetById(tripId);

            if (startDate == null)
            {
                return("Start date is required!");
            }
            var startDateDT = DateTime.ParseExact(startDate, "dd/MM/yyyy", CultureInfo.InvariantCulture);

            return(module.RoomCount(roomClass, roomType, cruise, startDateDT, trip.NumberOfDay, trip.HalfDay).ToString());
        }
示例#3
0
        public string GetAvaiableRoom(string ci, string sd, string ti, string SectionId, string NodeId)
        {
            CoreRepository CoreRepository = HttpContext.Current.Items["CoreRepository"] as CoreRepository;
            int            nodeId         = Int32.Parse(NodeId);
            Node           node           = (Node)CoreRepository.GetObjectById(typeof(Node), nodeId);
            int            sectionId      = Int32.Parse(SectionId);
            Section        section        = (Section)CoreRepository.GetObjectById(typeof(Section), sectionId);
            SailsModule    module         = (SailsModule)ContainerAccessorUtil.GetContainer().Resolve <ModuleLoader>().GetModuleFromSection(section);

            DateTime?startDate = null;

            try
            {
                startDate = DateTime.ParseExact(sd, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            }
            catch { }

            var tripId = -1;

            try
            {
                tripId = Convert.ToInt32(ti);
            }
            catch { }
            var trip = AddSeriesBookingsBLL.TripGetById(tripId);

            var cruiseId = -1;

            try
            {
                cruiseId = Convert.ToInt32(ci);
            }
            catch { }
            var cruise = AddSeriesBookingsBLL.CruiseGetById(cruiseId);

            var listRoomClass = AddSeriesBookingsBLL.RoomClassGetAll();
            var listRoomType  = AddSeriesBookingsBLL.RoomTypeGetAll();

            var listAvaiableRoomDTO = new List <AvaiableRoomDTO>();

            foreach (var roomClass in listRoomClass)
            {
                foreach (var roomType in listRoomType)
                {
                    if (trip == null)
                    {
                        break;
                    }

                    if (!startDate.HasValue)
                    {
                        break;
                    }

                    var roomCount = module.RoomCount(roomClass, roomType, cruise, startDate.Value, trip.NumberOfDay, true,
                                                     trip.HalfDay);


                    var avaiableRoomDTO = new AvaiableRoomDTO();
                    if (roomCount > -1)
                    {
                        avaiableRoomDTO.KindOfRoom = roomClass.Name + " " + roomType.Name;
                        avaiableRoomDTO.RoomClass  = new AvaiableRoomDTO.RoomClassDTO()
                        {
                            Id   = roomClass.Id,
                            Name = roomClass.Name
                        };

                        avaiableRoomDTO.RoomType = new AvaiableRoomDTO.RoomTypeDTO()
                        {
                            Id   = roomType.Id,
                            Name = roomType.Name,
                        };

                        var NoOfAdult = roomCount;
                        avaiableRoomDTO.NoOfAdult = NoOfAdult;

                        var NoOfChild = roomCount;
                        avaiableRoomDTO.NoOfChild = NoOfChild;

                        var NoOfBaby = roomCount;
                        avaiableRoomDTO.NoOfBaby = NoOfBaby;

                        listAvaiableRoomDTO.Add(avaiableRoomDTO);
                    }
                }
            }
            Dispose();
            return(JsonConvert.SerializeObject(listAvaiableRoomDTO));
        }
示例#4
0
        public string CheckRoom(string sd, string ti, string SectionId, string NodeId)
        {
            CoreRepository CoreRepository = HttpContext.Current.Items["CoreRepository"] as CoreRepository;
            int            nodeId         = Int32.Parse(NodeId);
            Node           node           = (Node)CoreRepository.GetObjectById(typeof(Node), nodeId);
            int            sectionId      = Int32.Parse(SectionId);
            Section        section        = (Section)CoreRepository.GetObjectById(typeof(Section), sectionId);
            SailsModule    module         = (SailsModule)ContainerAccessorUtil.GetContainer().Resolve <ModuleLoader>().GetModuleFromSection(section);

            DateTime?startDate = null;

            try
            {
                startDate = DateTime.ParseExact(sd, "dd/MM/yyyy", CultureInfo.InvariantCulture);
            }
            catch { }

            var tripId = -1;

            try
            {
                tripId = Convert.ToInt32(ti);
            }
            catch { }

            var trip          = AddSeriesBookingsBLL.TripGetById(tripId);
            var listRoomClass = AddSeriesBookingsBLL.RoomClassGetAll();
            var listRoomType  = AddSeriesBookingsBLL.RoomTypeGetAll();
            var listCruise    = AddSeriesBookingsBLL.CruiseGetAllByTrip(trip);

            var listCheckRoomResultDTO = new List <CheckRoomResultDTO>();

            foreach (var cruise in listCruise)
            {
                var checkRoomResultDTO = new CheckRoomResultDTO();
                checkRoomResultDTO.Cruise = new CheckRoomResultDTO.CruiseDTO()
                {
                    Id   = cruise.Id,
                    Name = cruise.Name
                };

                int    total  = 0;
                string detail = "";
                foreach (var roomClass in listRoomClass)
                {
                    foreach (var roomType in listRoomType)
                    {
                        if (trip == null)
                        {
                            break;
                        }

                        if (!startDate.HasValue)
                        {
                            break;
                        }

                        int avail = module.RoomCount(roomClass, roomType, cruise, startDate.Value, trip.NumberOfDay, trip.HalfDay);

                        if (avail > 0)
                        {
                            total  += avail;
                            detail += string.Format("{0} {2} {1} ", avail, roomType.Name, roomClass.Name);
                        }
                    }
                }
                checkRoomResultDTO.NoOfRoomAvaiable = total;
                checkRoomResultDTO.DetailRooms      = detail;
                listCheckRoomResultDTO.Add(checkRoomResultDTO);
            }
            Dispose();
            return(JsonConvert.SerializeObject(listCheckRoomResultDTO));
        }