//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)); } }
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); }
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); }
//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)); } }
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); }