public async Task <IActionResult> Create(SuClassificationLevelEditGetWithListModel FromForm)
        {
            if (ModelState.IsValid)
            {
                var CurrentUser = await _userManager.GetUserAsync(User);

                var DefaultLanguageID = CurrentUser.DefaultLanguageId;

                var UICustomizationArray = new UICustomization(_context);
                ViewBag.Terms = await UICustomizationArray.UIArray(this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString(), DefaultLanguageID);

                Menus a = new Menus(_context);

                ViewBag.menuItems = await a.TopMenu(DefaultLanguageID);

                SqlParameter[] parameters =
                {
                    new SqlParameter("@PId", FromForm.ClassificationLevel.PId)
                    ,                        new SqlParameter("@LanguageId", CurrentUser.DefaultLanguageId)
                    ,                        new SqlParameter("@Sequence", FromForm.ClassificationLevel.Sequence)
                    ,                        new SqlParameter("@DateLevel", FromForm.ClassificationLevel.DateLevel)
                    ,                        new SqlParameter("@OnTheFly", FromForm.ClassificationLevel.OnTheFly)
                    ,                        new SqlParameter("@Alphabetically", FromForm.ClassificationLevel.Alphabetically)
                    ,                        new SqlParameter("@CanLink", FromForm.ClassificationLevel.CanLink)
                    ,                        new SqlParameter("@InDropDown", FromForm.ClassificationLevel.InDropDown)
                    ,                        new SqlParameter("@InMenu", FromForm.ClassificationLevel.InMenu)
                    ,                        new SqlParameter("@ModifierId", CurrentUser.Id)
                    ,                        new SqlParameter("@Name", FromForm.ClassificationLevel.Name)
                    ,                        new SqlParameter("@Description", FromForm.ClassificationLevel.Description)
                    ,                        new SqlParameter("@MouseOver", FromForm.ClassificationLevel.MouseOver)
                    ,                        new SqlParameter("@MenuName", FromForm.ClassificationLevel.MenuName)
                };

                _context.Database.ExecuteSqlCommand("ClassificationLevelCreatePost " +
                                                    "@PId" +
                                                    ", @LanguageId" +
                                                    ", @Sequence" +
                                                    ", @DateLevel" +
                                                    ", @OnTheFly" +
                                                    ", @Alphabetically" +
                                                    ", @CanLink" +
                                                    ", @InDropDown" +
                                                    ", @InMenu" +
                                                    ", @ModifierId" +
                                                    ", @Name" +
                                                    ", @Description" +
                                                    ", @MouseOver" +
                                                    ", @MenuName", parameters);
            }
            return(RedirectToAction("Index", new { Id = FromForm.ClassificationLevel.PId.ToString() }));
        }
        public async Task <IActionResult> Edit(SuClassificationLevelEditGetWithListModel FromForm)
        {
            if (ModelState.IsValid)
            {
                SuUserModel CurrentUser = await _userManager.GetUserAsync(User);

                SqlParameter[] parameters =
                {
                    new SqlParameter("@Id",             FromForm.ClassificationLevel.OId),
                    new SqlParameter("@LanguageId",     CurrentUser.DefaultLanguageId),
                    new SqlParameter("@Alphabetically", FromForm.ClassificationLevel.Alphabetically),
                    new SqlParameter("@CanLink",        FromForm.ClassificationLevel.CanLink),
                    new SqlParameter("@InDropDown",     FromForm.ClassificationLevel.InDropDown),
                    new SqlParameter("@InMenu",         FromForm.ClassificationLevel.InMenu),
                    new SqlParameter("@OnTheFly",       FromForm.ClassificationLevel.OnTheFly),
                    new SqlParameter("@Sequence",       FromForm.ClassificationLevel.Sequence),
                    new SqlParameter("@DateLevel",      FromForm.ClassificationLevel.DateLevel),
                    new SqlParameter("@ModifierId",     CurrentUser.Id),
                    new SqlParameter("@Name",           FromForm.ClassificationLevel.Name),
                    new SqlParameter("@Description",    FromForm.ClassificationLevel.Description),
                    new SqlParameter("@MouseOver",      FromForm.ClassificationLevel.MouseOver),
                    new SqlParameter("@MenuName",       FromForm.ClassificationLevel.MenuName)
                };
                _context.Database.ExecuteSqlCommand("ClassificationLevelEditPost " +
                                                    "@Id" +
                                                    ", @LanguageId" +
                                                    ", @Alphabetically" +
                                                    ", @CanLink" +
                                                    ", @InDropDown" +
                                                    ", @InMenu" +
                                                    ", @OnTheFly" +
                                                    ", @Sequence" +
                                                    ", @DateLevel" +
                                                    ", @ModifierId" +
                                                    ", @Name" +
                                                    ", @Description" +
                                                    ", @MouseOver" +
                                                    ", @MenuName", parameters);
            }
            return(RedirectToAction("Index", new { Id = FromForm.ClassificationLevel.PId }));
        }
        public async Task <IActionResult> Edit(int Id)
        {
            var CurrentUser = await _userManager.GetUserAsync(User);

            var DefaultLanguageID = CurrentUser.DefaultLanguageId;

            var UICustomizationArray = new UICustomization(_context);

            ViewBag.Terms = await UICustomizationArray.UIArray(this.ControllerContext.RouteData.Values["controller"].ToString(), this.ControllerContext.RouteData.Values["action"].ToString(), DefaultLanguageID);

            Menus a = new Menus(_context);

            ViewBag.menuItems = await a.TopMenu(DefaultLanguageID); SqlParameter[] parameters =
            {
                new SqlParameter("@LanguageId", CurrentUser.DefaultLanguageId)
                ,                               new SqlParameter("@OId", Id)
            };

            SuClassificationLevelEditGetModel ClassificationLevelEditGet = _context.ZdbClassificationLevelEditGet.FromSql("ClassificationLevelEditGet @LanguageId, @OId", parameters).First();
            //PETER Consider to put this in a table
            List <SelectListItem> DateType = new List <SelectListItem>
            {
                new SelectListItem {
                    Value = "0", Text = "No date"
                },
                new SelectListItem {
                    Value = "1", Text = "Date"
                },
                new SelectListItem {
                    Value = "2", Text = "Date range"
                },
                new SelectListItem {
                    Value = "3", Text = "Date time"
                },
                new SelectListItem {
                    Value = "4", Text = "Date time range"
                }
            };

            var ExistingLevels   = _context.ZDbTypeList.FromSql("ClassificationLevelEditGetExistingLevels @LanguageId, @Id", parameters).ToList();
            int MaxLevelSequence = 0;
            List <SelectListItem> ExistingLevelList = new List <SelectListItem>();

            foreach (var ExistingLevel in ExistingLevels)
            {
                ExistingLevelList.Add(new SelectListItem {
                    Value = ExistingLevel.Id.ToString(), Text = ExistingLevel.Name
                });
                if (ExistingLevel.Id > MaxLevelSequence)
                {
                    MaxLevelSequence = ExistingLevel.Id;
                }
            }


            SuClassificationLevelEditGetWithListModel ClassificationLevelWithList = new SuClassificationLevelEditGetWithListModel
            {
                ClassificationLevel = ClassificationLevelEditGet, DateTypeList = DateType, SequenceList = ExistingLevelList
            };

            return(View(ClassificationLevelWithList));
        }