public T1 GetView(ApplicationDbContext db)
        {
            SurveyUserData       model = Parameters as SurveyUserData;
            SurveyUserDataReturn surveyUserDataReturn = new SurveyUserDataReturn();

            int id               = StringToValue.ParseInt(model.Id);
            int surveyPartId     = StringToValue.ParseInt(model.SectionId);
            int surveyQuestionId = StringToValue.ParseInt(model.QuestionId);

            SurveyPart             surveyPart             = db.T_SurveyPart.Where(sp => sp.SurveyId == id && sp.Id == surveyPartId).FirstOrDefault();
            List <SurveyQuestion>  surveyQuestions        = db.T_SurveyQuestion.Where(sq => sq.SurveyPartId == surveyPart.Id && sq.Id < surveyQuestionId).ToList();
            SurveyQuestion         surveyQuestion         = surveyQuestions[surveyQuestions.Count() - 1];
            SurveyPartTemplate     surveyPartTemplate     = db.T_SurveyPartTemplate.Find(surveyPart.SurveyPartTemplateId);
            SurveyQuestionTemplate surveyQuestionTemplate = db.T_SurveyQuestionTemplate.Find(surveyQuestion.SurveyQuestionTemplateId);

            surveyUserDataReturn.TotalSections  = db.T_SurveyPart.Where(sp => sp.SurveyId == id).Count();
            surveyUserDataReturn.TotalQuestions = db.T_SurveyPart
                                                  .Join(db.T_SurveyQuestion,
                                                        sp => sp.Id, sq => sq.SurveyPartId,
                                                        (sp, sq) => sp).Where(sp => sp.SurveyId == id).Count();
            surveyUserDataReturn.TotalSectionQuestions   = db.T_SurveyQuestion.Where(sq => sq.SurveyPartId == surveyPart.Id).Count();
            surveyUserDataReturn.QuestionSectionNo       = db.T_SurveyQuestion.Where(sq => sq.SurveyPartId == surveyPart.Id && sq.Id <= surveyQuestion.Id).Count();
            surveyUserDataReturn.SectionName             = surveyPartTemplate.Name;
            surveyUserDataReturn.SectionTitle            = surveyPartTemplate.SummaryTitle;
            surveyUserDataReturn.SectionId               = surveyPart.Id;
            surveyUserDataReturn.QuestionId              = surveyQuestion.Id;
            surveyUserDataReturn.QuestionName            = surveyQuestionTemplate.Name;
            surveyUserDataReturn.QuestionDescription     = surveyQuestionTemplate.Definition;
            surveyUserDataReturn.QuestionType            = surveyQuestionTemplate.QuestionType;
            surveyUserDataReturn.QuestionEmployeeScore   = surveyQuestion.EmployeeScore;
            surveyUserDataReturn.QuestionEmployeeComment = surveyQuestion.EmployeeComment;
            surveyUserDataReturn.SectionNo               = db.T_SurveyPart.Where(sp => sp.SurveyId == id && sp.Id <= surveyPart.Id).Count();

            return(surveyUserDataReturn as T1);
        }
        public T1 GetView(ApplicationDbContext db)
        {
            SurveyUserData       model = Parameters as SurveyUserData;
            SurveyUserDataReturn surveyUserDataReturn = new SurveyUserDataReturn();
            SurveyPart           surveyPart           = new SurveyPart();

            int id = StringToValue.ParseInt(model.Id);

            surveyPart = db.T_SurveyPart.Where(sp => sp.SurveyId == id).FirstOrDefault();
            SurveyPartTemplate surveyPartTemplate = db.T_SurveyPartTemplate.Find(surveyPart.SurveyPartTemplateId);

            surveyUserDataReturn.TotalSections  = db.T_SurveyPart.Where(sp => sp.SurveyId == id).Count();
            surveyUserDataReturn.TotalQuestions = db.T_SurveyPart
                                                  .Join(db.T_SurveyQuestion,
                                                        sp => sp.Id, sq => sq.SurveyPartId,
                                                        (sp, sq) => sp).Where(sp => sp.SurveyId == id).Count();
            surveyUserDataReturn.TotalSectionQuestions = db.T_SurveyQuestion.Where(sq => sq.SurveyPartId == surveyPart.Id).Count();
            surveyUserDataReturn.SectionName           = surveyPartTemplate.Name;
            surveyUserDataReturn.SectionTitle          = surveyPartTemplate.SummaryTitle;
            surveyUserDataReturn.SectionId             = surveyPart.Id;
            surveyUserDataReturn.QuestionId            = 0;
            surveyUserDataReturn.SectionNo             = db.T_SurveyPart.Where(sp => sp.SurveyId == id && sp.Id <= surveyPart.Id).Count();

            return(surveyUserDataReturn as T1);
        }
        public SurveyPart CreatePart(SurveyPart part)
        {
            var title = part.As<TitlePart>();
            var body = part.As<BodyPart>();

            var innerSurvey = part.Survey;
            innerSurvey.Name = title.Title;
            innerSurvey.HtmlContent = body.Text;

            part.Survey = innerSurvey;

            Add(innerSurvey);

            part.SurveyId = innerSurvey.Id;

            _contentManager.Create(part.ContentItem);

            return part;
        }
        public void DeletePart(SurveyPart part) {
            _contentManager.Remove(part.ContentItem);

            // kill the survey...
            Delete(part.Survey);
        }
        public void UpdatePart(SurveyPart part)
        {
            _contentManager.Publish(part.ContentItem);

            var title = part.As<TitlePart>();
            var body = part.As<BodyPart>();

            // update the survey...
            part.Survey.Name = title.Title;
            part.Survey.HtmlContent = body.Text;

            Save(part.Survey);
        }
 public static string SurveyEdit(this UrlHelper urlHelper, SurveyPart surveyPart)
 {
     return urlHelper.Action("Edit", "SurveyAdmin", new { surveyId = surveyPart.Id, area = "Liveo.Platform" });
 }
