示例#1
0
        public void SaveApplicationSectionTrainee(Guid appUniqueId, ApplicationSectionResponse section, string updatedBy, int?roleId)
        {
            LogMessage("SaveApplicationSection (ApplicationManager)");

            var application = base.Repository.GetByUniqueId(appUniqueId, false, false, true);

            if (application == null)
            {
                throw new ObjectNotFoundException("Cannot find application");
            }

            foreach (var question in section.Questions.Where(x => x.AnswerResponseStatusId != 0))
            {
                var applicationResponseTrainee = new ApplicationResponseTrainee
                {
                    ApplicationId = application.Id,
                    ApplicationSectionQuestionId = question.Id.GetValueOrDefault(),
                    ApplicationResponseStatusId  = question.AnswerResponseStatusId,
                    CreatedBy   = updatedBy,
                    CreatedDate = DateTime.Now
                };
                //applicationResponseTrainee.ApplicationSectionQuestionAnswerId = question.an


                application.ApplicationResponsesTrainee.Add(applicationResponseTrainee);
            }

            this.Repository.Save(application);
        }
示例#2
0
        public List <ApplicationResponseTrainee> GetApplicationResponsesTraineeForSection(ApplicationSectionItem section, string updatedBy, int?roleId)
        {
            LogMessage("GetApplicationResponsesTraineeForSection (ApplicationManager)");

            var    applicationResponsesTrainee = new List <ApplicationResponseTrainee>();
            string rfiCreatedBy = string.Empty;

            foreach (var question in section.Questions)
            {
                int statusId = 0;

                if (question.AnswerResponseStatusId != 0)
                {
                    statusId = question.AnswerResponseStatusId;
                }

                foreach (var response in question.QuestionResponses)
                {
                    var hasResponse = false;
                    var applicationResponseTrainee = new ApplicationResponseTrainee
                    {
                        ApplicationSectionQuestionId = question.Id.Value,
                        ApplicationResponseStatusId  = statusId,
                        CreatedDate = DateTime.Now,
                        CreatedBy   = updatedBy,
                    };

                    if (hasResponse)
                    {
                        applicationResponsesTrainee.Add(applicationResponseTrainee);
                    }
                }

                if (question.Answers.Count > 0)
                {
                    applicationResponsesTrainee.AddRange(
                        question.Answers
                        .Where(x => x.Selected)
                        .Select(answer => new ApplicationResponseTrainee
                    {
                        ApplicationSectionQuestionId       = question.Id.Value,
                        ApplicationSectionQuestionAnswerId = answer.Id,
                        ApplicationResponseStatusId        = statusId,
                        CreatedDate = DateTime.Now,
                        CreatedBy   = updatedBy
                    }));
                }
            }

            if (section.Children != null && section.Children.Count > 0)
            {
                applicationResponsesTrainee.AddRange(this.GetApplicationResponsesTrainee(section.Children, updatedBy, roleId));
            }

            return(applicationResponsesTrainee);
        }