ICourseActivityInteraction.cs•2.2 kB
using System;
using System.Collections.Generic;
namespace Api.DigitalPages.Interfaces.Models
{
public interface ICourseActivityInteraction : IBaseModelV2
{
/// <summary>
/// Relação usuário e registro/oferta relacionada a interação.
/// </summary>
ICourseUserRegister UserRegister { get; set; }
/// <summary>
/// Uid da atividade
/// </summary>
Guid ActivityUid { get; }
/// <summary>
/// Atividade relacionada a interação.
/// </summary>
ICourseActivity Activity { get; set; }
/// <summary>
/// Status atual da atividade
/// </summary>
ActivityStatus Status { get; set; }
/// <summary>
/// Última nota contabilizada na atividade.
/// </summary>
double? Score { get; set; }
/// <summary>
/// Dados salvos/gerenciados pela atividade
/// </summary>
string ActivityData { get; set; }
/// <summary>
/// Período que o usuário permaneceu na atividade
/// </summary>
TimeSpan? Duration { get; set; }
/// <summary>
/// Todas as notas envidas para a atividade.
/// </summary>
List<ICourseActivityInteractionScoreHistory> ScoreHistory { get; set; }
/// <summary>
/// Todas as interacoes em objetos
/// </summary>
List<ICourseActivityInteractionObject> InteractionObjects { get; set; }
/// <summary>
/// Data que o usuário finalizou a atividade pela primeira vez.
/// </summary>
DateTime? CompletedAt { get; set; }
int StatusChangesToCompleted { get; set; }
int StatusChangesToPassed { get; set; }
int StatusChangesToFailed { get; set; }
}
public interface ICourseActivityInteractionScoreHistory : IBaseModelV2
{
/// <summary>
/// Nota contabilizada na atividade.
/// </summary>
double Score { get; set; }
}
public enum ActivityStatus
{
NotAttempted,
Browsed,
Incomplete,
Completed,
Passed,
Failed,
Started
}
}