Пример #1
0
        //PUT: api/complex/deleteroom
        public async Task <ActionResult> DeleteRoomAsync([FromBody] ApiRoom room)
        {
            try
            {
                var roomtoDelete = new ApiRoomtoSend
                {
                    RoomId       = room.RoomId,
                    RoomNumber   = room.RoomNumber,
                    ComplexId    = room.ComplexId,
                    NumberOfBeds = room.NumberOfBeds,
                    RoomType     = room.ApiRoomType,
                    LeaseStart   = room.LeaseStart,
                    LeaseEnd     = room.LeaseEnd,
                    QueOperator  = 1
                };

                //send {send} to room service to delete a room
                await _roomServiceSender.SendRoomsMessages(roomtoDelete);

                await _complexRepository.DeleteAmenityRoomAsync(room.RoomId);

                _log.LogInformation("deleted amenity of room Id: {Room.RoomId}", room.RoomId);

                return(StatusCode(200));
            }
            catch (Exception ex)
            {
                _log.LogError("{ex}: Internal Server Error", ex);
                return(StatusCode(500, ex.Message));
            }
        }
Пример #2
0
        public async void DeleteRoomAsyncTest()
        {
            var rId  = Guid.NewGuid();
            var room = new ApiRoom
            {
                RoomId = rId
            };
            var roomtoSend = new ApiRoomtoSend
            {
                RoomId = rId
            };
            var complexRepo = new Mock <IRepository>();
            var logger      = new Mock <ILogger <ComplexController> >();
            var rss         = new Mock <IRoomServiceSender>();
            var ar          = new Mock <IAddressRequest>();
            var rr          = new Mock <IRoomRequest>();
            var res         = true;

            complexRepo.Setup(r => r.DeleteAmenityRoomAsync(rId))
            .Returns(Task.FromResult(res));
            rss.Setup(r => r.SendRoomsMessages(roomtoSend));

            //act
            var controller = new ComplexController(complexRepo.Object, logger.Object, rss.Object, ar.Object, rr.Object);
            var model      = Assert.IsAssignableFrom <StatusCodeResult>(await controller.DeleteRoomAsync(room));

            //assert
            Assert.IsAssignableFrom <StatusCodeResult>(model);
        }
Пример #3
0
        public async void PostRoomsAsyncTest()
        {
            var amId    = Guid.NewGuid();
            var cId     = Guid.NewGuid();
            var rId     = Guid.NewGuid();
            var amenity = new ApiAmenity
            {
                AmenityId   = amId,
                AmenityType = "Pool",
                Description = "swimmming"
            };
            var amenities = new List <ApiAmenity>
            {
                amenity
            };
            var ar = new Logic.AmenityRoom
            {
                AmenityRoomId = Guid.NewGuid(),
                AmenityId     = amId,
                RoomId        = rId
            };
            var room = new ApiRoom
            {
                RoomId       = rId,
                RoomNumber   = "1234",
                ComplexId    = cId,
                ApiRoomType  = "dorm",
                NumberOfBeds = 3,
                LeaseStart   = Convert.ToDateTime("2010/1/1"),
                LeaseEnd     = Convert.ToDateTime("2020/1/1"),
                Amenities    = amenities
            };
            var rooms = new List <ApiRoom>
            {
                room
            };
            IEnumerable <ApiRoom> apiRooms = rooms;
            var complexRepo = new Mock <IRepository>();
            var logger      = new Mock <ILogger <ComplexController> >();
            var rss         = new Mock <IRoomServiceSender>();
            var ara         = new Mock <IAddressRequest>();
            var rr          = new Mock <IRoomRequest>();
            var res         = true;

            complexRepo.Setup(r => r.CreateAmenityRoomAsync(ar))
            .Returns(Task.FromResult(res));

            //act
            var controller = new ComplexController(complexRepo.Object, logger.Object, rss.Object, ara.Object, rr.Object);
            var model      = Assert.IsAssignableFrom <StatusCodeResult>(await controller.PostRoomsAsync(apiRooms));

            //assert
            Assert.IsAssignableFrom <StatusCodeResult>(model);
        }
Пример #4
0
        //PUT: api/complex/editroom
        public async Task <ActionResult> PutRoomAsync([FromBody] ApiRoom apiRoom)
        {
            var arts        = new ApiRoomtoSend();
            var amenityRoom = new Logic.AmenityRoom();

            try
            {
                arts.RoomId       = apiRoom.RoomId;
                arts.RoomNumber   = apiRoom.RoomNumber;
                arts.ComplexId    = apiRoom.ComplexId;
                arts.NumberOfBeds = apiRoom.NumberOfBeds;
                arts.RoomType     = apiRoom.ApiRoomType;
                arts.LeaseStart   = apiRoom.LeaseStart;
                arts.LeaseEnd     = apiRoom.LeaseEnd;
                arts.QueOperator  = 2;

                amenityRoom.AmenityRoomId = Guid.NewGuid();
                amenityRoom.RoomId        = arts.RoomId;

                await _complexRepository.DeleteAmenityRoomAsync(apiRoom.RoomId);

                _log.LogInformation(")Amenity of Room Id {apiRoom.RoomId} is deleted", apiRoom.RoomId);

                await _roomServiceSender.SendRoomsMessages(arts);

                foreach (var amenity in apiRoom.Amenities)
                {
                    amenityRoom.AmenityId = amenity.AmenityId;
                    await _complexRepository.CreateAmenityRoomAsync(amenityRoom);

                    _log.LogInformation("list of amenity with room id: {arts.RoomId} is created", arts.RoomId);
                }

                return(StatusCode(200));
            }
            catch (Exception ex)
            {
                _log.LogError("{ex}: Internal Server Error", ex);
                return(StatusCode(500, ex.Message));
            }
        }
Пример #5
0
        public void ApiRoomTest()
        {
            var cId   = Guid.NewGuid();
            var start = DateTime.Parse("2019/1/1");
            var end   = DateTime.Parse("2020/1/1");
            var room  = new ApiRoom
            {
                RoomNumber   = "1234",
                ComplexId    = cId,
                NumberOfBeds = 3,
                ApiRoomType  = "apartment",
                LeaseStart   = start,
                LeaseEnd     = end
            };

            Assert.Equal("1234", room.RoomNumber);
            Assert.Equal(cId, room.ComplexId);
            Assert.Equal(3, room.NumberOfBeds);
            Assert.Equal("apartment", room.ApiRoomType);
            Assert.Equal(DateTime.Parse("2019/1/1"), room.LeaseStart);
            Assert.Equal(DateTime.Parse("2020/1/1"), room.LeaseEnd);
        }