public async Task <Evaluation> updateEvaluation(EvaluationViewModel evaluationVM, int UserID) { checkBissines(evaluationVM, UserID, "Update"); evaluationVM.evaluationCharterItems = new List <EvaluationCharterItem>(); foreach (EvalCharterCommunityViewModel obj in evaluationVM.evalCharterCommunityItemsVM) { EvaluationCharterItem item = new EvaluationCharterItem { EvaluationCharterItemsID = Convert.ToInt16(obj.EvaluationCharterItemsID), EvaluationID = Convert.ToInt16(evaluationVM.evaluationVM.EvaluationID), EvalCharterDetailsItemsID = obj.EvalCharterDetailsItemsID, DegreeEmployee = Convert.ToInt16(obj.DegreeEmployee) }; evaluationVM.evaluationCharterItems.Add(item); } _context.UpdateRange(evaluationVM.evaluationCharterItems); await _context.SaveChangesAsync(); //AttachmentConcrete attachmentConcrete = new AttachmentConcrete(_context, _configuration); //if (evaluationVM.attachments != null) //{ // foreach (Attachment dtl in evaluationVM.attachments) // { // Attachment obj = _context.Attachments.FirstOrDefault(p => p.AttachmentID == dtl.AttachmentID); // obj.ReferenceID = evaluation.EvaluationID; // await attachmentConcrete.UpdateAttachment(obj); // } //} Evaluation evaluation = _context.Evaluations.Where(p => p.EvaluationID == evaluationVM.evaluationVM.EvaluationID).FirstOrDefault(); return(evaluation); }
public async Task <Evaluation> saveEvaluation(EvaluationViewModel evaluationVM, int UserID) { checkBissines(evaluationVM, UserID, "Insert"); Evaluation evaluation = new Evaluation() { EvaluationID = 0, EvalCharterID = evaluationVM.evaluationVM.EvalCharterID, EmployeeID = evaluationVM.evaluationVM.EmployeeID, UserID = evaluationVM.evaluationVM.UserID, Notes = evaluationVM.evaluationVM.Notes }; await _context.Evaluations.AddAsync(evaluation); evaluationVM.evaluationCharterItems = new List <EvaluationCharterItem>(); foreach (EvalCharterCommunityViewModel obj in evaluationVM.evalCharterCommunityItemsVM) { EvaluationCharterItem item = new EvaluationCharterItem { EvaluationCharterItemsID = 0, EvaluationID = evaluation.EvaluationID, EvalCharterDetailsItemsID = obj.EvalCharterDetailsItemsID, DegreeEmployee = Convert.ToInt16(obj.DegreeEmployee) }; evaluationVM.evaluationCharterItems.Add(item); } await _context.AddRangeAsync(evaluationVM.evaluationCharterItems); await _context.SaveChangesAsync(); AttachmentConcrete attachmentConcrete = new AttachmentConcrete(_context, _configuration); if (evaluationVM.attachments != null) { foreach (Attachment dtl in evaluationVM.attachments) { Attachment obj = _context.Attachments.FirstOrDefault(p => p.AttachmentID == dtl.AttachmentID); obj.ReferenceID = evaluation.EvaluationID; await attachmentConcrete.UpdateAttachment(obj); } } Employee employeeManager = _context.EmployeeInfoView.Where(p => p.ManagerID == evaluationVM.evaluationVM.EmployeeID).FirstOrDefault(); Users usersManager = _context.Users.Where(p => p.EmployeeId == employeeManager.EmployeeID).FirstOrDefault(); if (usersManager != null) { await notificationConcrete.SaveNotification(evaluation.EvaluationID, false, "NOT02", usersManager.UserId, 0, UserID); } return(evaluation); }