コード例 #1
0
        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();
        }
コード例 #2
0
 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();
 }
コード例 #3
0
        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 }));
            }
        }
コード例 #4
0
        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 }));
            }
        }