public ActionResult CreateFilterName(FilterNameViewModel filterName)
        {
            if (ModelState.IsValid)
            {
                _context.FiltersName.Add(new FilterName {
                    Name = filterName.Name
                });
                _context.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(filterName));
        }
        public ActionResult Create(FilterNameViewModel model)
        {
            if (ModelState.IsValid)
            {
                _context.dbFilterName.Add(new FilterName
                {
                    Name = model.Name
                });
                _context.SaveChanges();

                return(RedirectToAction("Index", "FilterName"));
            }
            else
            {
                return(View(model));
            }
        }
		void BuildTree()
		{
			RootFilters = new ObservableCollection<FilterNameViewModel>();
			AllFilters = new List<FilterNameViewModel>();

			var systemViewModel = new FilterNameViewModel(JournalSubsystemType.System);
			systemViewModel.IsExpanded = true;
			RootFilters.Add(systemViewModel);

			var gkViewModel = new FilterNameViewModel(JournalSubsystemType.GK);
			gkViewModel.IsExpanded = true;
			RootFilters.Add(gkViewModel);

			var skdViewModel = new FilterNameViewModel(JournalSubsystemType.SKD);
			skdViewModel.IsExpanded = true;
			RootFilters.Add(skdViewModel);

			var videoViewModel = new FilterNameViewModel(JournalSubsystemType.Video);
			videoViewModel.IsExpanded = true;
			RootFilters.Add(videoViewModel);
			AllFilters.Add(videoViewModel);

			foreach (JournalEventNameType enumValue in Enum.GetValues(typeof(JournalEventNameType)))
			{
				var filterNameViewModel = new FilterNameViewModel(enumValue);
				if (filterNameViewModel.JournalEventNameType == JournalEventNameType.NULL)
					continue;

				AllFilters.Add(filterNameViewModel);

				switch (filterNameViewModel.JournalSubsystemType)
				{
					case JournalSubsystemType.System:
						systemViewModel.AddChild(filterNameViewModel);
						break;

					case JournalSubsystemType.GK:
						gkViewModel.AddChild(filterNameViewModel);
						break;

					case JournalSubsystemType.SKD:
						skdViewModel.AddChild(filterNameViewModel);
						break;

					case JournalSubsystemType.Video:
						videoViewModel.AddChild(filterNameViewModel);
						break;
				}
			}

			foreach (JournalEventDescriptionType journalEventDescriptionType in Enum.GetValues(typeof(JournalEventDescriptionType)))
			{
				if (journalEventDescriptionType == JournalEventDescriptionType.NULL)
					continue;
				var fieldInfo = journalEventDescriptionType.GetType().GetField(journalEventDescriptionType.ToString());
				if (fieldInfo != null)
				{
					var eventDescriptionAttributes = (EventDescriptionAttribute[])fieldInfo.GetCustomAttributes(typeof(EventDescriptionAttribute), false);
					if (eventDescriptionAttributes.Length > 0)
					{
						var eventDescriptionAttribute = eventDescriptionAttributes[0];
						var journalEventNameType = eventDescriptionAttribute.JournalEventNameType;
						var eventViewModel = AllFilters.FirstOrDefault(x => x.JournalEventNameType == journalEventNameType);
						if (eventViewModel != null)
						{
							var descriptionViewModel = new FilterNameViewModel(journalEventDescriptionType, eventDescriptionAttribute.Name);
							eventViewModel.AddChild(descriptionViewModel);
							AllFilters.Add(descriptionViewModel);
						}
					}
				}
			}
		}