示例#1
0
 public void SavePeerEvaluation(PeerEvaluationHeader header, IEnumerable <PeerEvaluationLine> items, int userid)
 {
     if (header.Id == 0)
     {
         header.CreatedBy   = _dbContext.Accounts.FirstOrDefault(a => a.Id == userid);
         header.DateCreated = DateTime.Now;
         header.Status      = _dbContext.Statuses.FirstOrDefault(a => a.Id == TransactionStatus.Save.ToInt());
         _dbContext.Add(header);
     }
     else
     {
         _dbContext.Entry(header).State = EntityState.Modified;
     }
     foreach (var i in items)
     {
         i.PeerEvaluationHeader = header;
         if (i.Id == 0)
         {
             _dbContext.Add(i);
         }
         else
         {
             _dbContext.Entry(i).State = EntityState.Modified;
         }
     }
     _dbContext.SaveChanges();
 }
示例#2
0
        public IActionResult Save(PeerEvaluationViewModel model)
        {
            var UserId = int.Parse(HttpContext.Session.GetString("UserId"));

            if (ModelState.IsValid)
            {
                var header = new PeerEvaluationHeader
                {
                    Employee = _Services.GetAccountById(model.Header.EmployeeId)
                };
                List <PeerEvaluationLine> items = new List <PeerEvaluationLine>();
                foreach (var item in model.LineItems)
                {
                    var lineitem = new PeerEvaluationLine
                    {
                        PeerCriteria = _Services.GetPeerCriteriaById(item.CriteriaId),
                        Score        = item.Score,
                        Comment      = item.Comment
                    };
                    items.Add(lineitem);
                }
                _Services.SavePeerEvaluation(header, items, UserId);
                return(RedirectToAction("Index"));
            }
            else
            {
                return(RedirectToAction("Index"));
            }
        }