IUserReports.cs•1.66 kB
using System;
using System.Collections.Generic;
namespace Api.DigitalPages.Interfaces.Models
{
/// <summary>
///
/// </summary>
public interface IUserReports : IBaseModelV3
{
/// <summary>
/// Identificador do usuario
/// </summary>
public Guid UserUid { get; set; }
public string ConsolidatedReport { get; set; }
public List<IUserReport> Reports { get; set; }
}
public interface IUserReport : IBaseModelV3<IUserReports>
{
public ReportType Type { get; set; }
public ReportState State { get; set; }
public DateTime PeriodStart { get; set; }
public DateTime PeriodEnd { get; set; }
public IUserReportDetailForManager ForManager { get; set; }
public IUserReportDetailForUser ForUser { get; set; }
}
public interface IUserReportDetailForUser : IUserReportDetail
{
}
public interface IUserReportDetailForManager : IUserReportDetail
{
}
public interface IUserReportDetail : IBaseModelV3<IUserReport>
{
public string Content { get; set; }
public ReportOrigin Origin { get; set; }
public Dictionary<string, object> AdditionalInformation { get; set; }
}
/// <summary>
/// Estado do relatorio.
/// </summary>
public enum ReportState
{
Pending,
Partial,
Processed
}
/// <summary>
/// Tipo de relatorio.
/// </summary>
public enum ReportType
{
Annual,
Monthly,
Weekly,
Daily
}
public enum ReportOrigin
{
User,
System
}
}