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
}
}