/// <summary> /// Maps the HotelRooomViewModel to room /// </summary> /// <param name = "request" ></ param > /// < param name="roomFromDb"></param> /// <param name = "userName" ></ param > /// < returns ></ returns > public static Room AutoMapperRoom(HotelRoomTypeViewModel request, Room roomFromDb, string userName) { var roomMapped = AutoMapper.Mapper.Map <Room>(request); ResolveRemainingRoomParamters(roomMapped, roomFromDb, userName, (int)request.RoomBedOptions.OccupancyId); return(roomMapped); }
/// <summary> /// Parameters for CreateRoomType Stored Procedure /// </summary> /// <param name="request"></param> /// <param name="occupancyId"></param> /// <returns></returns> public static DynamicParameters CreateRoomTypeParameters(HotelRoomTypeViewModel request, string userName) { var isTwin = true; if (request.RoomBedOptions.RoomBedList.Any(x => x.BedId == (int)BedTypes.Queen || x.BedId == (int)BedTypes.King)) { isTwin = false; } DynamicParameters paramCollection = new DynamicParameters(); paramCollection.Add(Constants.StoredProcedureParameters.IsTwin, isTwin); paramCollection.Add(Constants.StoredProcedureParameters.HotelId, request.HotelId); paramCollection.Add(Constants.StoredProcedureParameters.RoomTypeId, request.RoomTypeId); paramCollection.Add(Constants.StoredProcedureParameters.RoomName, request.Name); paramCollection.Add(Constants.StoredProcedureParameters.RoomSize, request.Size); paramCollection.Add(Constants.StoredProcedureParameters.SizeMeasureId, request.SizeMeasureId); paramCollection.Add(Constants.StoredProcedureParameters.NoOfRooms, request.NoOfRooms); paramCollection.Add(Constants.StoredProcedureParameters.IsSmoking, request.IsSmoking); paramCollection.Add(Constants.StoredProcedureParameters.IsFreeSale, request.IsFreeSale); paramCollection.Add(Constants.StoredProcedureParameters.RoomDescription, request.Description); paramCollection.Add(Constants.StoredProcedureParameters.OccupancyId, request.RoomBedOptions.OccupancyId); paramCollection.Add(Constants.StoredProcedureParameters.IsActive, request.IsActive); paramCollection.Add(Constants.StoredProcedureParameters.CreatedBy, userName); paramCollection.Add(Constants.StoredProcedureParameters.UpdatedBy, userName); return(paramCollection); }
public void TestCreateRoomType_RoomSavePassed_Success() { //Arrange var userName = "******"; var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 0, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Added }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Added }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { IsActive = true, HotelId = 1, IsFreeSale = true, IsSmoking = true, NoOfRooms = 2, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Added }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; var room = new Room() { Id = 1 }; var baseResult = new BaseResult <List <Room> >() { Result = new List <Room>() { room } }; iRoomLibrary.Setup(a => a.ExecuteStoredProcedure(It.IsAny <string>(), It.IsAny <DynamicParameters>())).Returns(Task.FromResult(baseResult)); //Act var result = roomRepository.SaveAndUpdateRoom(hotelRoomObject, userName); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Result is BaseResult <List <Room> >); Assert.IsTrue(result.Result.Result.Any(x => x.Id == id)); }
public void TestCreateRoomType_SaveRoom_Failed() { //Arrange var userName = "******"; var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 0, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Added }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Added }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { IsActive = true, HotelId = 1, IsFreeSale = true, IsSmoking = true, NoOfRooms = 2, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Added }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; var room = new Room() { Id = 1 }; var baseResult = new BaseResult <List <Room> >() { IsError = true, ExceptionMessage = Helper.Common.GetMockException() }; iRoomLibrary.Setup(a => a.ExecuteStoredProcedure(It.IsAny <string>(), It.IsAny <DynamicParameters>())).Returns(Task.FromResult(baseResult)); //Act var result = roomRepository.SaveAndUpdateRoom(hotelRoomObject, userName); //Assert iRoomLibrary.Verify(); Assert.IsTrue(result.Result.IsError); Assert.IsTrue(result.Result.ExceptionMessage != null); }
public async Task TestCreateRoomType_Failed_Error() { //Arrange var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 0, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Added }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Added }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { IsActive = true, HotelId = 1, IsFreeSale = true, IsSmoking = true, NoOfRooms = 4, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Added }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; mockRoomRepository.Setup(a => a.SaveAndUpdateRoom(It.IsAny <HotelRoomTypeViewModel>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <List <Room> >() { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })).Verifiable(); mockRoomRepository.Setup(a => a.SaveAndUpdateRoomBedRelation(It.IsAny <HotelRoomTypeViewModel>(), It.IsAny <int>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <RoomBedRelation>() { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })).Verifiable(); // mockRoomRepository.Setup(a => a.GetOccupancy()).Returns(Task.FromResult(new BaseResult<List<Occupancy>>() { Result = new List<Occupancy> { new Occupancy { Id = 1, NoOfGuest = 2, IsActive = true } } })); var result = await mockRoomController.CreateRoomType(hotelRoomObject); //Assert //mockRoomRepository.Verify(); Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)result).StatusCode, 500); }
public void TestSaveAndUpdateRoomBedRelation_SaveRoom_Failed() { //Arrange var userName = "******"; var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 0, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Added }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Added }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { IsActive = true, HotelId = 1, IsFreeSale = true, IsSmoking = true, NoOfRooms = 2, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Added }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; iRoomBedRelationLibrary.Setup(a => a.InsertEntityList(It.IsAny <List <RoomBedRelation> >())).Returns(Task.FromResult(new BaseResult <long> { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })); //Act var result = roomRepository.SaveAndUpdateRoomBedRelation(hotelRoomObject, id, userName); //Assert iRoomLibrary.Verify(); Assert.IsTrue(result.Result.IsError); Assert.IsTrue(result.Result.ExceptionMessage != null); }
public void TestSaveAndUpdateRoomBedRelation_SavePassed_Success() { //Arrange var userName = "******"; var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 0, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Added }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Added }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { IsActive = true, HotelId = 1, IsFreeSale = true, IsSmoking = true, NoOfRooms = 2, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Added }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; iRoomBedRelationLibrary.Setup(a => a.InsertEntityList(It.IsAny <List <RoomBedRelation> >())).Returns(Task.FromResult(new BaseResult <long> { Result = id })); //Act var result = roomRepository.SaveAndUpdateRoomBedRelation(hotelRoomObject, id, userName); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Result is BaseResult <RoomBedRelation>); Assert.IsTrue(result.Result.Result.ID == id); }
/// <summary> /// maps the model to RoomBedRelation Entity /// </summary> /// <param name = "request" ></ param > /// < param name="hotelRoomId"></param> /// <returns></returns> public static BaseResult <RoomBedRelation> MapRoomBedRelationEntity(HotelRoomTypeViewModel request, RoomBedListViewModel item, int hotelRoomId, string userName) { BaseResult <RoomBedRelation> responseModel = new BaseResult <RoomBedRelation>(); RoomBedRelation roomBedRelation = new RoomBedRelation() { HotelId = (int)request.HotelId, BedId = (int)item.BedId, NoOfBeds = (int)item.NoOfBeds, HotelRoomId = hotelRoomId, IsDeleted = false, UpdatedBy = userName, CreatedBy = userName }; responseModel.Result = roomBedRelation; return(responseModel); }
public async Task TestCreateRoomType_Failed_BadRequest() { //Arrange var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 0, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Added }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Added }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { IsActive = true, HotelId = 1, IsFreeSale = true, IsSmoking = true, NoOfRooms = 2, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Added, NoOfDoubleRooms = 0, NoOfTwinRooms = 0, }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; //Act var result = await mockRoomController.CreateRoomType(hotelRoomObject); //Assert mockRoomRepository.Verify(); Assert.IsTrue(result is BadRequestObjectResult); Assert.AreEqual(((BadRequestObjectResult)result).StatusCode, 400); }
public static DynamicParameters UpdateRoomTypeParameters(HotelRoomTypeViewModel request, string userName) { DynamicParameters paramCollection = new DynamicParameters(); paramCollection.Add(Constants.StoredProcedureParameters.RoomId, request.RoomId); paramCollection.Add(Constants.StoredProcedureParameters.RoomTypeId, request.RoomTypeId); paramCollection.Add(Constants.StoredProcedureParameters.RoomName, request.Name); paramCollection.Add(Constants.StoredProcedureParameters.RoomSize, request.Size); paramCollection.Add(Constants.StoredProcedureParameters.SizeMeasureId, request.SizeMeasureId); paramCollection.Add(Constants.StoredProcedureParameters.NoOfRooms, request.NoOfRooms); paramCollection.Add(Constants.StoredProcedureParameters.IsSmoking, request.IsSmoking); paramCollection.Add(Constants.StoredProcedureParameters.IsFreeSale, request.IsFreeSale); paramCollection.Add(Constants.StoredProcedureParameters.RoomDescription, request.Description); paramCollection.Add(Constants.StoredProcedureParameters.OccupancyId, request.RoomBedOptions.OccupancyId); paramCollection.Add(Constants.StoredProcedureParameters.IsActive, request.IsActive); paramCollection.Add(Constants.StoredProcedureParameters.UpdatedBy, userName); paramCollection.Add(Constants.StoredProcedureParameters.UpdatedDate, Common.JakartaOffset(DateTime.Now)); return(paramCollection); }
/// <summary> /// maps the model to RoomBedRelation Entity /// </summary> /// <param name="request"></param> /// <param name="hotelRoomId"></param> /// <returns></returns> public static BaseResult <List <RoomBedRelation> > CreateRoomBedRelation(HotelRoomTypeViewModel request, int hotelRoomId, string userName) { BaseResult <List <RoomBedRelation> > responseModel = new BaseResult <List <RoomBedRelation> >(); var list = new List <RoomBedRelation>(); foreach (var item in request.RoomBedOptions.RoomBedList) { RoomBedRelation roomBedRelation = new RoomBedRelation() { HotelId = (int)request.HotelId, BedId = (int)item.BedId, NoOfBeds = (int)item.NoOfBeds, HotelRoomId = hotelRoomId, IsDeleted = false, UpdatedBy = userName, CreatedBy = userName }; list.Add(roomBedRelation); } responseModel.Result = list; return(responseModel); }
/// <summary> /// Maps to Hotelroom view model /// </summary> /// <param name="room"></param> /// <param name="roomBed"></param> /// <returns>BaseResult<HotelRoomTypeViewModel></returns> public static BaseResult <HotelRoomTypeViewModel> MapRoomDetails(Room room, List <RoomBedRelation> roomBed) { BaseResult <HotelRoomTypeViewModel> model = new BaseResult <HotelRoomTypeViewModel>(); List <RoomBedListViewModel> roomBedList = new List <RoomBedListViewModel>(); HotelRoomTypeViewModel roomModel = new HotelRoomTypeViewModel { RoomId = room.Id, HotelId = room.HotelId, IsActive = room.IsActive, IsFreeSale = room.IsFreeSale, IsSmoking = room.IsSmoking, NoOfRooms = room.NoOfRooms, Description = room.Description, Name = room.Name, Size = room.Size, RoomTypeId = room.RoomTypeId, SizeMeasureId = room.SizeMeasureId, }; foreach (var item in roomBed) { RoomBedListViewModel roomBedModel = new RoomBedListViewModel { ID = item.ID, BedId = item.BedId, NoOfBeds = item.NoOfBeds }; roomBedList.Add(roomBedModel); } RoomBedOptionViewModel roomBedOptionModel = new RoomBedOptionViewModel { OccupancyId = room.NoOfGuests, }; roomBedOptionModel.RoomBedList = roomBedList; roomModel.RoomBedOptions = roomBedOptionModel; model.Result = roomModel; return(model); }
public async Task <IActionResult> CreateRoomType([FromBody] HotelRoomTypeViewModel request) { BaseResult <List <Room> > createRoomTypeResponse = new BaseResult <List <Room> >(); BaseResult <RoomBedRelation> createRoomBedRelationResponse = new BaseResult <RoomBedRelation>(); if (request != null) { createRoomTypeResponse = await iRoom.SaveAndUpdateRoom(request, base.LoggedInUserName); if (createRoomTypeResponse.Message != null) { return(BadRequest(createRoomTypeResponse)); } if (createRoomTypeResponse.IsError && createRoomTypeResponse.ExceptionMessage != null) { return(StatusCode(500, createRoomTypeResponse)); } createRoomBedRelationResponse = await iRoom.SaveAndUpdateRoomBedRelation(request, createRoomTypeResponse.Result[0].Id, base.LoggedInUserName); if (createRoomBedRelationResponse.Message != null) { return(BadRequest(createRoomBedRelationResponse)); } if (createRoomBedRelationResponse.IsError && createRoomBedRelationResponse.ExceptionMessage != null) { return(StatusCode(500, createRoomBedRelationResponse)); } return(Ok(createRoomTypeResponse)); //200 } else { createRoomTypeResponse.IsError = true; createRoomTypeResponse.Message = coreHelper.Constants.ErrorMessage.EmptyModel; return(BadRequest(createRoomTypeResponse)); } }
/// <summary> /// Creates Room bed Relation or updates the existing one /// </summary> /// <param name="request"></param> /// <param name="hotelRoomId"></param> /// <param name="userName"></param> /// <returns>Task<BaseResult<RoomBedRelation>></returns> public async Task <BaseResult <RoomBedRelation> > SaveAndUpdateRoomBedRelation(HotelRoomTypeViewModel request, int hotelRoomId, string userName) { BaseResult <RoomBedRelation> result = new BaseResult <RoomBedRelation>(); result.Result = new RoomBedRelation(); var update = false; if (request.RoomBedOptions.ObjectState == ObjectState.Added) { var list = RoomRequestMapper.CreateRoomBedRelation(request, hotelRoomId, userName); var insertResult = await iRoomBedRelationLibrary.InsertEntityList(list.Result).ConfigureAwait(false); if (insertResult.IsError && insertResult.ExceptionMessage != null) { result.IsError = insertResult.IsError; result.ExceptionMessage = insertResult.ExceptionMessage; return(result); } result.Result.ID = (int)insertResult.Result; return(result); } if (request.RoomBedOptions.ObjectState == ObjectState.Modified || request.RoomBedOptions.ObjectState == ObjectState.Unchanged) { foreach (var item in request.RoomBedOptions.RoomBedList) { if (item.ObjectState == ObjectState.Modified && item.ID > 0) { var oldItem = await iRoomBedRelationLibrary.GetListByPredicate(x => x.ID == item.ID && !x.IsDeleted); if (result.IsError || oldItem.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = oldItem.ExceptionMessage; return(result); } if (oldItem != null && oldItem.Result.Any()) { var newRoomBed = RoomRequestMapper.AutoMapperRoomBedRelation(item, oldItem.Result[0], userName); var updateResult = await iRoomBedRelationLibrary.UpdateEntityByDapper(newRoomBed).ConfigureAwait(false); if (updateResult.IsError || updateResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = updateResult.ExceptionMessage; return(result); } else if (updateResult == null) { result = null; return(result); } if (updateResult.Result == true) { result.Result.ID = newRoomBed.ID; } } } else if (item.ObjectState == ObjectState.Added && item.ID == 0) { var list = RoomRequestMapper.MapRoomBedRelationEntity(request, item, hotelRoomId, userName); var insertResult = await iRoomBedRelationLibrary.InsertEntity(list.Result).ConfigureAwait(false); if (insertResult.IsError || insertResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = insertResult.ExceptionMessage; return(result); } else if (insertResult == null) { result = null; return(result); } result.Result.ID = (int)insertResult.Result; } } //var roomBedList = await iRoomBedRelationLibrary.GetListByPredicate(x => x.HotelRoomId == hotelRoomId && !x.IsDeleted).ConfigureAwait(false); var room = await iRoomLibrary.GetEntity(hotelRoomId); if (room.IsError && room.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = room.ExceptionMessage; return(result); } if (request.RoomBedOptions.RoomBedList.Any(x => x.BedId == (int)BedTypes.King || x.BedId == (int)BedTypes.Queen)) { if (room.Result.IsTwin) { room.Result.IsTwin = false; update = true; } } else { if (!room.Result.IsTwin) { room.Result.IsTwin = true; update = true; } } if (update == true) { room.Result.UpdatedBy = userName; room.Result.UpdatedDate = DateTime.Now.JakartaOffset(); var secResult = await iRoomLibrary.UpdateEntityByDapper(room.Result); if (secResult.IsError && secResult.ExceptionMessage != null) { result.IsError = secResult.IsError; result.ExceptionMessage = secResult.ExceptionMessage; return(result); } } } return(result); }
/// <summary> /// Creates new room type or updates the existing one /// </summary> /// <param name="request"></param> /// <param name="userName"></param> /// <returns>Task<BaseResult<List<Room>>></returns> public async Task <BaseResult <List <Room> > > SaveAndUpdateRoom(HotelRoomTypeViewModel request, string userName) { BaseResult <List <Room> > result = new BaseResult <List <Room> >() { Result = new List <Room>() { new Room() { Id = 0 } } }; if (request.ObjectState == ObjectState.Added) { DynamicParameters paramCollection = RoomRequestMapper.CreateRoomTypeParameters(request, userName); result = await iRoomLibrary.ExecuteStoredProcedure(Constants.StoredProcedure.CreateRoomType, paramCollection).ConfigureAwait(false); return(result); } else if (request.ObjectState == ObjectState.Modified) { if (request.RoomId <= default(int)) { result.IsError = true; result.ErrorCode = (int)coreHelper.Constants.ErrorCodes.NoRoomOfID; result.Message = string.Format(coreHelper.Constants.ErrorMessage.NoRoomOfID, request.RoomId); return(result); } var room = await iRoomLibrary.GetListByPredicate(x => x.Id == request.RoomId && x.HotelId == request.HotelId && !x.IsDeleted); if (room.IsError == true || room.ExceptionMessage != null) { result.ExceptionMessage = room.ExceptionMessage; result.IsError = room.IsError; return(result); } if (!room.Result.Any()) { result.IsError = true; result.ErrorCode = (int)coreHelper.Constants.ErrorCodes.NoRoomOfID; result.Message = string.Format(coreHelper.Constants.ErrorMessage.NoRoomOfID, request.RoomId); return(result); } var updatedRoom = RoomRequestMapper.AutoMapperRoom(request, room.Result[0], userName); var updateResult = await iRoomLibrary.UpdateEntityByDapper(updatedRoom).ConfigureAwait(false); if (updateResult.IsError || updateResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = updateResult.ExceptionMessage; return(result); } else if (updateResult == null) { result = null; return(result); } if (updateResult.Result == true) { result.Result[0].Id = updatedRoom.Id; } return(result); } else { var room = await iRoomLibrary.GetListByPredicate(x => x.Id == request.RoomId && x.HotelId == request.HotelId && !x.IsDeleted); return(room); } return(result); }
/// <summary> /// Creates Room bed Relation or updates the existing one /// </summary> /// <param name="request"></param> /// <param name="hotelRoomId"></param> /// <param name="userName"></param> /// <returns>Task<BaseResult<RoomBedRelation>></returns> public async Task <BaseResult <RoomBedRelation> > SaveAndUpdateRoomBedRelation(HotelRoomTypeViewModel request, int hotelRoomId, string userName) { BaseResult <RoomBedRelation> result = new BaseResult <RoomBedRelation>(); result.Result = new RoomBedRelation(); if (request.RoomBedOptions.ObjectState == ObjectState.Added) { var list = RoomRequestMapper.CreateRoomBedRelation(request, hotelRoomId, userName); var insertResult = await iRoomBedRelationLibrary.InsertEntityList(list.Result).ConfigureAwait(false); if (insertResult.IsError && insertResult.ExceptionMessage != null) { result.IsError = insertResult.IsError; result.ExceptionMessage = insertResult.ExceptionMessage; return(result); } result.Result.ID = (int)insertResult.Result; return(result); } if (request.RoomBedOptions.ObjectState == ObjectState.Modified || request.RoomBedOptions.ObjectState == ObjectState.Unchanged) { foreach (var item in request.RoomBedOptions.RoomBedList) { if (item.ObjectState == ObjectState.Modified && item.ID > 0) { var oldItem = await iRoomBedRelationLibrary.GetListByPredicate(x => x.ID == item.ID && !x.IsDeleted); if (result.IsError || oldItem.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = oldItem.ExceptionMessage; return(result); } if (oldItem != null && oldItem.Result.Any()) { var newRoomBed = RoomRequestMapper.AutoMapperRoomBedRelation(item, oldItem.Result[0], userName); var updateResult = await iRoomBedRelationLibrary.UpdateEntityByDapper(newRoomBed).ConfigureAwait(false); if (updateResult.IsError || updateResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = updateResult.ExceptionMessage; return(result); } else if (updateResult == null) { result = null; return(result); } if (updateResult.Result == true) { result.Result.ID = newRoomBed.ID; } } } else if (item.ObjectState == ObjectState.Added && item.ID == 0) { var list = RoomRequestMapper.MapRoomBedRelationEntity(request, item, hotelRoomId, userName); var insertResult = await iRoomBedRelationLibrary.InsertEntity(list.Result).ConfigureAwait(false); if (insertResult.IsError || insertResult.ExceptionMessage != null) { result.IsError = true; result.ExceptionMessage = insertResult.ExceptionMessage; return(result); } else if (insertResult == null) { result = null; return(result); } result.Result.ID = (int)insertResult.Result; } //else //{ // result.IsError = true; // result.ErrorCode = (int)coreHelper.Constants.ErrorCodes.NoRoomBedRelationOfID; // result.Message = string.Format(coreHelper.Constants.ErrorMessage.NoRoomBedRelationOfID,item.ID); // return result; //} } return(result); } return(result); }
public void TestSaveAndUpdateRoomBedRelation_EditRoom_Failed() { //Arrange var userName = "******"; var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 1, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Modified }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Modified }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { RoomId = id, IsActive = true, HotelId = 1, IsFreeSale = true, IsSmoking = true, NoOfRooms = 2, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Unchanged }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; var room = new RoomBedRelation() { ID = id, IsDeleted = false, HotelId = id }; var baseResult = new BaseResult <List <RoomBedRelation> >() { Result = new List <RoomBedRelation>() { room } }; var pred = new Func <RoomBedRelation, bool>(x => x.ID == id && x.IsDeleted == false); iRoomBedRelationLibrary.Setup(a => a.GetListByPredicate(It.Is <Func <RoomBedRelation, bool> >(x => x.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)).Verifiable(); iRoomBedRelationLibrary.Setup(a => a.UpdateEntityByDapper(It.IsAny <RoomBedRelation>())).Returns(Task.FromResult(new BaseResult <bool> { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })).Verifiable(); //Act var result = roomRepository.SaveAndUpdateRoomBedRelation(hotelRoomObject, id, userName); //Assert iRoomLibrary.Verify(); Assert.IsTrue(result.Result.IsError); Assert.IsTrue(result.Result.ExceptionMessage != null); }
public void TestSaveAndUpdateRoomBedRelation_RoomEditPassed_Success() { //Arrange var userName = "******"; var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 1, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Modified }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Modified }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { RoomId = 1, IsActive = true, HotelId = 1, IsFreeSale = true, IsSmoking = true, NoOfRooms = 2, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Modified }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; var room = new Room() { Id = id, IsActive = true, IsDeleted = false, HotelId = id }; var baseResult = new BaseResult <List <Room> >() { Result = new List <Room>() { room } }; var pred = new Func <Room, bool>(x => x.Id == id && x.IsDeleted == false); iRoomLibrary.Setup(a => a.GetListByPredicate(It.Is <Func <Room, bool> >(x => x.GetType() == pred.GetType()))).Returns(Task.FromResult(baseResult)).Verifiable(); iRoomLibrary.Setup(a => a.UpdateEntityByDapper(It.IsAny <Room>())).Returns(Task.FromResult(new BaseResult <bool> { Result = true })).Verifiable(); //Act var result = roomRepository.SaveAndUpdateRoom(hotelRoomObject, userName); //Assert Assert.IsNotNull(result); Assert.IsTrue(result.Result is BaseResult <List <Room> >); Assert.IsTrue(result.Result.Result.Any(x => x.Id == id)); }
public async Task TestCreateRoomType_SuccessOkResponse() { //Arrange var id = 1; var roombedObject = new RoomBedListViewModel() { ID = 0, BedId = id, NoOfBeds = 2, ObjectState = ObjectState.Added }; var roomBedOptionObject = new RoomBedOptionViewModel() { OccupancyId = id, ObjectState = ObjectState.Added }; roomBedOptionObject.RoomBedList.Add(roombedObject); var hotelRoomObject = new HotelRoomTypeViewModel() { RoomId = 0, IsActive = true, HotelId = id, IsFreeSale = true, IsSmoking = true, NoOfRooms = 4, Description = "Description", Name = "Name", Size = 5, RoomTypeId = id, SizeMeasureId = id, ObjectState = ObjectState.Added }; hotelRoomObject.RoomBedOptions = roomBedOptionObject; mockRoomRepository.Setup(a => a.SaveAndUpdateRoom(It.IsAny <HotelRoomTypeViewModel>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <List <Room> >() { Result = new List <Room>() { new Room() { Id = id } } })); mockRoomRepository.Setup(a => a.SaveAndUpdateRoomBedRelation(It.IsAny <HotelRoomTypeViewModel>(), It.IsAny <int>(), It.IsAny <string>())).Returns(Task.FromResult(new BaseResult <RoomBedRelation>() { Result = new RoomBedRelation { ID = id } })); // mockRoomRepository.Setup(a => a.GetOccupancy()).Returns(Task.FromResult(new BaseResult<List<Occupancy>>() { Result = new List<Occupancy> { new Occupancy { Id = 1, NoOfGuest = 2, IsActive = true } } })); //Act IActionResult result = await mockRoomController.CreateRoomType(hotelRoomObject); BaseResult <List <Room> > finalResult = (result as Microsoft.AspNetCore.Mvc.OkObjectResult).Value as BaseResult <List <Room> >; //Assert Assert.AreEqual(((Microsoft.AspNetCore.Mvc.ObjectResult)result).StatusCode, 200); Assert.IsNotNull(finalResult); Assert.IsTrue(!finalResult.IsError); }