/// <summary> /// Deletes the room facility relation if object state is deleted /// </summary> /// <param name="facility"></param> /// <param name="userName"></param> /// <returns>Task<BaseResult<long>></returns> public async Task <BaseResult <long> > DeleteRoomFacilityRelation(RoomFacilityViewModel facility, string userName) { var updateResult = new BaseResult <bool>(); var result = new BaseResult <long>(); var list = new List <RoomFacilityRelation>(); var facilities = await this.iRoomFacilityRelationLibrary.GetListByPredicate(x => x.FacilityId == facility.Id && !x.IsDeleted); if (facilities.Result.Any()) { foreach (var roomFacility in facilities.Result) { roomFacility.IsDeleted = true; roomFacility.UpdatedBy = userName; roomFacility.UpdatedDate = DateTime.Now.JakartaOffset(); } updateResult = await this.iRoomFacilityRelationLibrary.UpdateEntityList(facilities.Result); if (updateResult.IsError || updateResult.ExceptionMessage != null) { result.IsError = updateResult.IsError; result.ExceptionMessage = updateResult.ExceptionMessage; return(result); } result.Result = 1; return(result); } return(result); }
/// <summary> /// Handles the object state unchanged of room facility /// </summary> /// <param name="facility"></param> /// <param name="userName"></param> /// <returns>Task<BaseResult<long>></returns> public async Task <BaseResult <long> > UnchangedRoomFacilityRelation(RoomFacilityViewModel facility, string userName, int hotelId) { var result = new BaseResult <long>(); var updateResult = new BaseResult <bool>(); var list = new List <RoomFacilityRelation>(); if (facility.IsSelected == true && facility.FacilitiesRoomList != null) { foreach (var roomFacility in facility.FacilitiesRoomList) { if (roomFacility.ObjectState == ObjectState.Added) { if (roomFacility.IsSelected == true) { RoomFacilityRelation roomFacilityRelation = new RoomFacilityRelation { HotelId = hotelId, FacilityId = facility.Id, FacilityTypeId = facility.FacilityTypeId, FacilityGroupId = facility.FacilityGroupId, IsDeleted = false, IsProvisioned = facility.IsSelected, CreatedBy = userName, UpdatedBy = userName, HotelRoomTypeId = roomFacility.RoomTypeId }; result = await this.iRoomFacilityRelationLibrary.InsertEntity(roomFacilityRelation); if (result.IsError || result.ExceptionMessage != null) { return(result); } result.Result = result.Result; } } else if (roomFacility.ObjectState == ObjectState.Deleted) { var roomFacilityItem = this.iRoomFacilityRelationLibrary.GetListByPredicate(x => x.FacilityId == facility.Id && !x.IsDeleted && x.Id == roomFacility.RoomFacilityRelationId).Result.Result.SingleOrDefault(); if (roomFacilityItem != null) { roomFacilityItem.IsDeleted = true; roomFacilityItem.UpdatedBy = userName; roomFacilityItem.UpdatedDate = DateTime.Now.JakartaOffset(); updateResult = await this.iRoomFacilityRelationLibrary.UpdateEntityByDapper(roomFacilityItem); if (updateResult.IsError || updateResult.ExceptionMessage != null) { result.IsError = updateResult.IsError; result.ExceptionMessage = updateResult.ExceptionMessage; return(result); } } } } } result.Result = 1; return(result); }
public async Task TestCreateRoomFacilityRelationEdit_SuccessOkResponse() { var id = 1; //Arrange RoomFacilityGroupListViewModel roomFacilities = new RoomFacilityGroupListViewModel() { HotelId = 1, ObjectState = ObjectState.Added, }; RoomFacilityGroupViewModel facilityGroup = new RoomFacilityGroupViewModel() { Id = 1, Name = "Group1", }; RoomFacilityTypeViewModel facilityType = new RoomFacilityTypeViewModel() { FacilityGroupId = 1, }; RoomFacilityViewModel facility = new RoomFacilityViewModel() { Id = 1, Name = "facility1", ObjectState = ObjectState.Deleted, FacilityGroupId = 1, IsSelected = true }; FacilitiesRoomList facilityRoom = new FacilitiesRoomList() { RoomTypeId = 1, RoomName = "Room1", IsSelected = true, ObjectState = ObjectState.Deleted }; facility.FacilitiesRoomList.Add(facilityRoom); facilityType.FacilityList.Add(facility); facilityGroup.RoomFacilityTypes.Add(facilityType); roomFacilities.FacilityGroupList.Add(facilityGroup); mockAmenitiesRepository.Setup(a => a.InsertAndUpdateRoomFacilityRelation(It.IsAny <RoomFacilityGroupListViewModel>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <long>() { Result = 1 })); //Act IActionResult result = await mockAmenitiesController.CreateRoomFacilityRelation(roomFacilities); BaseResult <long> finalResult = (result as Microsoft.AspNetCore.Mvc.OkObjectResult).Value as BaseResult <long>; //Assert Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)result).StatusCode, 200); Assert.IsNotNull(finalResult); Assert.IsTrue(!finalResult.IsError); Assert.IsTrue(finalResult.Result == id); }
public void TestInsertAndUpdateRoomFacilityRelation_SaveRoomFacilities_Success() { var id = 1; string userName = "******"; //Arrange RoomFacilityGroupListViewModel roomFacilities = new RoomFacilityGroupListViewModel() { HotelId = 1, ObjectState = ObjectState.Added, }; RoomFacilityGroupViewModel facilityGroup = new RoomFacilityGroupViewModel() { Id = 1, Name = "Group1", }; RoomFacilityTypeViewModel facilityType = new RoomFacilityTypeViewModel() { FacilityGroupId = 1, }; RoomFacilityViewModel facility = new RoomFacilityViewModel() { Id = 1, Name = "facility1", ObjectState = ObjectState.Added, FacilityGroupId = 1, IsSelected = true }; FacilitiesRoomList facilityRoom = new FacilitiesRoomList() { RoomTypeId = 1, RoomName = "Room1", IsSelected = true, ObjectState = ObjectState.Added }; facility.FacilitiesRoomList.Add(facilityRoom); facilityType.FacilityList.Add(facility); facilityGroup.RoomFacilityTypes.Add(facilityType); roomFacilities.FacilityGroupList.Add(facilityGroup); iRoomFacilityRelationLibrary.Setup(a => a.InsertEntityList(It.IsAny <List <RoomFacilityRelation> >())).Returns(Task.FromResult(new BaseResult <long>() { Result = id })).Verifiable(); //Act var result = amenitiesRepository.InsertAndUpdateRoomFacilityRelation(roomFacilities, userName); //Assert iRoomFacilityTypeLibrary.Verify(); Assert.IsNotNull(result); Assert.IsTrue(result.Result.Result == id); }
public async Task TestCreateRoomFacilityRelation_Failed_Error() { //Arrange RoomFacilityGroupListViewModel roomFacilities = new RoomFacilityGroupListViewModel() { HotelId = 1, ObjectState = ObjectState.Added, }; RoomFacilityGroupViewModel facilityGroup = new RoomFacilityGroupViewModel() { Id = 1, Name = "Group1", }; RoomFacilityTypeViewModel facilityType = new RoomFacilityTypeViewModel() { FacilityGroupId = 1, }; RoomFacilityViewModel facility = new RoomFacilityViewModel() { Id = 1, Name = "facility1", }; FacilitiesRoomList facilityRoom = new FacilitiesRoomList() { RoomTypeId = 1, RoomName = "Room1", IsSelected = true, }; facility.FacilitiesRoomList.Add(facilityRoom); facilityType.FacilityList.Add(facility); facilityGroup.RoomFacilityTypes.Add(facilityType); roomFacilities.FacilityGroupList.Add(facilityGroup); mockAmenitiesRepository.Setup(a => a.InsertAndUpdateRoomFacilityRelation(It.IsAny <RoomFacilityGroupListViewModel>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <long>() { IsError = true, ExceptionMessage = Helper.Common.GetMockException(), })).Verifiable(); //Act IActionResult result = await mockAmenitiesController.CreateRoomFacilityRelation(roomFacilities); //Assert mockAmenitiesRepository.Verify(); Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)result).StatusCode, 500); }
/// <summary> /// Adds thr room facility Relation if object state is added /// </summary> /// <param name="facility"></param> /// <param name="userName"></param> /// <returns>Task<BaseResult<long>></returns> public async Task <BaseResult <long> > AddRoomFacilityRelation(RoomFacilityViewModel facility, string userName, int hotelId) { var result = new BaseResult <long>(); var list = new List <RoomFacilityRelation>(); if (facility.IsSelected == true && facility.FacilitiesRoomList.Any()) { foreach (var facilityRoom in facility.FacilitiesRoomList) { if (facilityRoom.IsSelected == true) { RoomFacilityRelation roomFacilityRelation = new RoomFacilityRelation { HotelId = hotelId, FacilityId = facility.Id, FacilityTypeId = facility.FacilityTypeId, FacilityGroupId = facility.FacilityGroupId, IsDeleted = false, IsProvisioned = facility.IsSelected, CreatedBy = userName, UpdatedBy = userName, HotelRoomTypeId = facilityRoom.RoomTypeId }; list.Add(roomFacilityRelation); } } result = await this.iRoomFacilityRelationLibrary.InsertEntityList(list); if (result.IsError || result.ExceptionMessage != null) { return(result); } } else { result.Message = coreHelper.Constants.ErrorMessage.NoRooms; return(result); } return(result); }
public async Task <IViewComponentResult> InvokeAsync(int id) { RoomFacilityViewModel model = new RoomFacilityViewModel(); if (id == 0) { } var roomfacilities = _context.RoomFacilities. Include(p => p.HotelRoom).FirstOrDefault(p => p.HotelRoom.HotelRoomId == id); if (roomfacilities != null) { model.Ac = roomfacilities.Ac; model.Tv = roomfacilities.Tv; model.AttachedWashRoom = roomfacilities.AttachedWashRoom; model.Internet = roomfacilities.Internet; } return(View(model)); }
public async Task TestCreateRoomFacilityRelation_Failed_BadRequest1() { //Arrange RoomFacilityGroupListViewModel roomFacilities = new RoomFacilityGroupListViewModel() { HotelId = 1, ObjectState = ObjectState.Added, }; RoomFacilityGroupViewModel facilityGroup = new RoomFacilityGroupViewModel() { Id = 1, Name = "Group1", }; RoomFacilityTypeViewModel facilityType = new RoomFacilityTypeViewModel() { FacilityGroupId = 1, }; RoomFacilityViewModel facility = new RoomFacilityViewModel() { Id = 1, Name = "facility1", }; FacilitiesRoomList facilityRoom = null; facility.FacilitiesRoomList.Add(facilityRoom); facilityType.FacilityList.Add(facility); facilityGroup.RoomFacilityTypes.Add(facilityType); roomFacilities.FacilityGroupList.Add(facilityGroup); mockAmenitiesRepository.Setup(a => a.InsertAndUpdateRoomFacilityRelation(It.IsAny <RoomFacilityGroupListViewModel>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <long>() { Message = "Room must be selected" })); //Act var result = await mockAmenitiesController.CreateRoomFacilityRelation(roomFacilities); //Assert Assert.AreEqual(((BadRequestObjectResult)result).StatusCode, 400); }
public void TestInsertAndUpdateRoomFacilityRelation_DeleteRoomFacilities_Success() { var id = 1; string userName = "******"; //Arrange RoomFacilityGroupListViewModel roomFacilities = new RoomFacilityGroupListViewModel() { HotelId = 1, ObjectState = ObjectState.Added, }; RoomFacilityGroupViewModel facilityGroup = new RoomFacilityGroupViewModel() { Id = 1, Name = "Group1", }; RoomFacilityTypeViewModel facilityType = new RoomFacilityTypeViewModel() { FacilityGroupId = 1, }; RoomFacilityViewModel facility = new RoomFacilityViewModel() { Id = 1, Name = "facility1", ObjectState = ObjectState.Deleted, FacilityGroupId = 1, IsSelected = true }; FacilitiesRoomList facilityRoom = new FacilitiesRoomList() { RoomTypeId = 1, RoomName = "Room1", IsSelected = true, ObjectState = ObjectState.Unchanged }; facility.FacilitiesRoomList.Add(facilityRoom); facilityType.FacilityList.Add(facility); facilityGroup.RoomFacilityTypes.Add(facilityType); roomFacilities.FacilityGroupList.Add(facilityGroup); iRoomFacilityRelationLibrary.Setup(a => a.UpdateEntityList(It.IsAny <List <RoomFacilityRelation> >())).Returns(Task.FromResult(new BaseResult <bool>() { Result = true })).Verifiable(); var baseResult = new BaseResult <List <RoomFacilityRelation> >() { Result = new List <RoomFacilityRelation>() { new RoomFacilityRelation() { Id = 1, IsDeleted = false, FacilityId = 1 } } }; var pred = new Func <RoomFacilityRelation, bool>(x => x.FacilityId == id && x.IsDeleted == false); iRoomFacilityRelationLibrary.Setup(a => a.GetListByPredicate(It.Is <Func <RoomFacilityRelation, bool> >(x => x.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)).Verifiable(); //Act var result = amenitiesRepository.InsertAndUpdateRoomFacilityRelation(roomFacilities, userName); //Assert iRoomFacilityTypeLibrary.Verify(); Assert.IsNotNull(result); Assert.IsTrue(result.Result.Result == 1); }