コード例 #1
0
        // Token: 0x06001AC0 RID: 6848 RVA: 0x00064FF8 File Offset: 0x000631F8
        private ServiceResult <EwsRoomType[]> GetAllAvailableRooms()
        {
            UserContext       userContext  = UserContextManager.GetUserContext(base.CallContext.HttpContext, base.CallContext.EffectiveCaller, true);
            QueryFilter       filter       = null;
            AddressLists      addressLists = new AddressLists(base.CallContext.EffectiveCaller.ClientSecurityContext, base.MailboxIdentityMailboxSession.MailboxOwner, userContext);
            ADSessionSettings sessionSettings;

            if (addressLists.AllRoomsAddressList == null)
            {
                filter = new OrFilter(new QueryFilter[]
                {
                    new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.RecipientDisplayType, RecipientDisplayType.ConferenceRoomMailbox),
                    new ComparisonFilter(ComparisonOperator.Equal, ADRecipientSchema.RecipientDisplayType, RecipientDisplayType.SyncedConferenceRoomMailbox)
                });
                sessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(addressLists.GlobalAddressList.OrganizationId, addressLists.GlobalAddressList.Id);
            }
            else
            {
                sessionSettings = ADSessionSettings.FromOrganizationIdWithAddressListScopeServiceOnly(addressLists.AllRoomsAddressList.OrganizationId, addressLists.AllRoomsAddressList.Id);
            }
            int         lcid        = 0;
            CultureInfo cultureInfo = base.CallContext.AccessingPrincipal.PreferredCultures.FirstOrDefault <CultureInfo>();

            if (cultureInfo != null)
            {
                lcid = cultureInfo.LCID;
            }
            IRecipientSession tenantOrRootOrgRecipientSession = DirectorySessionFactory.Default.GetTenantOrRootOrgRecipientSession(null, null, lcid, true, ConsistencyMode.IgnoreInvalid, null, sessionSettings, 123, "GetAllAvailableRooms", "f:\\15.00.1497\\sources\\dev\\clients\\src\\Owa2\\Server\\Core\\ServiceCommands\\GetRoomsInternal.cs");

            ADRecipient[] rooms = tenantOrRootOrgRecipientSession.Find(null, QueryScope.SubTree, filter, new SortBy(ADRecipientSchema.DisplayName, SortOrder.Ascending), 100);
            return(new ServiceResult <EwsRoomType[]>(GetRooms.GetRoomTypes(rooms, this.GetHashCode()).ToArray()));
        }
コード例 #2
0
ファイル: Rooms.cs プロジェクト: Olbrasoft/Travel
        protected IQueryable <Room> ProjectionToRooms(GetRooms query, IQueryable <TypeOfRoom> typeOfRooms, IProjection projector)
        {
            var localizedTypesOfRooms = Source.SelectMany(p => p.LocalizedTypesOfRooms)
                                        .Where(p => p.LanguageId == query.LanguageId);

            localizedTypesOfRooms = localizedTypesOfRooms.Include(p => p.TypeOfRoom)
                                    .Where(p => p.TypeOfRoom.AccommodationId == query.AccommodationId);

            return(projector.ProjectTo <Room>(localizedTypesOfRooms));
        }
コード例 #3
0
ファイル: GetRoomsTest.cs プロジェクト: Olbrasoft/Travel
        public void Instance_Implement_Interface_IQueryOfRoom()
        {
            //Arrange
            var type         = typeof(IQuery <IEnumerable <Room> >);
            var providerMock = new Mock <IProvider>();

            //Act
            var query = new GetRooms(providerMock.Object);

            //Assert
            Assert.IsInstanceOf(type, query);
        }
コード例 #4
0
        public ApiResponse <List <Room> > GetRooms(GetRooms req)
        {
            var result = null as List <Room>;

            using (var connection = new SqlConnection(_connectionString.HotelManagement))
            {
                var cmd = new SqlCommand(p_Rooms_Get, connection)
                {
                    CommandType = CommandType.StoredProcedure
                };

                cmd.Parameters.AddWithValue("@UserID", _requestInfo.UserId);

                cmd.Parameters.Add("@RetVal", SqlDbType.Int).Direction          = ParameterDirection.Output;
                cmd.Parameters.Add("@RetMsg", SqlDbType.VarChar, 500).Direction = ParameterDirection.Output;

                cmd.Parameters.AddWithValue("@RoomID", req.RoomId);
                cmd.Parameters.AddWithValue("@RoomNo", req.RoomNo);
                cmd.Parameters.AddWithValue("@RoomTypeID", req.RoomTypeId);
                cmd.Parameters.AddWithValue("@RoomRate", req.RoomRate);
                cmd.Parameters.AddWithValue("@RoomStatusID", req.RoomStatusId);
                cmd.Parameters.AddWithValue("@MaxCapacity", req.MaxCapacity);
                cmd.Parameters.AddWithValue("@IncludeDisabled", req.IncludeDisabled);

                connection.Open();

                using (var dr = cmd.ExecuteReader())
                {
                    result = new List <Room>();
                    while (dr.Read())
                    {
                        result.Add(new Room
                        {
                            RoomId       = dr["RoomId"].ToSafeInt32(),
                            RoomNo       = dr["RoomNo"].ToSafeInt32(),
                            RoomTypeId   = dr["RoomTypeId"].ToSafeInt32(),
                            RoomRate     = dr["RoomRate"].ToSafeDecimal(),
                            RoomStatusId = dr["RoomStatusId"].ToSafeInt32(),
                            MaxCapacity  = dr["MaxCapacity"].ToSafeInt32(),
                            Disabled     = dr["Disabled"].ToSafeBool(),
                        });
                    }
                }
                return(new ApiResponse <List <Room> >
                {
                    Content = result,
                    Status = new ReturnStatus(cmd.Parameters["@RetVal"].Value.ToSafeInt32(),
                                              cmd.Parameters["@RetMsg"].Value.ToSafeString())
                });
            }
        }
