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