Esempio n. 1
0
        public SurveyTemplateEditModel SaveTemplate(SurveyTemplateEditModel model, long organizationRoleUserId)
        {
            SurveyTemplate templateInDb = null;

            var template = Mapper.Map <SurveyTemplateEditModel, SurveyTemplate>(model);

            if (template.Id > 0)
            {
                templateInDb          = _SurveyTemplateRepository.GetById(template.Id);
                template.CreatedBy    = templateInDb.CreatedBy;
                template.DateCreated  = templateInDb.DateCreated;
                template.DateModified = DateTime.Now;
                template.ModifiedBy   = organizationRoleUserId;
            }
            else
            {
                template.CreatedBy   = organizationRoleUserId;
                template.DateCreated = DateTime.Now;
            }

            using (var scope = new TransactionScope())
            {
                template = _SurveyTemplateRepository.Save(template, model.Questions.Where(x => x.IsSelected));
                scope.Complete();
            }

            model.Id = template.Id;

            return(model);
        }
Esempio n. 2
0
        public ActionResult Edit(SurveyTemplateEditModel model)
        {
            try
            {
                var newModel     = _SurveyTemplateService.GetbyId(model.Id);
                var questionsIds = model.Questions != null && model.Questions.Any() ? model.Questions.Select(x => x.Id) : null;

                newModel.Questions.ForEach(x => { x.IsSelected = questionsIds != null && questionsIds.Contains(x.Id) ? true : false; });
                model.Questions = newModel.Questions;

                if (ModelState.IsValid)
                {
                    _SurveyTemplateService.SaveTemplate(model, _sessionContext.UserSession.CurrentOrganizationRole.OrganizationRoleUserId);
                    model.FeedbackMessage = FeedbackMessageModel.CreateSuccessMessage("Template is edited successfully.");
                    return(View(model));
                }


                return(View(model));
            }
            catch (Exception ex)
            {
                model.FeedbackMessage = FeedbackMessageModel.CreateFailureMessage("System Error:" + ex);
                return(View(model));
            }
        }