using System.Collections.Generic;

using BS.Shared.DataContracts;

namespace BeWo.ViewModel.ListViewModel
{
	public class MedikamentenverordnungslisteListVM : AbstractDCListMapperVM<MedikamentenverordnungslisteDC, MedikamentenverordnungslisteVM>
	{
		public static string PropertyName_PossibleDarreichungsformen = "PossibleDarreichungsformen";
		public static string PropertyName_PossibleDepotRhythmen = "PossibleDepotRhythmen";

		private List<DarreichungsformDC> _PossibleDarreichungsformen;
		private List<DepotRhythmusDC> _PossibleDepotRhythmen;

		public MedikamentenverordnungslisteListVM(IEnumerable<MedikamentenverordnungslisteDC> pMedikamentenverordnungslisten, List<DarreichungsformDC> pPossibleDarreichungsformen, List<DepotRhythmusDC> pPossibleDepotRhythmen)
			: base(pMedikamentenverordnungslisten)
		{
			_PossibleDarreichungsformen = pPossibleDarreichungsformen;
			_PossibleDepotRhythmen = pPossibleDepotRhythmen;
		}

		public List<DarreichungsformDC> PossibleDarreichungsformen
		{
			get { return _PossibleDarreichungsformen; }
			set
			{
				if (AreDifferent(_PossibleDarreichungsformen, value))
				{
					_PossibleDarreichungsformen = value;
					FirePropertyChanged(PropertyName_PossibleDarreichungsformen);
				}
			}
		}

		public List<DepotRhythmusDC> PossibleDepotRhythmen
		{
			get { return _PossibleDepotRhythmen; }
			set
			{
				if (AreDifferent(_PossibleDepotRhythmen, value))
				{
					_PossibleDepotRhythmen = value;
					FirePropertyChanged(PropertyName_PossibleDepotRhythmen);
				}
			}
		}
	}
}