public async Task TestSaveAndUpdateChildAndExtraBedPolicy_Save_Failed_Error() { //Arrange ChildrenAndExtraBedPolicies childrenAndExtraBedPoliciesModel = new ChildrenAndExtraBedPolicies(); ObjectState objectState = ObjectState.Added; iChildrenAndExtraBedPoliciesConnectionLibrary.Setup(x => x.InsertEntity(It.IsAny <ChildrenAndExtraBedPolicies>())).Returns(Task.FromResult(new BaseResult <long>() { IsError = true, ExceptionMessage = Helper.Common.GetMockException() })).Verifiable(); //Act Task <BaseResult <ChildrenAndExtraBedPolicies> > actionResult = policiesRepository.SaveAndUpdateChildAndExtraBedPolicy(childrenAndExtraBedPoliciesModel, objectState); //Assert Assert.IsTrue(actionResult.Result.IsError); Assert.IsTrue(actionResult.Result.ExceptionMessage != null); }
//[ValidateModel] public async Task <IActionResult> CreateChildrenAndExtraBedPolicy([FromBody] ChildrenAndExtraBedPoliciesViewModel ChildrenAndExtraBedPoliciesViewModel) { ChildrenAndExtraBedPolicies childrenAndExtraBedPoliciesResult = null; string userName = base.LoggedInUserName; if (ChildrenAndExtraBedPoliciesViewModel != null && ChildrenAndExtraBedPoliciesViewModel.HotelId > default(int)) { //Fetch list of room by id List <Room> roomListResult = new List <Room>(); var maxChildAndExtraBedPerRoomList = ChildrenAndExtraBedPoliciesViewModel.MaxChildAndExtraBedPerRoomList; BaseResult <List <Room> > roomsResult = await iPolicies.GetRoomsById(ChildrenAndExtraBedPoliciesViewModel.MaxChildAndExtraBedPerRoomList).ConfigureAwait(false); if (roomsResult.IsError && roomsResult.ExceptionMessage != null) { return(new StatusCodeResult(500)); } var roomList = roomsResult.Result; //Map and retrieve childrenAndExtraBedPolicy and updated roomlist PoliciesRequestMapper.MapChildAndExtraBedPolicy(ref childrenAndExtraBedPoliciesResult, ref roomListResult, roomList, ChildrenAndExtraBedPoliciesViewModel, userName); //Save or Update Child and Extra Bed Policy BaseResult <ChildrenAndExtraBedPolicies> addOrUpdateChildrenAndExtraBedPoliciesResult = await iPolicies.SaveAndUpdateChildAndExtraBedPolicy(childrenAndExtraBedPoliciesResult, ChildrenAndExtraBedPoliciesViewModel.ObjectState).ConfigureAwait(false); if (addOrUpdateChildrenAndExtraBedPoliciesResult.IsError && addOrUpdateChildrenAndExtraBedPoliciesResult.ExceptionMessage != null) { return(new StatusCodeResult(500)); } else if (addOrUpdateChildrenAndExtraBedPoliciesResult.Result == null) { return(new NoContentResult()); } else if (addOrUpdateChildrenAndExtraBedPoliciesResult.Message != null) { return(BadRequest(addOrUpdateChildrenAndExtraBedPoliciesResult)); } //update list of room if (roomListResult.Count > 0) { BaseResult <bool> updateRoomListResult = await iPolicies.UpdateRoomList(roomListResult).ConfigureAwait(false); if (updateRoomListResult.IsError && updateRoomListResult.ExceptionMessage != null) { return(new StatusCodeResult(500)); } else if (!updateRoomListResult.Result) { return(new NotFoundResult());//404 } } return(Ok(addOrUpdateChildrenAndExtraBedPoliciesResult)); } return(BadRequest());//400 }