public static void FreeLanguageComponentObject(LanguageComponentManager languageComponentManager)
 {
     using (Stream stream = File.Open(LanguageFileName, FileMode.Create))
     {
         BinaryFormatter formatter = new BinaryFormatter();
         formatter.Serialize(stream, languageComponentManager);
     }
 }
 public override void Run(object parameter, LanguageComponentManager trackMark)
 {
     if (parameter != null)
     {
         var OrderItem = parameter as OrderItem;
         Console.WriteLine("发送采购商品确定邮件:商品名称{0},数量{1}", OrderItem.Product.Name, OrderItem.Number);
     }
 }
Example #3
0
 public override void Run(object parameter, LanguageComponentManager trackMark)
 {
     trackMark.Index = 0;
     if (this.Expression(parameter as TParameter))
     {
         this.If.Run(parameter, trackMark);
     }
     else if (Else != null)
     {
         this.Else.Run(parameter, trackMark);
     }
 }
        public override void Run(object parameter, LanguageComponentManager trackMark)
        {
            trackMark.Index = 1;
            var Plist = (parameter as TParameter);

            for (int index = CurrentIndex; index < Plist.Count; index++)
            {
                this.CurrentIndex = index;
                if (ItemExpression != null)
                {
                    ItemExpression.Run(Plist[index], trackMark);
                }
            }
        }
        public LanguageComponentManager CreateNewOrderLanguageComponent(Order order)
        {
            LanguageComponentManager manager = new LanguageComponentManager()
            {
                Parameter = order
            };
            var sendEmail      = new SendEmailOrderItemConfirmComponent();
            var forLanguage    = new ForLanguageComponent <Order>(sendEmail, null);
            var ifelseLanguage = new IfLanguageComponent <Order>(forLanguage, null);

            ifelseLanguage.SetIfExpression(ord => order.Customer.CustomerType == CustomerType.Vip, order);
            manager.TrackMark += ifelseLanguage.Run;
            manager.TrackMark += forLanguage.Run;
            manager.TrackMark += sendEmail.Run;

            manager.FirstLanguage = ifelseLanguage;

            return(manager);
        }
Example #6
0
 public virtual void Run(object parameter, LanguageComponentManager trackMark)
 {
 }
Example #7
0
 public virtual void Run(LanguageComponentManager trackMark)
 {
 }
 public override void Run(LanguageComponentManager trackMark)
 {
     this.Run(this.Parameter, trackMark);
 }