67 lines
1.4 KiB
C#
67 lines
1.4 KiB
C#
using Manager.Interfaces.DTO;
|
|
using MongoDB.Bson.Serialization.Attributes;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Text;
|
|
|
|
|
|
namespace Manager.Interfaces.Models
|
|
{
|
|
/// <summary>
|
|
/// Resource Information
|
|
/// </summary>
|
|
public class Resource
|
|
{
|
|
[BsonId]
|
|
[BsonRepresentation(MongoDB.Bson.BsonType.ObjectId)]
|
|
public string Id { get; set; }
|
|
|
|
[BsonElement("Type")]
|
|
[BsonRequired]
|
|
public ResourceType Type { get; set; }
|
|
|
|
[BsonElement("Label")]
|
|
[BsonRequired]
|
|
public string Label { get; set; }
|
|
|
|
[BsonElement("DateCreation")]
|
|
public DateTime DateCreation { get; set; }
|
|
|
|
[BsonElement("Data")]
|
|
[BsonRequired]
|
|
public string Data { get; set; }
|
|
|
|
public ResourceDTO ToDTO()
|
|
{
|
|
return new ResourceDTO()
|
|
{
|
|
Id = Id,
|
|
Label = Label,
|
|
Type = Type,
|
|
Data = Type != ResourceType.Image ? Data : null,
|
|
};
|
|
}
|
|
|
|
public ResourceDetailDTO ToDetailDTO()
|
|
{
|
|
return new ResourceDetailDTO()
|
|
{
|
|
Id = Id,
|
|
Label = Label,
|
|
Type = Type,
|
|
Data = Data,
|
|
DateCreation = DateCreation
|
|
};
|
|
}
|
|
|
|
}
|
|
|
|
public enum ResourceType
|
|
{
|
|
Image,
|
|
Video,
|
|
ImageUrl,
|
|
VideoUrl
|
|
}
|
|
}
|