Esempio n. 1
0
		/// <summary>
		/// Creates an instance of FilterBoxVm to be used as a collection of causes
		/// </summary>
		/// <param name="nextLevel">reference to a FilterBoxVm that represents next cause level</param>
		/// <param name="list">list of first level cause models (use only for first level)</param>
		/// <returns></returns>
		public static FilterBoxVm CreateForCause(FilterBoxVm nextLevel, IEnumerable<Model.Cause> list = null)
		{
			var vm = new FilterBoxVm();
			vm._nextLevel = nextLevel;

			//fill the first level cause items
			if (list != null)
			{
				foreach (var item in list)
				{
					vm.FilteredList.Add(FilterableItemVm.CreateForCause(vm, item));
				}
			}
			return vm;
		}
Esempio n. 2
0
		/// <summary>
		/// Creates an instance of FilterBoxVm to be used as a collection of product defections
		/// </summary>
		/// <param name="selectedId">Id of defection that is selected by default</param>
		/// <param name="productId">Id of product that this FilterBoxVm is defined for</param>
		/// <returns></returns>
		public static FilterBoxVm CreateForProductDefections(int selectedId, int productId)
		{
			var vm = new FilterBoxVm();

			//find and add product defections to this vm
			var productDefectionDS = new DataServices.ProductDefectionDataService();
			var productDefectionModels = productDefectionDS.GetActivesForProduct(productId);
			var count = productDefectionModels.Count();
			for (int i = 0; i < count; i++)
			{
				vm.FilteredList.Add(FilterableItemVm.CreateForProductDefection(vm, productDefectionModels[i]));
			}

			//select the default product defection
			vm.SelectedItem = vm.FilteredList.FirstOrDefault(x => x.Id == selectedId);

			return vm;
		}
Esempio n. 3
0
		/// <summary>
		/// Creates an instance of FilterableItemVm for cause provided by the given model
		/// <para>This constructor needs a <see cref="FilterBoxVm"/> as parent</para>
		/// </summary>
		/// <param name="model">model of cause to use in this vm</param>
		/// <returns></returns>
		public static FilterableItemVm CreateForCause(FilterBoxVm parent, Model.Cause model)
		{
			var vm = new FilterableItemVm(model.Id, model.Name, new CauseVm(model));
			vm.Parent = parent;
			return vm;
		}
Esempio n. 4
0
		/// <summary>
		/// Creates an instance of FilterableItemVm for product defection provided by the given model
		/// <para>This constructor needs a <see cref="FilterBoxVm"/> as parent</para>
		/// </summary>
		/// <param name="model">model of product defection to use in this vm</param>
		/// <returns></returns>
		public static FilterableItemVm CreateForProductDefection(FilterBoxVm parent, Model.ProductDefection model)
		{
			var vm = new FilterableItemVm(model.Id, model.Defection.Name, new DefectionVm(model));
			vm.Parent = parent;
			return vm;
		}
Esempio n. 5
0
		/// <summary>
		/// Creates an instance of FilterBoxVm to be used as a collection of operators
		/// </summary>
		/// <param name="parent">collection of FilterBoxVm that this vm is a part of</param>
		/// <param name="selectedId">Id of defection that is selected by default</param>
		/// <param name="list">array of FilterableItemVm instances as children of this vm</param>
		/// <returns></returns>
		public static FilterBoxVm CreateForGuiltyOperators(FilterBoxVmCollection parent, int selectedId, FilterableItemVm[] list)
		{
			var vm = new FilterBoxVm();
			vm._parent = parent;
			foreach (var item in list)
			{
				item.Parent = vm;
				vm.FilteredList.Add(item);
			}

			//select the default operator
			vm.SelectedItem = vm.FilteredList.FirstOrDefault(x => x.Id == selectedId);
			return vm;
		}