示例#1
0
        /// <summary>
        /// Run
        /// </summary>
        /// <param name="arg">arg</param>
        /// <param name="context">context</param>
        /// <returns>flag if the process was sucessfull</returns>
        public override async Task <ImportComposerTemplatePipelineModel> Run(ImportComposerTemplatesArgument arg, CommercePipelineExecutionContext context)
        {
            Condition.Requires(arg).IsNotNull($"{this.Name}: The argument can not be null");
            ComposerTemplatesSyncPolicy policy = context.GetPolicy <ComposerTemplatesSyncPolicy>();

            string inputJson = File.ReadAllText(policy.PathToJson);

            List <CustomComposerTemplate> allComposerTemplates = JsonConvert.DeserializeObject <List <CustomComposerTemplate> >(inputJson);

            return(await Task.FromResult(new ImportComposerTemplatePipelineModel()
            {
                Arguments = arg,
                InputComposerTemplates = allComposerTemplates
            }));
        }
        /// <summary>
        /// Run
        /// </summary>
        /// <param name="arg">arg</param>
        /// <param name="context">context</param>
        /// <returns>flag if the process was sucessfull</returns>
        public override async Task <bool> Run(IList <CustomComposerTemplate> arg, CommercePipelineExecutionContext context)
        {
            Condition.Requires(arg).IsNotNull($"{this.Name}: The argument can not be null");
            ComposerTemplatesSyncPolicy policy = context.GetPolicy <ComposerTemplatesSyncPolicy>();

            try
            {
                string json = JsonConvert.SerializeObject(arg);
                using (var writer = File.CreateText(policy.PathToJson))
                {
                    writer.Write(json);
                }
            }
            catch (Exception e)
            {
                Log.Information("WriteEntityViewsToDisc failed to write to disc ... " + e.Message);
                return(await Task.FromResult(false));
            }

            return(await Task.FromResult(true));
        }