67 lines
1.5 KiB
C#
67 lines
1.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Drawing;
|
|
using System.Runtime.Serialization;
|
|
|
|
using BS.Shared.Core;
|
|
|
|
namespace BS.Shared.DataContracts
|
|
{
|
|
public class DienstInfoDC : IDataContract
|
|
{
|
|
[DataMember]
|
|
public long? Oid { get; set; }
|
|
|
|
[DataMember]
|
|
public string Notice { get; set; }
|
|
|
|
[DataMember]
|
|
public long? Version { get; set; }
|
|
|
|
[DataMember]
|
|
public string DienstName { get; set; }
|
|
|
|
[DataMember]
|
|
public string Kurz { get; set; }
|
|
|
|
[DataMember]
|
|
public string Farbe { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime Start { get; set; }
|
|
|
|
[DataMember]
|
|
public DateTime Ende { get; set; }
|
|
|
|
[DataMember]
|
|
public int Pause { get; set; }
|
|
|
|
public override string ToString()
|
|
{
|
|
return string.IsNullOrEmpty(Kurz) ? "-" : Kurz;
|
|
//return $"ID:{Oid}|N:{DienstName}|K:{Kurz}";
|
|
}
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
return obj is DienstInfoDC d && Oid == d.Oid;
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
return GetType().Name.GetHashCode() ^ Oid.GetHashCode();
|
|
}
|
|
|
|
public static DienstInfoDC Platzhalter => new DienstInfoDC
|
|
{
|
|
Farbe = "#FFFFFFFF",
|
|
Oid = -1,
|
|
Notice = "!?"
|
|
};
|
|
|
|
public bool IsPlatzhalter => Oid == -1;
|
|
|
|
public double DurationHours => Start < Ende ? (Ende - Start).TotalHours : (Ende.AddDays(1) - Start).TotalHours;
|
|
}
|
|
}
|