39 lines
1.3 KiB
C#
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);
|
|
}
|
|
}
|
|
} |