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