ICourseNodeItem.cs•3.07 kB
using System;
using System.Collections.Generic;
namespace Api.DigitalPages.Interfaces.Models
{
public interface ICourseNodeItem : IBaseModelV3, IDataPosition
{
/// <summary>
/// Nome interno atribuido ao nó.
/// </summary>
string InternalName { get; set; }
/// <summary>
/// Informações customizadas referente ao nó.
/// </summary>
Dictionary<string, object> Data { get; set; }
/// <summary>
/// Curso relacionado ao nó.
/// </summary>
ICourse Course { get; set; }
/// <summary>
/// Intervalo de tempo em relação ao registro do curso que o nó aceita interações do usuário.
/// </summary>
TimeSpan? InteractionIntervalStart { get; set; }
/// <summary>
/// Intervalo de tempo em relação ao registro do curso que o nó não aceita novas interações do usuário.
/// </summary>
TimeSpan? InteractionIntervalEnd { get; set; }
/// <summary>
/// Atividades relacionadas ao nó.
/// </summary>
List<ICourseActivity> Activities { get; set; }
/// <summary>
/// Produtos requeridos liberação de acesso do usuário.
/// </summary>
List<Guid> Products { get; set; }
/// <summary>
/// Tags adicionadas ao nó visivél para os usuários.
/// </summary>
List<ITag> Tags { get; set; }
/// <summary>
/// Tipo de nó.
/// </summary>
NodeType Type { get; set; }
/// <summary>
/// Tipo de calculo que será feito com as atividades dentro do nó.
/// </summary>
FormulaType? TypeFormulaScore { get; set; }
/// <summary>
/// Resumo do conteúdo do nó.
/// </summary>
IContentSummary<ICourseNodeItem> Summary { get; set; }
}
public interface ICourseNodeItemOverride: IBaseModelV2
{
/// <summary>
/// Nó do curso que terá as propriedades alteradas.
/// </summary>
ICourseNodeItem CourseNodeItem { get; set; }
Guid CourseNodeItemUid { get; set; }
Dictionary<string, object> Data { get; set; }
/// <summary>
/// Intervalo de tempo em relação ao registro do curso que o nó aceita interações do usuário.
/// </summary>
TimeSpan? InteractionIntervalStart { get; set; }
/// <summary>
/// Intervalo de tempo em relação ao registro do curso que o nó não aceita novas interações do usuário.
/// </summary>
TimeSpan? InteractionIntervalEnd { get; set; }
/// <summary>
/// Produtos requeridos liberação de acesso do usuário.
/// </summary>
List<Guid> Products { get; set; }
/// <summary>
/// Tags adicionadas ao nó visivél para os usuários.
/// </summary>
List<ITag> Tags { get; set; }
}
public enum NodeType
{
Content,
Interaction,
EvaluativeContent
}
}