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 })); } }