ICourseActivity.cs•5.4 kB
using System;
using System.Collections.Generic;
namespace Api.DigitalPages.Interfaces.Models
{
public interface ICourseActivity : IBaseModelV3
{
/// <summary>
/// Usuário responsável por cadastrar a atividade
/// </summary>
Guid CreatedByUserUid { get; set; }
/// <summary>
/// Usuário responsável pela última alteração
/// </summary>
Guid EditedByUserUid { get; set; }
/// <summary>
/// Nome da atividade
/// </summary>
string Name { get; set; }
/// <summary>
/// Nome interno atribuido para a atividade.
/// </summary>
string InternalName { get; set; }
/// <summary>
/// Tipo de conteúdo acessado
/// </summary>
string MimeType { get; set; }
/// <summary>
/// Ordem da atividade dentro do nó.
/// </summary>
int Order { get; set; }
/// <summary>
/// Tempo estimado para a ativade.
/// </summary>
TimeSpan Duration { get; set; }
/// <summary>
/// Nota miníma desejada para a atividade.
/// </summary>
double? ScoreMin { get; set; }
/// <summary>
/// Nota máxima possível na atividade.
/// </summary>
double? ScoreMax { get; set; }
/// <summary>
/// Peso da nota.
/// </summary>
double? ScoreWeight { get; set; }
/// <summary>
/// Grupo pertencente a atividade para contabilização da nota.
/// </summary>
string ScoreGroup { get; set; }
/// <summary>
/// Indica se o conteúdo para ser liberado para o usuário necessita a finalização do conteúdo anterior.
/// </summary>
bool RequiredPredecessorCompletion { get; set; }
/// <summary>
/// Indica se o usuário pode visualizar os conteúdos enviados por outros usuários na atividade.
/// </summary>
bool UserCanViewOtherUploadedContent { get; set; }
/// <summary>
/// Numéro máximo de tentativas que usuário tem em uma atividade após completar a atividade
/// </summary>
int MaximumAttemptsAfterCompleted { get; set; }
/// <summary>
/// Numéro máximo de tentativas que usuário tem em uma atividade após passar a atividade
/// </summary>
int MaximumAttemptsAfterPassed { get; set; }
/// <summary>
/// Numéro máximo de tentativas que usuário tem em uma atividade após falhar em uma atividade
/// </summary>
int MaximumAttemptsAfterFailed { get; set; }
/// <summary>
/// Indica se o usuário pode atrelar um conteúdo a uma atividade, e quais os formatos aceitos. * para qualquer tipo de arquivo.
/// </summary>
List<string> AcceptedFormatsForUserUpload {get; set;}
/// <summary>
/// Intervalo de tempo em relação ao registro do curso que a atividade aceita interações do usuário.
/// </summary>
TimeSpan? InteractionIntervalStart { get; set; }
/// <summary>
/// Intervalo de tempo em relação ao registro do curso que a ativdade não aceita novas interações do usuário.
/// </summary>
TimeSpan? InteractionIntervalEnd { get; set; }
/// <summary>
/// Tipo de atividade.
/// </summary>
ActivityType Type { get; set; }
/// <summary>
/// Tipo de calculo que será feito com os itens da composição na atividade.
/// </summary>
FormulaType? TypeFormulaScore { get; set; }
/// <summary>
/// Protocolo utilizado no conteúdo para se comunicar com a plataforma.
/// </summary>
ActivityProtocolType Protocol { get; set; }
/// <summary>
/// Url de acesso direto para o conteúdo.
/// </summary>
string ProviderDirectAccessUrl { get; set; }
string InternalContentUid { get; set; }
string InternalContentCustomService { get; set; }
/// <summary>
/// Nó que apresenta a atividade
/// </summary>
ICourseNodeItem Node { get; set; }
/// <summary>
/// Registro de todas as interações relacionadas a atividade
/// </summary>
List<ICourseActivityInteraction> ActivitiesInteractions { get; set; }
/// <summary>
/// Registro do histórico de mudança nas atividades
/// </summary>
List<ICourseActivityContentHistory> ActivitiesContentHistories { get; set; }
/// <summary>
/// Produtos que o usuário deve possuir para acessar a atividade.
/// </summary>
List<Guid> Products { get; set; }
/// <summary>
/// Fluxos utilizados para revisão/avaliacão dos conteúdos enviados pelo o usuário.
/// </summary>
List<Guid> ReviewFlows { get; set; }
/// <summary>
/// Resumo da atividade.
/// </summary>
IContentSummary<ICourseActivity> Summary { get; set; }
}
public enum ActivityProviderType
{
Internal,
External
}
public enum ActivityType
{
Content,
Interaction,
EvaluativeContent
}
public enum ActivityProtocolType
{
None,
Scorm,
LTI
}
}