Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

download

Pricing Baseprice Callback Interface Parameters

Batch Price Request Interface

Below is the interface used by the BasePrice callback.

/// <summary>
    /// Cart Price Request by Batch Object
    /// </summary>
    public interface IBatchPriceRequest : ICartBaseRequest
    {
        /// <summary>
        /// Unique batch ID
        /// </summary>
        public string BatchId { get; }

        /// <summary>
        /// Batch name
        /// </summary>
        public string Name { get; }

        /// <summary>
        /// List of lines present in this batch to be priced
        /// </summary>
        public List<IProductLineItemModel> GetLineItems();

        /// <summary>
        /// List of related lines or parent bundle lines present in this batch to be priced
        /// </summary>
        public List<IProductLineItemModel> GetReferenceLines();

        /// <summary>
        /// Cart context.
        /// </summary>
        public ICartContext GetCartContext();

        /// <summary>
        /// Set error details for all lines in this batch. This also updates pricing status to error
        /// </summary>
        /// <param name="errorDetails"></param>
        public void SetErrorDetails(string errorDetails, string lineItemId = null);

        /// <summary>
        /// Set error details for all lines in this batch. This also updates pricing status to error
        /// </summary>
        /// <param name="ex"></param>
        public void SetErrorDetails(Exception ex, string lineItemId = null);

        /// <summary>
        /// List  the product lines that have thrown no errors so far during processing.
        /// Errors could be due to validation checks, invalid data setup or failure of dependent systems as well
        /// </summary>
        /// <returns></returns>
        public IEnumerable<IProductLineItemModel> GetValidProductLineItems();

        /// <summary>
        /// Gets the product line object using line number.
        /// Option Line can use it to get RootBundleLine LineItemModel.
        /// </summary>
        /// <param name="lineNumber">Line number</param>
        /// <returns></returns>
        public IProductLineItemModel GetRootParentBundleLine(int lineNumber);

        /// <summary>
        /// Gets the product line object using parent bundler number.
        /// Option Line can use it to get ParentBundleLine LineItemModel.
        /// </summary>
        /// <param name="parentBundleNumber">Parent bundle number</param>
        /// <returns></returns>
        public IProductLineItemModel GetParentBundleLine(int parentBundleNumber);

        /// <summary>
        /// Get Realted Line Items
        /// </summary>
        /// <returns></returns>
        public IEnumerable<ILineItemModel> GetRelatedLineItems();

    }

Method

Data Type

Description

BatchId

String

Provides the unique batch ID.

Name

String

Provides the batch name.

GetLineItems();

List<IProductLineItemModel>

Provides the details of lines to be priced in the batch.

GetReferenceLines()

List<IProductLineItemModel>

Cart Price Request by Batch object provides the details of parent lineitems.

GetCartContext()

ICartContext

Provides the context of the cart.

SetErrorDetails(string errorDetails, string lineItemId = null);

Void

Sets error details for all lines in this batch and updates the pricing status to error.

SetErrorDetails(Exception ex, string lineItemId = null)

Void

Set error details for all lines in this batch and update the pricing status to error.

GetValidProductLineItems();

IEnumerable<IProductLineItemModel>

Provides all the line items which are not marked as error or valid lineitems in pricing.

GetRootParentBundleLine(int lineNumber);

IProductLineItemModel

Gets the root parent bundle for option lines.

GetParentBundleLine(int parentBundleNumber)

IProductLineItemModel

Gets the parent bundle line for options.

GetRelatedLineItems()

IEnumerable<ILineItemModel>

Provides the related line items