public void SaveKeyResultAreaEvaluation(RatingHeader header, IEnumerable <RatingKeySuccessArea> ratings, int userid, int employeeid) { if (header.Id == 0) { SqlCommand cmd = new SqlCommand(); cmd.CommandText = "[dbo].[spNotifications]"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@From", userid); cmd.Parameters.AddWithValue("@To", employeeid); cmd.Parameters.AddWithValue("@Message", "KRA evaluation was created."); cmd.Parameters.AddWithValue("@QueryType", 1); var result = SCObjects.ExecuteNonQuery(cmd, UserConnectionString); header.EvaluationSeason = ActiveSeason(); _dbContext.Add(header); } else { header.EvaluationSeason = ActiveSeason(); _dbContext.Entry(header).State = EntityState.Modified; } foreach (var item in ratings) { item.RatingHeader = header; if (item.Id == 0) { _dbContext.Add(item); } else { _dbContext.Entry(item).State = EntityState.Modified; } } _dbContext.SaveChanges(); }
public void SaveRating(RatingHeader header, IEnumerable <RatingBehavioralFactor> ratings, IEnumerable <RatingKeySuccessArea> areas) { if (header.Id == 0) { _dbContext.Add(header); } else { _dbContext.Entry(header).State = EntityState.Modified; } foreach (var item in ratings) { item.RatingHeader = header; if (item.Id == 0) { _dbContext.Add(item); } else { _dbContext.Entry(item).State = EntityState.Modified; } } foreach (var item in areas) { item.RatingHeader = header; if (item.Id == 0) { _dbContext.Add(item); } else { _dbContext.Entry(item).State = EntityState.Modified; } } _dbContext.SaveChanges(); }
public IActionResult SubmitKeyResultArea(EmployeeSuccessAreaEvaluation model) { var UserId = int.Parse(HttpContext.Session.GetString("UserId")); if (ModelState.IsValid) { var header = new RatingHeader { Type = "kra", 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 <RatingKeySuccessArea>(); foreach (var item in model.EvaluationSuccessIndicators) { var rating = new RatingKeySuccessArea { KeyResultArea = _Evaluation.GetKeyResultAreaById(model.KeyResultAreaId), KeySuccessIndicator = _Evaluation.GetSuccessIndicatorById(item.Id), Score = item.Score, Comment = item.Comment, }; items.Add(rating); } var id = int.Parse(HttpContext.Session.GetString("UserId")); _Evaluation.SaveKeyResultAreaEvaluation(header, items, id, model.EmployeeId); return(RedirectToAction("EmployeeEvaluation", new { id = model.EmployeeId })); } else { return(RedirectToAction("EvaluateBehavioral", new { id = model.EmployeeId, kraid = model.KeyResultAreaId })); } }
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 })); } }