public IActionResult EvaluateBehavioral(int id, int factor)
        {
            var name       = _Evaluation.EmployeeNameById(id);
            var behavioral = _Evaluation.GetBehavioralFactorById(factor);
            var items      = _Evaluation.GetBehavioralItemsByHeaderId(factor)
                             .Select(a => new BehavioralItemViewModel
            {
                Id          = a.Id,
                Description = a.Description,
                Weight      = a.Weight.ToString(),
                Score       = 0,
                Comment     = string.Empty,
            }).ToList();
            var model = new EmployeeBehavioralEvaluation
            {
                EmployeeId      = id,
                BehavioralId    = factor,
                Name            = name,
                Title           = behavioral.Title,
                Description     = behavioral.Description,
                Weight          = behavioral.Weight.ToString(),
                BehavioralItems = items,
            };

            return(View(model));
        }
        public IActionResult SubmitBehavioral(EmployeeBehavioralEvaluation model)
        {
            var UserId = int.Parse(HttpContext.Session.GetString("UserId"));

            if (ModelState.IsValid)
            {
                var header = new RatingHeader
                {
                    Type         = "behavioral",
                    CreatedBy    = _Evaluation.GetAccountById(UserId).Id.ToString(),
                    CreationDate = DateTime.Now,
                    Rater        = _Evaluation.GetAccountById(UserId),
                    Ratee        = _Evaluation.GetEmployeePerId(model.EmployeeId),
                    Status       = _Evaluation.GetStatusPerId(TransactionStatus.Save.ToInt()),
                };
                var items = new List <RatingBehavioralFactor>();
                foreach (var item in model.BehavioralItems)
                {
                    var factoritem = new RatingBehavioralFactor
                    {
                        BehavioralFactor     = _Evaluation.GetBehavioralFactorById(model.BehavioralId),
                        BehavioralFactorItem = _Evaluation.GetBehavioralFactorItemById(item.Id),
                        Score   = item.Score,
                        Comment = item.Comment,
                    };
                    items.Add(factoritem);
                }
                var id = int.Parse(HttpContext.Session.GetString("UserId"));
                _Evaluation.SaveBehavioralEvaluation(header, items, id, model.EmployeeId);
                return(RedirectToAction("EmployeeEvaluation", new { id = model.EmployeeId }));
            }
            else
            {
                return(RedirectToAction("EvaluateBehavioral", new { id = model.EmployeeId, factor = model.BehavioralId }));
            }
        }