Files
LeafWeb/WebCms/Models/LeafInputDataViewModel.cs
T

39 lines
1.3 KiB
C#

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
{
/// <summary>
/// Descriptive information about the investigator,
/// contact information, the site,the sample leaf and its general environmental condition
/// </summary>
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<LeafInputDataCurveViewModel> Data { get; set; }
public LeafInputDataViewModel() {}
public LeafInputDataViewModel(LeafInputData data)
{
Mapper.Map(data, this);
}
}
}