66 lines
1.4 KiB
C#
66 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using MileageTraker.Web.Models;
|
|
using MileageTraker.Web.Utility;
|
|
|
|
namespace MileageTraker.Web.ViewModels.Log
|
|
{
|
|
public class LogQueryViewModel
|
|
{
|
|
public int? Year { get; set; }
|
|
public int? Month { get; set; }
|
|
public int? MonthRange { get; set; }
|
|
public MileageLogType? LogType { get; set; }
|
|
public string EmployeeName { get; set; }
|
|
public string VehicleId { get; set; }
|
|
|
|
public string YearMonthStart {get
|
|
{
|
|
return string.Format("{0}-{1:00}", Year, Month);
|
|
}}
|
|
|
|
public string YearMonthEnd
|
|
{
|
|
get
|
|
{
|
|
var dateTime = new DateTime(Year.Value, Month.Value, 1);
|
|
var time = dateTime.AddMonths(MonthRange.Value - 1);
|
|
return string.Format("{0}-{1:00}", time.Year, time.Month);
|
|
}
|
|
}
|
|
|
|
public override string ToString()
|
|
{
|
|
var v = new List<string>();
|
|
|
|
if (Year.HasValue && Month.HasValue)
|
|
{
|
|
var str = YearMonthStart;
|
|
|
|
if (MonthRange.HasValue && MonthRange > 1)
|
|
str += "to" + YearMonthEnd;
|
|
|
|
v.Add(str);
|
|
}
|
|
|
|
if (LogType.HasValue)
|
|
v.Add(LogType.Value.GetDisplayShortName());
|
|
|
|
if (!string.IsNullOrEmpty(VehicleId))
|
|
v.Add(VehicleId);
|
|
|
|
if (!string.IsNullOrEmpty(EmployeeName))
|
|
v.Add(EmployeeName);
|
|
|
|
return String.Join("_", v).Replace(' ', '-');
|
|
}
|
|
|
|
public bool HasParameters()
|
|
{
|
|
return Year.HasValue ||
|
|
LogType.HasValue ||
|
|
!string.IsNullOrEmpty(EmployeeName) ||
|
|
!string.IsNullOrEmpty(VehicleId);
|
|
}
|
|
}
|
|
} |