コード例 #5
0
        public static RequiredBookingData GetRoomsData(string sid, string hotel, string Pid, string rooms)
        {
            try
            {  // call data acess layer
                var Rooms = GetRooms.GetRoomsData(sid, hotel, Pid, rooms);
                if (Rooms != null)
                {
                    return(Rooms);
                }

                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #6
0
        // Token: 0x06001ABF RID: 6847 RVA: 0x00064FA0 File Offset: 0x000631A0
        private ServiceResult <EwsRoomType[]> GetSpecifiedRooms()
        {
            GetRoomsRequest getRoomsRequest = new GetRoomsRequest();

            getRoomsRequest.RoomList = new EmailAddressWrapper
            {
                EmailAddress = this.roomList
            };
            GetRooms getRooms = new GetRooms(base.CallContext, getRoomsRequest);

            getRooms.PreExecute();
            ServiceResult <EwsRoomType[]> serviceResult = getRooms.Execute();

            getRooms.SetCurrentStepResult(serviceResult);
            getRooms.PostExecute();
            return(serviceResult);
        }
コード例 #7
0
ファイル: RoomsTest.cs プロジェクト: Olbrasoft/Travel
        public void HandleAsync()
        {
            //Arrange
            var ownerMock     = new Mock <IHavePropertyQueryable <TypeOfRoom> >();
            var projectorMock = new Mock <IProjection>();

            var handler = new Rooms(ownerMock.Object, projectorMock.Object);

            var providerMock = new Mock <IProvider>();
            var query        = new GetRooms(providerMock.Object);

            //Act
            var result = handler.HandleAsync(query, default(CancellationToken));

            //Assert
            Assert.IsInstanceOf <Task <IEnumerable <Room> > >(result);
        }
コード例 #8
0
        public static HotelSearchRoom GetRoomsByHotelIDAndProvide(string Sid, string pid, string Hid)
        {
            try
            {
                // call data acess layer
                var Rooms = GetRooms.GetRoomsByHotelIDAndProvide(Sid, pid, Hid);
                if (Rooms != null)
                {
                    return(Rooms);
                }

                return(null);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
コード例 #9
0
        /// <summary>
        /// Get a List of all Rooms
        /// </summary>
        /// <returns>The <see cref="List{Room}"/> of all returned Rooms.</returns>
        public async Task <List <Room> > GetRooms()
        {
            //Get the JSON
            GetRooms rooms = new GetRooms();

            //Send and receive JSON from WebUntis
            string requestJson  = JsonConvert.SerializeObject(rooms);
            string responseJson = await SendJsonAndWait(requestJson, _url, SessionId);

            //Parse JSON to Class
            RoomsResult result = JsonConvert.DeserializeObject <RoomsResult>(responseJson);

            string errorMsg = wus.LastError.Message;

            if (!SuppressErrors && errorMsg != null)
            {
                Logger.Append(Logger.LogLevel.Error, errorMsg);
                throw new WebUntisException(errorMsg);
            }

            //Return all the Rooms
            return(new List <Room>(result.result));
        }
コード例 #10
0
ファイル: Rooms.cs プロジェクト: Olbrasoft/Travel
        public override async Task <IEnumerable <Room> > HandleAsync(GetRooms query, CancellationToken cancellationToken)
        {
            var projection = ProjectionToRooms(query, Source, Projector);

            return(await projection.ToArrayAsync(cancellationToken));
        }
コード例 #11
0
 public List <Room> GetRooms(GetRooms req)
 {
     return(null);
 }
コード例 #12
0
        static CheckOutData fillAllTrivellers(CheckOutData data)
        {
            try
            {
                if (data.Pid == "5")
                {
                    //foreach (var item in data.Travellers)
                    //{
                    //    item.Main = true;
                    //}


                    //  CheckOutData outData = new CheckOutData();
                    string[] demydata   = new string[] { "dy", "di", "sy", "hm", "lm" };
                    string[] demydataCh = new string[] { "dyc", "dci", "syc", "hmc" };
                    int      numOfRooms = data.Travellers.Count;
                    List <BookingTraveller> LeadTraveller = new List <BookingTraveller>();
                    LeadTraveller.AddRange(data.Travellers);
                    SearchDBEntities searchDB = new SearchDBEntities();
                    var CountPax = searchDB.ProviderSessions.Where(ss => ss.SearchId == data.Sid).ToList();
                    var Rooms    = GetRooms.GetRoomsForTraveller(data.Sid, data.HotelID, data.Pid, data.Travellers.Select(a => a.roomNo.ToString()).ToList());
                    for (int i = 0; i < CountPax.Count; i++)
                    {
                        //foreach (var item in CountPax)
                        //{
                        data.Travellers[i].roomRef = i + 1;
                        var room = Rooms.FirstOrDefault(a => a.RoomCode == LeadTraveller[i].roomNo.ToString());
                        if (CountPax[i].Adult > 1)
                        {
                            for (int j = 0; j < CountPax[i].Adult - 1; j++)
                            {
                                BookingTraveller traveller = new BookingTraveller();
                                traveller.firstName   = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).firstName + demydata[j];
                                traveller.lastName    = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).lastName;
                                traveller.Main        = false;
                                traveller.paxType     = "adult";
                                traveller.roomNo      = int.Parse(room.RoomCode);
                                traveller.salutation  = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).salutation;
                                traveller.TravellerId = j + 2;
                                traveller.roomRef     = i + 1;
                                data.Travellers.Add(traveller);
                            }
                        }
                        if (CountPax[i].Child > 0)
                        {
                            for (int c = 0; c < CountPax[i].Child; c++)
                            {
                                BookingTraveller traveller = new BookingTraveller();
                                traveller.firstName   = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).firstName + demydataCh[c];
                                traveller.lastName    = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).lastName;
                                traveller.Main        = false;
                                traveller.paxType     = "Child";
                                traveller.roomNo      = int.Parse(room.RoomCode);
                                traveller.salutation  = "mr";
                                traveller.TravellerId = c + room.Adults.Value + 2;
                                traveller.roomRef     = i + 1;
                                data.Travellers.Add(traveller);
                            }
                        }
                        //}
                    }
                }
                else
                {
                    //  CheckOutData outData = new CheckOutData();
                    string[] demydata   = new string[] { "dy", "di", "sy", "hm", "lm" };
                    string[] demydataCh = new string[] { "dyc", "dci", "syc", "hmc" };
                    int      numOfRooms = data.Travellers.Count;
                    List <BookingTraveller> LeadTraveller = new List <BookingTraveller>();
                    LeadTraveller.AddRange(data.Travellers);
                    var Rooms = GetRooms.GetRoomsForTraveller(data.Sid, data.HotelID, data.Pid, data.Travellers.Select(a => a.roomNo.ToString()).ToList());
                    for (int i = 0; i < numOfRooms; i++)
                    {
                        data.Travellers[i].roomRef = i + 1;
                        var room = Rooms.FirstOrDefault(a => a.RoomCode == LeadTraveller[i].roomNo.ToString());
                        if (room.Adults > 1)
                        {
                            for (int j = 0; j < room.Adults - 1; j++)
                            {
                                BookingTraveller traveller = new BookingTraveller();
                                traveller.firstName   = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).firstName + demydata[j];
                                traveller.lastName    = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).lastName;
                                traveller.Main        = false;
                                traveller.paxType     = "adult";
                                traveller.roomNo      = int.Parse(room.RoomCode);
                                traveller.salutation  = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).salutation;
                                traveller.TravellerId = j + 2;
                                traveller.roomRef     = i + 1;
                                data.Travellers.Add(traveller);
                            }
                        }
                        if (room.Childern > 0)
                        {
                            for (int c = 0; c < room.Childern; c++)
                            {
                                BookingTraveller traveller = new BookingTraveller();
                                traveller.firstName   = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).firstName + demydataCh[c];
                                traveller.lastName    = data.Travellers.FirstOrDefault(x => x.roomNo.ToString() == room.RoomCode).lastName;
                                traveller.Main        = false;
                                traveller.paxType     = "Child";
                                traveller.roomNo      = int.Parse(room.RoomCode);
                                traveller.salutation  = "mr";
                                traveller.TravellerId = c + room.Adults.Value + 1;
                                traveller.roomRef     = i + 1;
                                data.Travellers.Add(traveller);
                            }
                        }
                    }
                }



                return(data);
            }

            catch (Exception ex)
            {
                throw ex;
            }
        }