public ActionResult Field(int id)
        {
            ViewBag.UserVM = _userService.GetUserEntityByLogin(User.Identity.Name).ToPlUser();
            var field = _fieldService.GetField(id)
                        ?.ToPlField();

            if (field == null)
            {
                return(HttpNotFound());
            }

            var knowledgeFieldViewModel = new KnowledgeFieldViewModel
            {
                Field        = field,
                SkillInput   = { FieldId = id },
                FieldInput   = { ParentId = id },
                ParentFields = _fieldService.GetFieldParents(id).Select(f => f.ToPlField()).Reverse().ToList()
            };


            return(View(knowledgeFieldViewModel));
        }
        public ActionResult AddSkill(SkillInputModel skillInput, int fieldId)
        {
            if (ModelState.IsValid)
            {
                var skillEntity = skillInput.ToBllSkill();
                skillEntity.FieldId = fieldId;

                _skillService.CreateSkill(skillEntity);

                if (Url.IsLocalUrl(HttpContext.Request.UrlReferrer.AbsolutePath))
                {
                    return(Redirect(HttpContext.Request.UrlReferrer.AbsolutePath));
                }

                return(RedirectToAction("Field", "Knowledge", new { id = fieldId }));
            }
            else
            {
                ModelState.AddModelError("", "Incorrect input.");

                var field = _fieldService.GetField(fieldId)
                            ?.ToPlField();

                if (field == null)
                {
                    return(View("Error"));
                }

                var knowledgeFieldViewModel = new KnowledgeFieldViewModel
                {
                    Field      = field,
                    SkillInput = skillInput,
                    FieldInput = { ParentId = fieldId }
                };

                return(View("Field", knowledgeFieldViewModel));
            }
        }
        public ActionResult AddField(FieldInputModel fieldInput, int parentId)
        {
            if (ModelState.IsValid)
            {
                fieldInput.ParentId = parentId;

                _fieldService.CreateField(fieldInput.ToBllField());

                if (Url.IsLocalUrl(HttpContext.Request.UrlReferrer.AbsolutePath))
                {
                    return(Redirect(HttpContext.Request.UrlReferrer.AbsolutePath));
                }

                return(RedirectToAction("Field", "Knowledge", new { id = parentId }));
            }
            else
            {
                ModelState.AddModelError("", "Incorrect input.");

                var field = _fieldService.GetField(parentId)
                            ?.ToPlField();

                if (field == null)
                {
                    return(View("Error"));
                }

                var knowledgeFieldViewModel = new KnowledgeFieldViewModel()
                {
                    Field = field
                };
                knowledgeFieldViewModel.SkillInput.FieldId = parentId;
                knowledgeFieldViewModel.FieldInput         = fieldInput;

                return(View("Field", knowledgeFieldViewModel));
            }
        }