// fetch all rows from table into new List of Contracts, filtered by any column
        // links:
        //  docLink: http://sql2x.org/documentationLink/ce01ef4a-5cd0-4e51-b211-9c0a15b791a0
        public List <CrudeBookingServiceRequestContract> FetchWithFilter(System.Guid bookingServiceRequestId, System.Guid bookingId, string serviceTypeRcd, System.Guid serviceSpecialServiceRequestId, string serviceRequestStatusRcd, System.Guid serviceHotelId, System.Guid serviceCarRentalId, System.Guid userId, System.DateTime dateTime, System.Guid serviceFerryId)
        {
            var list = new List <CrudeBookingServiceRequestContract>();
            List <CrudeBookingServiceRequestData> dataList = CrudeBookingServiceRequestData.FetchWithFilter(
                bookingServiceRequestId: bookingServiceRequestId,
                bookingId: bookingId,
                serviceTypeRcd: serviceTypeRcd,
                serviceSpecialServiceRequestId: serviceSpecialServiceRequestId,
                serviceRequestStatusRcd: serviceRequestStatusRcd,
                serviceHotelId: serviceHotelId,
                serviceCarRentalId: serviceCarRentalId,
                userId: userId,
                dateTime: dateTime,
                serviceFerryId: serviceFerryId
                );

            foreach (CrudeBookingServiceRequestData data in dataList)
            {
                var crudeBookingServiceRequestContract = new CrudeBookingServiceRequestContract();
                DataToContract(data, crudeBookingServiceRequestContract);
                list.Add(crudeBookingServiceRequestContract);
            }

            return(list);
        }