public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data; var args = package.OperationArgs; executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { ((T)(object)line.Target).Execute(Symbol, args); line.FinishTime = TimeZoneManager.Now; line.Save(); }); }
public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data !; var args = package.GetOperationArgs(); using (OperationLogic.AllowSave <T>()) executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { ((T)(object)line.Target).Save(); line.FinishTime = Clock.Now; line.Save(); }); }
public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data !; var args = package.GetOperationArgs(); executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { ((T)(IEntity)line.Target).Delete(DeleteSymbol, args); line.FinishTime = Clock.Now; line.Save(); }); }
public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data !; var args = package.OperationArgs; var template = args.GetArg <Lite <EmailTemplateEntity> >(); executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { var emails = template.CreateEmailMessage(line.Target).ToList(); foreach (var email in emails) { email.SendMailAsync(); } line.Result = emails.Only()?.ToLite(); line.FinishTime = TimeZoneManager.Now; line.Save(); }); }
public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data; var args = package.OperationArgs; executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { var result = ((F)(object)line.Target).ConstructFrom(Symbol, args); if (result.IsNew) { result.Save(); } line.Result = ((Entity)(IEntity)result).ToLite(); line.FinishTime = TimeZoneManager.Now; line.Save(); }); }
public virtual void Execute(ExecutingProcess executingProcess) { PackageEntity package = (PackageEntity)executingProcess.Data !; var args = package.GetOperationArgs(); executingProcess.ForEachLine(package.Lines().Where(a => a.FinishTime == null), line => { var result = ((F)(object)line.Target).ConstructFrom(Symbol, args); if (result != null) { if (result.IsNew) { using (OperationLogic.AllowSave <T>()) result.Save(); } line.Result = ((Entity)(IEntity)result).ToLite(); } line.FinishTime = Clock.Now; line.Save(); }); }