// update all object members on a row in table based on primary key
        // links:
        //  docLink: http://sql2x.org/documentationLink/ce75e72e-fb16-4f4e-a2e6-dbd079dfa206
        public void Update(CrudeAircraftCompartmentMeasurementContract contract)
        {
            var data = new CrudeAircraftCompartmentMeasurementData();

            ContractToData(contract, data);
            data.Update();
        }
        // update all object members on a row in table based on primary key, on a transaction
        // the transaction and or connection state is not changed in any way other than what SqlClient does to it.
        // it is the callers responsibility to commit or rollback the transaction
        // links:
        //  docLink: http://sql2x.org/documentationLink/b798ad6b-f4b8-466a-9086-6588a814fcf3
        public void Update(CrudeAircraftCompartmentMeasurementContract contract, SqlConnection connection, SqlTransaction transaction)
        {
            var data = new CrudeAircraftCompartmentMeasurementData();

            ContractToData(contract, data);
            data.Update(connection, transaction);
        }
        // fetch by Primary key into current object
        // links:
        //  crud definition: https://en.wikipedia.org/wiki/Create,_read,_update_and_delete
        //  docLink: http://sql2x.org/documentationLink/bbab4791-c9e7-49bf-90d5-fca19b1fedaa
        // parameters:
        //  aircraftCompartmentMeasurementId: primary key of table aircraft_compartment_measurement
        public CrudeAircraftCompartmentMeasurementContract FetchByAircraftCompartmentMeasurementId(System.Guid aircraftCompartmentMeasurementId)
        {
            var dataAccessLayer = new CrudeAircraftCompartmentMeasurementData();
            var contract        = new CrudeAircraftCompartmentMeasurementContract();

            dataAccessLayer.FetchByAircraftCompartmentMeasurementId(aircraftCompartmentMeasurementId);
            DataToContract(dataAccessLayer, contract);

            return(contract);
        }
        // copy all rows from a List of serialized data objects to a List of SOAP Contracts
        // links:
        //  docLink: http://sql2x.org/documentationLink/7467f97d-14e5-4ccf-9282-ef8df4f63088
        public static List <CrudeAircraftCompartmentMeasurementContract> DataListToContractList(List <CrudeAircraftCompartmentMeasurementData> dataList)
        {
            var contractList = new List <CrudeAircraftCompartmentMeasurementContract>();

            foreach (CrudeAircraftCompartmentMeasurementData data in dataList)
            {
                var contract = new CrudeAircraftCompartmentMeasurementContract();
                DataToContract(data, contract);
                contractList.Add(contract);
            }

            return(contractList);
        }
        // copy all rows from a List of serialized data objects to a List of SOAP Contracts,
        //  with a limit on number of returned rows and order by columns, starting at a specific row
        // links:
        //  docLink: http://sql2x.org/documentationLink/3fe9f1b3-97b6-4f58-a0f2-adfcbd973bfc
        public List <CrudeAircraftCompartmentMeasurementContract> FetchAllWithLimitAndOffset(int limit, int offset)
        {
            var list = new List <CrudeAircraftCompartmentMeasurementContract>();
            List <CrudeAircraftCompartmentMeasurementData> dataList = CrudeAircraftCompartmentMeasurementData.FetchAllWithLimitAndOffset(limit, offset);

            foreach (CrudeAircraftCompartmentMeasurementData crudeAircraftCompartmentMeasurement in dataList)
            {
                var contract = new CrudeAircraftCompartmentMeasurementContract();
                DataToContract(crudeAircraftCompartmentMeasurement, contract);
                list.Add(contract);
            }

            return(list);
        }
        // copy all rows from a List of serialized data objects in CrudeAircraftCompartmentMeasurementData to a List of SOAP Contracts
        // links:
        //  docLink: http://sql2x.org/documentationLink/9204c68e-93b8-4c77-af3c-3181985ff75f
        public List <CrudeAircraftCompartmentMeasurementContract> FetchAll()
        {
            var list = new List <CrudeAircraftCompartmentMeasurementContract>();
            List <CrudeAircraftCompartmentMeasurementData> dataList = CrudeAircraftCompartmentMeasurementData.FetchAll();

            foreach (CrudeAircraftCompartmentMeasurementData crudeAircraftCompartmentMeasurement in dataList)
            {
                var contract = new CrudeAircraftCompartmentMeasurementContract();
                DataToContract(crudeAircraftCompartmentMeasurement, contract);
                list.Add(contract);
            }

            return(list);
        }
        // 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 <CrudeAircraftCompartmentMeasurementContract> FetchWithFilter(
            System.Guid aircraftCompartmentMeasurementId,
            decimal length,
            decimal height,
            decimal width,
            decimal payloadInKilo,
            int unitLoadDevicePositions,
            int carryOnBinCount,
            int carryOnPiecesAllowedCount,
            int carryOnPieceMaxWeightInKilo,
            int infantLimit,
            int bookableLimit,
            int passengerLimit,
            int rowCount,
            int columnCount,
            System.Guid userId,
            System.DateTime dateTime)
        {
            var list = new List <CrudeAircraftCompartmentMeasurementContract>();
            List <CrudeAircraftCompartmentMeasurementData> dataList = CrudeAircraftCompartmentMeasurementData.FetchWithFilter(
                aircraftCompartmentMeasurementId: aircraftCompartmentMeasurementId,
                length: length,
                height: height,
                width: width,
                payloadInKilo: payloadInKilo,
                unitLoadDevicePositions: unitLoadDevicePositions,
                carryOnBinCount: carryOnBinCount,
                carryOnPiecesAllowedCount: carryOnPiecesAllowedCount,
                carryOnPieceMaxWeightInKilo: carryOnPieceMaxWeightInKilo,
                infantLimit: infantLimit,
                bookableLimit: bookableLimit,
                passengerLimit: passengerLimit,
                rowCount: rowCount,
                columnCount: columnCount,
                userId: userId,
                dateTime: dateTime
                );

            foreach (CrudeAircraftCompartmentMeasurementData data in dataList)
            {
                var crudeAircraftCompartmentMeasurementContract = new CrudeAircraftCompartmentMeasurementContract();
                DataToContract(data, crudeAircraftCompartmentMeasurementContract);
                list.Add(crudeAircraftCompartmentMeasurementContract);
            }

            return(list);
        }
 // copy all columns from a SOAP Contract to a serialized data object
 // links:
 //  docLink: http://sql2x.org/documentationLink/10700d38-2227-4021-be12-2f4f206f5dd9
 public static void ContractToData(CrudeAircraftCompartmentMeasurementContract contract, CrudeAircraftCompartmentMeasurementData data)
 {
     data.AircraftCompartmentMeasurementId = contract.AircraftCompartmentMeasurementId;
     data.Length                      = contract.Length;
     data.Height                      = contract.Height;
     data.Width                       = contract.Width;
     data.PayloadInKilo               = contract.PayloadInKilo;
     data.UnitLoadDevicePositions     = contract.UnitLoadDevicePositions;
     data.CarryOnBinCount             = contract.CarryOnBinCount;
     data.CarryOnPiecesAllowedCount   = contract.CarryOnPiecesAllowedCount;
     data.CarryOnPieceMaxWeightInKilo = contract.CarryOnPieceMaxWeightInKilo;
     data.InfantLimit                 = contract.InfantLimit;
     data.BookableLimit               = contract.BookableLimit;
     data.PassengerLimit              = contract.PassengerLimit;
     data.RowCount                    = contract.RowCount;
     data.ColumnCount                 = contract.ColumnCount;
     data.UserId                      = contract.UserId;
     data.DateTime                    = contract.DateTime;
 }