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