using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

using BS.Shared.DataContracts.Compact;

namespace BS.Shared.DataContracts
{
    [DataContract]
    public class ServiceRecordDC : IDataContract
    {
        [DataMember]
        public CompactOrganisationDC CostBearer { get; set; }

        [DataMember]
        public long? CostBearer2SupportConceptOid { get; set; }

        [DataMember]
        public CompactCustomerDC Customer { get; set; }

        [DataMember]
        public CompactEmployeeDC Employee { get; set; }

        [DataMember]
        public DateTime? End { get; set; }

        [DataMember]
        public List<ValueListEntryDC> Goals { get; set; }

        [DataMember]
        public int? GroupEmployeeCount { get; set; }

        [DataMember]
        public long? GroupOid { get; set; }

        [DataMember]
        public long? SignatureOid { get; set; }

        [DataMember]
        public int? GroupPersonCount { get; set; }

        [DataMember]
        public decimal? GroupRoundedDuration { get; set; }

        [DataMember]
        public string InsUser { get; set; }

        [DataMember]
        public DateTime? InsertedOn { get; set; }

        [DataMember]
        public string Notice { get; set; }

        [DataMember]
        public string Notice2 { get; set; }

        [DataMember]
        public string Notice3 { get; set; }

        [DataMember]
        public string Notice4 { get; set; }

        [DataMember]
        public string Notice5 { get; set; }

        [DataMember]
        public decimal RoundedDuration { get; set; }

        [DataMember]
        public ServiceDescriptionDC ServiceDescription { get; set; }

        [DataMember]
        public long? ServiceRecordOid { get; set; }

        [DataMember]
        public long? ServiceRecordVersion { get; set; }

        [DataMember]
        public DateTime? Start { get; set; }

        [DataMember]
        public CompactSupportConceptDC SupportConcept { get; set; }

        [DataMember]
        public ServiceRecordTypeId ServiceRecordType { get; set; }

		[DataMember]
		public int? DistanceInMeter { get; set; }

		[DataMember]
		public string IP { get; set; }

		[DataMember]
		public int? Relevance { get; set; }

		[DataMember]
		public bool IsCreatedInMobileClient { get; set; }

        [DataMember]
        public long? WohnheimbuchungsOid { get; set; }

		public bool AlreadyAccounted { get; set; }
	}
}