Example #7
0
        public void Save(T model, ApplicationDbContext db)
        {
            SurveyPartData modelData = model as SurveyPartData;

            int      id       = StringToValue.ParseInt(modelData.Id);
            DateTime deadline = CalculateDate.StringToDate(modelData.Summary, ".");

            SurveyTemplate surveyTemplate = db.T_SurveyTemplate.Find(id);

            if (surveyTemplate != null)
            {
                surveyTemplate.PublishDate = DateTime.Now;

                List <Survey>   surveys   = new List <Survey>();
                List <Employee> employees = db.T_Employees.ToList();

                db.Entry(surveyTemplate).Collection(p => p.SurveyPartTemplates).Load();
                List <SurveyPartTemplate> surveyPartTemplates = surveyTemplate.SurveyPartTemplates;
                if (surveyPartTemplates == null)
                {
                    surveyPartTemplates = new List <SurveyPartTemplate>();
                }


                foreach (Employee employee in employees)
                {
                    Team   team   = db.T_Teams.Find(employee.TeamId);
                    Survey survey = new Survey()
                    {
                        EmployeeId           = employee.Id,
                        ManagerId            = team.ManagerId,
                        SurveyTemplateId     = id,
                        SurveyStatusId       = 1,
                        Name                 = modelData.Name,
                        SurveyDate           = DateTime.Now,
                        SurveyDadline        = deadline,
                        EmployeeCompleted    = false,
                        ManagerCompleted     = false,
                        CompliteEmployeeDate = new DateTime(1901, 1, 1),
                        CompliteManagerDate  = new DateTime(1901, 1, 1),
                        SurveyParts          = new List <SurveyPart>()
                    };

                    if (surveyTemplate.SurveyPartTemplates != null)
                    {
                        foreach (SurveyPartTemplate surveyPartTemplate in surveyTemplate.SurveyPartTemplates)
                        {
                            SurveyPart surveyPart = new SurveyPart()
                            {
                                SurveyPartTemplateId = surveyPartTemplate.Id,
                                SurveyQuestions      = new List <SurveyQuestion>()
                            };

                            survey.SurveyParts.Add(surveyPart);

                            db.Entry(surveyPartTemplate).Collection(p => p.SurveyQuestionTemplates).Load();
                            foreach (SurveyQuestionTemplate surveyQuestionTemplate in surveyPartTemplate.SurveyQuestionTemplates)
                            {
                                SurveyQuestion surveyQuestion = new SurveyQuestion()
                                {
                                    SurveyQuestionTemplateId = surveyQuestionTemplate.Id
                                };
                                surveyPart.SurveyQuestions.Add(surveyQuestion);
                            }
                        }
                    }
                    surveys.Add(survey);
                }
                db.T_Survey.AddRange(surveys);
                db.SaveChanges();
            }
        }