/// <summary> /// Update data and create change log /// </summary> /// <param name="pageTemplateLog"></param> /// <param name="pageTemplateLogModel"></param> /// <returns></returns> private string ChangeLog(PageTemplateLog pageTemplateLog, PageTemplateLogManageModel pageTemplateLogModel) { var changeLog = new StringBuilder(); const string format = "- Update field: {0}\n"; if (!ConvertUtilities.Compare(pageTemplateLog.Name, pageTemplateLogModel.Name)) { changeLog.AppendFormat(format, "Name"); pageTemplateLog.Name = pageTemplateLogModel.Name; } if (!ConvertUtilities.Compare(pageTemplateLog.Content, pageTemplateLogModel.Content)) { changeLog.AppendFormat(format, "Content"); pageTemplateLog.Content = pageTemplateLogModel.Content; } if (!ConvertUtilities.Compare(pageTemplateLog.ParentId, pageTemplateLogModel.ParentId)) { changeLog.AppendFormat(format, "ParentId"); pageTemplateLog.ParentId = pageTemplateLogModel.ParentId; } if (!string.IsNullOrEmpty(changeLog.ToString())) { changeLog.Insert(0, string.Format("** Update Page Template **\n")); } return(changeLog.ToString()); }
/// <summary> /// Save page template /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel SavePageTemplate(PageTemplateManageModel model) { ResponseModel response; var pageTemplate = GetById(model.Id); if (pageTemplate != null) { var log = new PageTemplateLogManageModel(pageTemplate); pageTemplate.Name = model.Name; pageTemplate.Content = model.Content; pageTemplate.ParentId = model.ParentId; pageTemplate.IsValid = true; pageTemplate.CompileMessage = string.Empty; response = HierarchyUpdate(pageTemplate); if (response.Success) { _pageTemplateLogService.SavePageTemplateLog(log); } response.SetMessage(response.Success ? T("PageTemplate_Message_UpdateSuccessfully") : T("PageTemplate_Message_UpdateFailure")); } else { Mapper.CreateMap <PageTemplateManageModel, PageTemplate>(); pageTemplate = Mapper.Map <PageTemplateManageModel, PageTemplate>(model); var sameLevelTemplates = Fetch(t => pageTemplate.ParentId.HasValue ? t.ParentId == model.ParentId : !t.ParentId.HasValue); var recordOrder = sameLevelTemplates.Any() ? sameLevelTemplates.Max(t => t.RecordOrder) + 10 : 10; pageTemplate.RecordOrder = recordOrder; pageTemplate.IsValid = true; response = HierarchyInsert(pageTemplate); response.SetMessage(response.Success ? T("PageTemplate_Message_CreateSuccessfully") : T("PageTemplate_Message_CreateFailure")); } // Re-initialize templates if (response.Success) { Initialize(pageTemplate.Id); } return(response); }
/// <summary> /// Save page template /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel SavePageTemplate(PageTemplateManageModel model) { ResponseModel response; var pageTemplate = GetById(model.Id); if (pageTemplate != null) { var log = new PageTemplateLogManageModel(pageTemplate); var childTemplates = new List <PageTemplate>(); if (pageTemplate.Name.Equals(DefaultTemplateName)) { childTemplates = GetAll().Where(t => !t.Name.Equals(DefaultTemplateName)).ToList(); } else if (!pageTemplate.Content.Equals(model.Content) || pageTemplate.ParentId != model.ParentId) { childTemplates = _pageTemplateRepository.GetHierarcies(pageTemplate).ToList(); } if (childTemplates.Any()) { foreach (var childTemplate in childTemplates) { Update(childTemplate); } } pageTemplate.Name = model.Name; pageTemplate.Content = model.Content; pageTemplate.ParentId = model.ParentId; response = HierarchyUpdate(pageTemplate); if (response.Success) { _pageTemplateLogServices.SavePageTemplateLog(log); } return(response.SetMessage(response.Success ? _localizedResourceServices.T("AdminModule:::PageTemplates:::Messages:::UpdateSuccessfully:::Update page template successfully.") : _localizedResourceServices.T("AdminModule:::PageTemplates:::Messages:::UpdateFailure:::Update page template failed. Please try again later."))); } Mapper.CreateMap <PageTemplateManageModel, PageTemplate>(); pageTemplate = Mapper.Map <PageTemplateManageModel, PageTemplate>(model); response = HierarchyInsert(pageTemplate); return(response.SetMessage(response.Success ? _localizedResourceServices.T("AdminModule:::PageTemplates:::Messages:::CreateSuccessfully:::Create page template successfully.") : _localizedResourceServices.T("AdminModule:::PageTemplates:::Messages:::CreateFailure:::Create page template failed. Please try again later."))); }
/// <summary> /// Save current page to audit /// </summary> /// <param name="model"></param> /// <returns></returns> public ResponseModel SavePageTemplateLog(PageTemplateLogManageModel model) { var pageTemplate = _pageTemplateRepository.GetById(model.PageTemplateId); if (pageTemplate != null) { /* * Map page template log model to log entity * Get last updated version of template log * If there are nothing change then do not do anything * Otherwise insert log */ Mapper.CreateMap <PageTemplateLogManageModel, PageTemplateLog>(); var log = Mapper.Map <PageTemplateLogManageModel, PageTemplateLog>(model); var pageTemplateLog = GetAll() .Where(a => a.PageTemplateId == pageTemplate.Id) .OrderByDescending(a => a.Id) .FirstOrDefault(); log.ChangeLog = pageTemplateLog != null ? ChangeLog(pageTemplateLog, model) : "** Create Page Template **"; if (string.IsNullOrEmpty(log.ChangeLog)) { return(new ResponseModel { Success = true }); } log.SessionId = HttpContext.Current.Session.SessionID; return(Insert(log)); } return(new ResponseModel { Success = false, Message = T("Page_Message_ObjectNotFound") }); }