Ejemplo n.º 1
0
        /// <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());
        }
Ejemplo n.º 2
0
        /// <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);
        }
Ejemplo n.º 3
0
        /// <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.")));
        }
Ejemplo n.º 4
0
        /// <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")
            });
        }