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); }
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)); } }