Source

main / Source / Excel / Excel.BizLogic / Interfaces / IMetadataManager.cs

using System.Collections.Generic;
using Microsoft.Office.Interop.Excel;

namespace DataUp.Excel.BizLogic
{
    /// <summary>
    /// Interface for managing excel errors.
    /// </summary>
    public interface IMetadataManager
    {
        /// <summary>
        /// This function can be used to get the details of the metadata.
        /// </summary>
        /// <returns>List of Metadata Detail.</returns>
        List<MetadataDetail> GetMetadata();

        /// <summary>
        /// Updates the metadata.
        /// </summary>
        /// <param name="metadata">Metadata Detail List.</param>
        void UpdateMetadata(List<MetadataDetail> metadata, List<ParameterDetail> parameterList);

        /// <summary>
        /// This function can be used to get the details of the parameter metadata.
        /// </summary>
        /// <returns>List of parameter metadata Detail.</returns>
        List<object> GetHeaderRow();

        /// <summary>
        /// This function can be used to get the details of the parameter metadata.
        /// </summary>
        /// <param name="range">Range object</param>
        /// <returns>List of parameter metadata Detail.</returns>
        List<object> GetHeaderRow(Range range);

        /// <summary>
        /// Updates the parameter metadata.
        /// </summary>
        /// <param name="metadata">parameter metadata Detail List.</param>
        void UpdateParaMetadata(List<object> obj, string sheetName);

        /// <summary>
        /// Clears the parameter metadata.
        /// </summary>
        void ClearAllParameter();

        /// <summary>
        /// Check if the metadata sheet is available or not.
        /// </summary>
        /// <returns>True if metadata sheet is available;otherwise false.</returns>
        bool IsMetadataSheetAvailable();

        /// <summary>
        /// Get the list of parameter metadata
        /// </summary>
        /// <returns>list of parameter metadata</returns>
        List<ParameterDetail> GetParamterMetadata();

        /// <summary>
        /// Check if the metadata table is available or not.
        /// </summary>
        /// <returns>True if metadata table is available;otherwise false.</returns>
        bool IsGeneralMetadataPresent();

        string ActiveSheetName(Range range);
    }
}