コード例 #1
0
        public async Task <List <LinkRoomDto> > GetLinkRoomListAsync(string token, int guestId)
        {
            var guestList = await GuestRepository.GetLinkRoomListByGuestIdAsync(token, guestId);

            string[] roomArray = guestList.Select(x => x.RoomNo).Distinct().ToArray();
            var      roomList  = await RoomCodeRep.GetRoomInfoListByNoAsync(token, roomArray);

            string[] sysCodeArray = roomList.Select(x => x.RoomTypeCode).Distinct().ToArray();
            var      roomTypeList = await SysCodeRep.GetCodeListByMutliTypesAsync(token, new string[] { SystemCodeTypes.ROOM_CATEGORY });

            roomTypeList = roomTypeList.Where(x => sysCodeArray.Contains(x.SysCode)).ToList();

            List <LinkRoomDto> list = new List <LinkRoomDto>();

            foreach (var item in roomList)
            {
                LinkRoomDto roomDto = new LinkRoomDto();
                roomDto.GuestList = guestList.Where(x => x.RoomNo == item.RoomNo)
                                    .Select(x => new LinkGuestDto {
                    GuestId = x.Id, GuestName = x.ChineseName, RoomNo = x.RoomNo
                }).ToList();
                roomDto.RoomName = roomTypeList.Where(x => x.SysCode == item.RoomNo).Select(x => x.SysCodeName).FirstOrDefault();
                roomDto.RoomNo   = item.RoomNo;
                list.Add(roomDto);
            }

            return(list);
        }
コード例 #2
0
        public async Task <RoomListDto> LoadRoomListAsync(string token)
        {
            var roomCodeList = await RoomCodeRep.LoadRoomSymbolListAsync(token);

            var sysCodeList = await SysCodeRep.GetCodeListByMutliTypesAsync(token, new string[] { SystemCodeTypes.ROOM_CATEGORY, SystemCodeTypes.ROOM_GALLERY_CODE, SystemCodeTypes.ROOM_FLOOR_CODE, SystemCodeTypes.ROOM_STATE_TYPE });

            var guestList = await GuestRepository.GetListByStatusAsync(token, GuestInfoState.I); //在住客人列表

            var customerNOArray = guestList.Select(x => x.Id).ToArray();                         //在住客人账号列表
            var guestAccList    = await AccRepository.GetListByGuestIdsAsync(token, customerNOArray);

            var guestBookingList = await GuestRepository.GetListByStatusAsync(token, GuestInfoState.N);

            guestBookingList = guestBookingList.Where(x => (x.CheckInDate.HasValue && x.CheckInDate == DateTime.Today) && !x.RoomNo.IsEmpty()).ToList();//今日预低客人信息

            RoomListDto roomListGuiDto = new RoomListDto();

            roomListGuiDto.RoomList = BuildRoomList(sysCodeList, roomCodeList, guestAccList, guestList, guestBookingList);

            roomListGuiDto.GalleryList   = BuildGalleryList(sysCodeList, roomCodeList);
            roomListGuiDto.RoomTypeList  = BuildRoomTypeList(sysCodeList);
            roomListGuiDto.RoomStateList = BuildRoomStateList(sysCodeList);
            roomListGuiDto.RoomStatistic = BuildRoomStatisticInfo(roomCodeList);

            return(roomListGuiDto);
        }
コード例 #3
0
        public InitRoomDto InitRoomInfo(string token)
        {
            var sysCodeList = SysCodeRep.GetCodeListByMutliTypes(token, new string[] { SystemCodeTypes.MARKET_TYPE, SystemCodeTypes.COUNTRY_CODE, SystemCodeTypes.CREDENTIAL_CATEGORY, SystemCodeTypes.GENDER, SystemCodeTypes.GUEST_TYPE, SystemCodeTypes.PAYMENT_METHOD, SystemCodeTypes.PRICE_CATEGORY, SystemCodeTypes.ROOM_PRICE_STRUCT });

            sysCodeList = sysCodeList.Where(x => x.SysCodeState == "Y").ToList();

            InitRoomDto obj = new InitRoomDto();
            //obj.BookingTypeList = null;
            var clientTypeList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.MARKET_TYPE)
                                 .Select(x => new ClientSourceTypeDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();

            clientTypeList.Insert(0, new ClientSourceTypeDto()
            {
                Code = "", Name = "请选择"
            });
            obj.ClientSourceTypeList = clientTypeList;

            obj.CountrySourceList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.COUNTRY_CODE)
                                    .Select(x => new CountrySourceDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();
            obj.CountrySourceList.Insert(0, new CountrySourceDto()
            {
                Code = "", Name = "请选择"
            });

            obj.CredentialCategoryList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.CREDENTIAL_CATEGORY)
                                         .Select(x => new CredentialCategoryDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();
            obj.CredentialCategoryList.Insert(0, new CredentialCategoryDto()
            {
                Code = "", Name = "请选择"
            });

            obj.GenderTypeList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.GENDER)
                                 .Select(x => new GenderTypeDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();
            obj.GenderTypeList.Insert(0, new GenderTypeDto()
            {
                Code = "", Name = "请选择"
            });

            obj.GuestCategoryList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.GUEST_TYPE)
                                    .Select(x => new GuestCategoryDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();
            obj.GuestCategoryList.Insert(0, new GuestCategoryDto()
            {
                Code = "", Name = "请选择"
            });

            obj.GuestTypeList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.TEAM_TYPE)
                                .Select(x => new GuestTypeDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();
            obj.GuestTypeList.Insert(0, new GuestTypeDto()
            {
                Code = "", Name = "请选择"
            });

            obj.PaymentMethodList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.PAYMENT_METHOD)
                                    .Select(x => new PaymentMethodDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();
            obj.PaymentMethodList.Insert(0, new PaymentMethodDto()
            {
                Code = "", Name = "请选择"
            });

            obj.RoomPriceCategoryList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.PRICE_CATEGORY)
                                        .Select(x => new RoomPriceCategoryDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();
            obj.RoomPriceCategoryList.Insert(0, new RoomPriceCategoryDto()
            {
                Code = "", Name = "请选择"
            });

            obj.RoomPriceStructureList = sysCodeList.Where(x => x.SysCodeType == SystemCodeTypes.ROOM_PRICE_STRUCT)
                                         .Select(x => new RoomPriceStructureDto {
                Code = x.SysCode, Name = x.SysCodeName
            }).OrderBy(x => x.Code).ToList();
            obj.RoomPriceStructureList.Insert(0, new RoomPriceStructureDto()
            {
                Code = "", Name = "请选择"
            });

            return(obj);
        }