Files
BeWoPlaner/Shared/DataContracts/DienstInfoDC.cs
2020-09-30 10:00:31 +02:00

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