using System.Collections.Generic;

namespace Quadarax.Foundation.Core.Data.Interface.Entity
{
    /// <summary>
    /// Represents structure of result state
    /// </summary>
    public interface IResult
    {
        /// <summary>
        /// Gets if result is logically success
        /// </summary>
        bool IsSuccess { get; }
        /// <summary>
        /// Collection of error items
        /// </summary>
        public IEnumerable<IError> Errors { get; }

        /// <summary>
        /// Returns result value
        /// </summary>
        /// <returns>Value</returns>
        public object GetValue();
    }
}
