public ActionResult FeedbackForm(FeedbackQuestionViewModel objFeedbackQuestionViewModel, string CourseID) { int insert_status = 0; Master m = new Master(); string empId = m.GetEmployeeIDByEmailID().ToString(); for (int i = 0; i < objFeedbackQuestionViewModel.FeedbackModel.Count; i++) { FeedbackModel objFeedbackModel = new FeedbackModel(); objFeedbackModel.EmpID = Convert.ToInt32(empId); objFeedbackModel.QuestionID = objFeedbackQuestionViewModel.QuestionModel[i].QuestionMasterID; objFeedbackModel.Rating = objFeedbackQuestionViewModel.FeedbackModel[i].Rating; objFeedbackModel.CourseID = Convert.ToInt32(CourseID); objFeedbackModel.CommentsFeedback = objFeedbackQuestionViewModel.FeedbackModel[i].CommentsFeedback; //objFeedbackQuestionViewModel.FeedbackModel.Add(objFeedbackModel); insert_status = _service.SaveFeedbackDetails(objFeedbackModel); } int update_status = _service.UpdateFlagToFeedbackFilled(empId, CourseID); if (update_status == 1) { TempData["Result"] = "Feedback Form submitted successfully"; } objFeedbackQuestionViewModel.CourseName = new SelectList(_service.GetTrainingNameList(empId), "Key", "Value"); return(View(objFeedbackQuestionViewModel)); }
public bool UpdateFeedbackForm(FeedbackFormViewModel item) { if (item != null) { FeedbackForm formFromDb = this.context.FeedbackForms.Include(x => x.FeedbackQuestions).SingleOrDefault(x => x.Id == item.Id); if (formFromDb != null) { formFromDb.DeadlineDate = item.DeadlineDate; formFromDb.Name = item.Name; foreach (FeedbackQuestion questionFromDb in formFromDb.FeedbackQuestions) { // Найти в новом списке элемент с совпадающим айдишником FeedbackQuestionViewModel newQuestion = item.FeedbackQuestions.SingleOrDefault(q => q.Id == questionFromDb.Id); // если он найден, поместить в уже существующий в базе элемент новые данные if (newQuestion != null) { questionFromDb.Name = newQuestion.Name; } else // иначе удалить существующий элемент { formFromDb.FeedbackQuestions.Remove(questionFromDb); } } context.SaveChanges(); // Выбрать все вопросы, у которых айди равен -1 (то есть новые) и добавить их в список foreach (FeedbackQuestionViewModel newQuestionVM in item.FeedbackQuestions.Where(i => i.Id == -1)) { FeedbackQuestion questionToAdd = new FeedbackQuestion() { Name = newQuestionVM.Name, FeedbackForm = formFromDb, }; formFromDb.FeedbackQuestions.Add(questionToAdd); } context.SaveChanges(); } else { return(false); } } return(false); }
public IResult GetFeedBackAssignedQuestions(int feedbackId) { var result = new Result { Operation = Operation.Read, Status = Status.Success }; try { var feedbackViewModel = new FeedBackViewModel(); var feeback = _feedbackRepository.GetFeedBackAssignedQuestions(feedbackId); if (feeback != null) { feedbackViewModel.MapFromModel(feeback); if (feeback.FeedbackQuestions.Any()) { var feedbackQtns = feeback.FeedbackQuestions.Select(fq => { var feedBackQtnViewModel = new FeedbackQuestionViewModel(); if (fq.Question != null) { var qtnVm = new QuestionViewModel(); feedBackQtnViewModel.Question = (QuestionViewModel)qtnVm.MapFromModel(fq.Question); } return((FeedbackQuestionViewModel)feedBackQtnViewModel.MapFromModel(fq)); }).ToList(); feedbackViewModel.FeedbackQuestions = feedbackQtns; } } result.Body = feedbackViewModel.MapFromModel(feeback); } catch (Exception e) { result.Message = e.Message; result.Status = Status.Error; } return(result); }
//[Authorize(Roles = "RMO")] public ActionResult FeedbackForRMO() { Master m = new Master(); string empId; empId = m.GetEmployeeIDByEmailID().ToString(); FeedbackQuestionViewModel objFeedbackQuestionViewModel = new FeedbackQuestionViewModel(_service); objFeedbackQuestionViewModel.QuestionModel = new List <Domain.Entities.QuestionModel>(); objFeedbackQuestionViewModel.FeedbackModel = new List <FeedbackModel>(); DataSet description = _service.GetQuestionDescription(); for (int i = 0; i < description.Tables[0].Rows.Count; i++) { QuestionModel objQuestionModel = new QuestionModel(); objQuestionModel.Description = description.Tables[0].Rows[i]["Description"].ToString(); objQuestionModel.QuestionMasterID = Convert.ToInt32(description.Tables[0].Rows[i]["QuestionMasterID"]); objFeedbackQuestionViewModel.QuestionModel.Add(objQuestionModel); } return(View(objFeedbackQuestionViewModel)); }
public ActionResult FeedbackForm(string empId, string CourseID) { Master m = new Master(); empId = m.GetEmployeeIDByEmailID().ToString(); FeedbackQuestionViewModel objFeedbackQuestionViewModel = new FeedbackQuestionViewModel(_service, empId); objFeedbackQuestionViewModel.QuestionModel = new List <Domain.Entities.QuestionModel>(); objFeedbackQuestionViewModel.FeedbackModel = new List <FeedbackModel>(); ViewBag.empId = empId; ViewBag.empName = _service.GetEmpNameByEmpID(empId); DataSet description = _service.GetQuestionDescription(); //description.Tables[0].Rows.Count for (int i = 0; i < description.Tables[0].Rows.Count; i++) { QuestionModel objQuestionModel = new QuestionModel(); objQuestionModel.Description = description.Tables[0].Rows[i]["Description"].ToString(); objQuestionModel.QuestionMasterID = Convert.ToInt32(description.Tables[0].Rows[i]["QuestionMasterID"]); objFeedbackQuestionViewModel.QuestionModel.Add(objQuestionModel); } for (int i = 0; i < description.Tables[0].Rows.Count; i++) { FeedbackModel objFeedbackModel = new FeedbackModel(); objFeedbackModel.QuestionID = Convert.ToInt32(description.Tables[0].Rows[i]["QuestionMasterID"]); objFeedbackModel.Rating = 0; objFeedbackQuestionViewModel.FeedbackModel.Add(objFeedbackModel); objFeedbackModel.EmpID = Convert.ToInt32(Session["EmpID"]); } return(View(objFeedbackQuestionViewModel)); }
public ActionResult FeedbackFormRMO(FeedbackQuestionViewModel objFeedbackQuestionViewModel, string Command, string CourseID) { int update_status = 0; if (Command == "Save") { NominationModel objNominationModel = new NominationModel(); objNominationModel.FeedbackToBeSentTrainer = objFeedbackQuestionViewModel.NominationModel.FeedbackToBeSentTrainer; objNominationModel.FeedbackSentToTrainer = objFeedbackQuestionViewModel.NominationModel.FeedbackSentToTrainer; objNominationModel.ReasonSLANotMet = objFeedbackQuestionViewModel.NominationModel.ReasonSLANotMet; objNominationModel.CommentsForFeedback = objFeedbackQuestionViewModel.NominationModel.CommentsForFeedback; update_status = _service.SaveFeedbackDetailsByRMO(objNominationModel, CourseID); //objFeedbackQuestionViewModel.CourseNames = new SelectList(_service.GetTrainingNameList(), "Key", "Value"); return(RedirectToAction("ViewTechnicalTrainingRequest", "Training")); } else if (Command == "Send Feedback") { NominationModel objNominationModel = new NominationModel(); objNominationModel.FeedbackToBeSentTrainer = objFeedbackQuestionViewModel.NominationModel.FeedbackToBeSentTrainer; objNominationModel.FeedbackSentToTrainer = objFeedbackQuestionViewModel.NominationModel.FeedbackSentToTrainer; objNominationModel.ReasonSLANotMet = objFeedbackQuestionViewModel.NominationModel.ReasonSLANotMet; objNominationModel.CommentsForFeedback = objFeedbackQuestionViewModel.NominationModel.CommentsForFeedback; objNominationModel.SendFeedback = true; objNominationModel.CourseID = Convert.ToInt32(CourseID); int statusUpdate = _service.SaveAndUpdateStatusOfTraining(objNominationModel, CourseID); List <double> Total = new List <double>(); DataSet description = _service.GetQuestionDescription(); for (int i = 0; i < description.Tables[0].Rows.Count; i++) { Total.Add(_service.GetAverageRatingsFromParticipants(description.Tables[0].Rows[i]["QuestionMasterID"].ToString(), CourseID)); } DataSet TrainingDetails = _service.GetTrainingDetailsByCourseId(CourseID); EmailHelper.SendMailToTrainerWithRatings(Total, TrainingDetails); TempData["Result"] = "Feedback details saved successfully and mail is sent to trainer"; return(RedirectToAction("FeedbackForRMO", "Feedback")); } //Harsha Issue Id- 58436- Start //Description: on training record: if no emp fill feedback the show comment in SLA Met columns else if (Command == "No Feedback Received") { NominationModel objNominationModel = new NominationModel(); objNominationModel.FeedbackToBeSentTrainer = null; objNominationModel.FeedbackSentToTrainer = null; objNominationModel.ReasonSLANotMet = ""; objNominationModel.CommentsForFeedback = ""; objNominationModel.SendFeedback = false; objNominationModel.CourseID = Convert.ToInt32(CourseID); objNominationModel.NoFeedbackReceived = true; int statusUpdate = _service.SaveAndUpdateStatusOfTraining(objNominationModel, CourseID); return(RedirectToAction("ViewTechnicalTrainingRequest", "Training")); } //Harsha Issue Id- 58436- End else { return(View()); } }