﻿namespace Composite
{
    [ApplicationStartup]
    public static class OverrideDataActions
    {
        /// <exclude />
        public static void OnBeforeInitialize()
        {
            
        }

        /// <exclude />
        public static void OnInitialized()
        {
            Guid blogDataTypeGUID = new Guid("bea4f923-4b10-44e7-b290-c2c0ca671ea7");
            Guid pageDataTypeGUID = new Guid("f7869eb2-7369-4eb2-af47-e3be261e92c7");

            //Registering Conditional Actions
            DataActionTokenResolverFacade.RegisterConditional<IPage>(
				ActionIdentifier.Add, 
				f1 => f1.PageTypeId == blogDataTypeGUID, 
				f2 => new MessageBoxActionToken(
					"Sample Add Action", 
					"Some Information on Adding Blog", 
					DialogType.Message));
			
            DataActionTokenResolverFacade.RegisterConditional<IPage>(
				ActionIdentifier.Publish, 
				f1 => f1.PageTypeId == blogDataTypeGUID && DateTime.Now.Day % 2 == 0, 
				f2 => new MessageBoxActionToken(
					"Sample publish Action", 
					"You can publish blog on odd days", 
					DialogType.Message));
			
            DataActionTokenResolverFacade.RegisterConditional<IPage>(
				ActionIdentifier.Edit, 
				f1 => f1.PageTypeId == pageDataTypeGUID, 
				f2 => new MessageBoxActionToken(
					"Sample Edit Action", 
					"Some Information on Edit Page", 
					DialogType.Message));
        }
    }
} 