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

namespace BS.Shared.DataContracts
{
    [DataContract]
    public partial class ServiceCategoryDC : IDataContract
    {
        private List<CostRatePeriodDC> _CostRatePeriods;

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

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

        [DataMember]
        public AccountingvisibilityType? OhneHilfeplan { get; set; }

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

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

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

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

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

        [DataMember]
        public ScopeTypeId ScopeType { get; set; }

        [DataMember]
        public int Position { get; set; }

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

        [DataMember]
        public AccountingIntervalType? AccountingInterval { get; set; }

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

        [DataMember]
        public List<CostRatePeriodDC> CostRatePeriods
        {
            get
            {
                return _CostRatePeriods ?? (_CostRatePeriods = new List<CostRatePeriodDC>());
            }

            set
            {
                _CostRatePeriods = value;
            }
        }
    }
}