using System.Collections.Generic;
using System.IO;
using System.Text.RegularExpressions;
using AutoMapper;
using LeafWeb.Core.Entities;
using LeafWeb.Core.Utility;
namespace LeafWeb.WebCms.Models
{
///
/// Descriptive information about the investigator,
/// contact information, the site,the sample leaf and its general environmental condition
///
public class LeafInputDataViewModel
{
private static readonly Regex FilenamePrefixLength = new Regex(@"^(\d{14}clean)(.*)$") ;
public int Id { get; set; }
[ParseInfo(3, alternateTitle: "Site name in full", exampleValue: "Your site's identifier / name")]
public string SiteName { get; set; }
public string Filename { get; set; }
public string FilenameDatePrefix => FilenamePrefixLength.IsMatch(Filename) ? FilenamePrefixLength.Replace(Filename, "$1") : string.Empty;
public string FilenameOriginal => FilenamePrefixLength.IsMatch(Filename) ? FilenamePrefixLength.Replace(Filename, "$2") : Filename;
public LeafInputDataSiteViewModel Site { get; set; }
public List Data { get; set; }
public LeafInputDataViewModel() {}
public LeafInputDataViewModel(LeafInputData data)
{
Mapper.Map(data, this);
}
}
}