protected override void OnGetSourceValuePointers(UInt32 taskId, EnumWebValueSources scope, List <ISourceValuePointer> list)
        {
            ISourceValuePointer p = this.ActionOwner as ISourceValuePointer;

            if (p != null)
            {
                if (scope == EnumWebValueSources.HasClientValues)
                {
                    if (p.IsWebClientValue())
                    {
                        list.Add(p);
                    }
                }
                else if (scope == EnumWebValueSources.HasServerValues)
                {
                    if (p.IsWebServerValue())
                    {
                        list.Add(p);
                    }
                }
                else
                {
                    list.Add(p);
                }
            }
        }
Exemple #2
0
 public static EnumWebActionType GetWebActionType(EnumWebRunAt methodRunAt, EnumWebValueSources parametersSources)
 {
     if (methodRunAt == EnumWebRunAt.Client)
     {
         if (parametersSources == EnumWebValueSources.HasBothValues || parametersSources == EnumWebValueSources.HasServerValues)
         {
             return(EnumWebActionType.Download);
         }
         return(EnumWebActionType.Client);
     }
     else if (methodRunAt == EnumWebRunAt.Server)
     {
         if (parametersSources == EnumWebValueSources.HasBothValues || parametersSources == EnumWebValueSources.HasClientValues)
         {
             return(EnumWebActionType.Upload);
         }
         return(EnumWebActionType.Server);
     }
     else
     {
         if (parametersSources == EnumWebValueSources.HasClientValues)
         {
             return(EnumWebActionType.Client);
         }
         else if (parametersSources == EnumWebValueSources.HasServerValues)
         {
             return(EnumWebActionType.Server);
         }
     }
     return(EnumWebActionType.Unknown);
 }
Exemple #3
0
 public EnumWebActionType CheckWebActionType()
 {
     if (_dataTransfers != null)
     {
         EnumWebRunAt        methodRunAt = EnumWebRunAt.Unknown;
         EnumWebValueSources sources     = EnumWebValueSources.Unknown;
         foreach (KeyValuePair <IProperty, ParameterValue> kv in _dataTransfers)
         {
             if (kv.Value != null && kv.Key != null)
             {
                 if (methodRunAt == EnumWebRunAt.Unknown)
                 {
                     if (kv.Key.RunAt == EnumWebRunAt.Client)
                     {
                         methodRunAt = EnumWebRunAt.Client;
                     }
                     else if (kv.Key.RunAt == EnumWebRunAt.Server)
                     {
                         methodRunAt = EnumWebRunAt.Server;
                     }
                 }
                 IList <ISourceValuePointer> list = kv.Value.GetValueSources();
                 if (list != null && list.Count > 0)
                 {
                     sources = WebBuilderUtil.GetActionTypeFromSources(list, sources);
                 }
             }
         }
         if (methodRunAt == EnumWebRunAt.Unknown)
         {
             if (DesignUtil.IsWebClientObject(this.Owner))
             {
                 methodRunAt = EnumWebRunAt.Client;
             }
             else
             {
                 methodRunAt = EnumWebRunAt.Server;
             }
         }
         return(WebBuilderUtil.GetWebActionType(methodRunAt, sources));
     }
     return(EnumWebActionType.Unknown);
 }
        public void CheckWebActionType()
        {
            loadEventAction();
            _webActType = EnumWebActionType.Unknown;
            EnumWebValueSources sources = EnumWebValueSources.Unknown;

            if (_condition != null)
            {
                IList <ISourceValuePointer> conditionSource = _condition.MathExp.GetValueSources();
                if (conditionSource != null)
                {
                    sources = WebBuilderUtil.GetActionTypeFromSources(conditionSource);
                }
            }
            EnumWebRunAt sr = ScopeRunAt;

            if (sr == EnumWebRunAt.Client)
            {
                if (sources == EnumWebValueSources.HasBothValues || sources == EnumWebValueSources.HasServerValues)
                {
                    _webActType = EnumWebActionType.Download;
                }
                else
                {
                    _webActType = EnumWebActionType.Client;
                }
            }
            else if (sr == EnumWebRunAt.Server)
            {
                if (sources == EnumWebValueSources.HasBothValues || sources == EnumWebValueSources.HasClientValues)
                {
                    _webActType = EnumWebActionType.Upload;
                }
                else
                {
                    _webActType = EnumWebActionType.Server;
                }
            }
        }
Exemple #5
0
        public void CheckWebActionType()
        {
            _webActType = EnumWebActionType.Unknown;
            EnumWebValueSources         sources         = EnumWebValueSources.Unknown;
            IList <ISourceValuePointer> conditionSource = null;

            if (_condition != null)
            {
                conditionSource = _condition.MathExp.GetValueSources();
                if (conditionSource != null)
                {
                    sources = WebBuilderUtil.GetActionTypeFromSources(conditionSource);
                }
            }
            bool        executerIsClient = false;
            MethodClass mc = ScopeMethod as MethodClass;

            if (mc != null)
            {
                if (mc.WebUsage == EnumMethodWebUsage.Client)
                {
                    executerIsClient = true;
                }
                if (executerIsClient)
                {
                    if (sources == EnumWebValueSources.HasBothValues || sources == EnumWebValueSources.HasServerValues)
                    {
                        _webActType = EnumWebActionType.Download;
                    }
                }
                else
                {
                    if (sources == EnumWebValueSources.HasBothValues || sources == EnumWebValueSources.HasClientValues)
                    {
                        _webActType = EnumWebActionType.Upload;
                    }
                }
                if (_webActType == EnumWebActionType.Unknown)
                {
                    if (_val != null)
                    {
                        List <ISourceValuePointer> list = new List <ISourceValuePointer>();
                        _val.GetValueSources(list);
                        sources = WebBuilderUtil.GetActionTypeFromSources(list, sources);
                        if (executerIsClient)
                        {
                            if (sources == EnumWebValueSources.HasBothValues || sources == EnumWebValueSources.HasServerValues)
                            {
                                _webActType = EnumWebActionType.Download;
                            }
                        }
                        else
                        {
                            if (sources == EnumWebValueSources.HasBothValues || sources == EnumWebValueSources.HasClientValues)
                            {
                                _webActType = EnumWebActionType.Upload;
                            }
                        }
                    }
                }
            }
        }
 protected abstract void OnGetSourceValuePointers(UInt32 taskId, EnumWebValueSources scope, List <ISourceValuePointer> list);
        private IList <ISourceValuePointer> getSourceValuePointers(UInt32 taskId, EnumWebValueSources scope)
        {
            List <ISourceValuePointer> list = new List <ISourceValuePointer>();

            if (_condition != null)
            {
                IList <ISourceValuePointer> l1 = _condition.GetValueSources();
                if (l1 != null && l1.Count > 0)
                {
                    foreach (ISourceValuePointer p in l1)
                    {
                        if (taskId != 0)
                        {
                            p.SetTaskId(taskId);
                        }

                        if (scope == EnumWebValueSources.HasClientValues)
                        {
                            if (p.IsWebClientValue())
                            {
                                list.Add(p);
                            }
                        }
                        else if (scope == EnumWebValueSources.HasServerValues)
                        {
                            if (!p.IsWebClientValue())
                            {
                                list.Add(p);
                            }
                        }
                        else
                        {
                            list.Add(p);
                        }
                    }
                }
            }
            ParameterValueCollection pvs = ParameterValues;

            if (pvs != null && pvs.Count > 0)
            {
                foreach (ParameterValue pv in pvs)
                {
                    IList <ISourceValuePointer> l = pv.GetValueSources();
                    if (l != null && l.Count > 0)
                    {
                        foreach (ISourceValuePointer p in l)
                        {
                            if (scope == EnumWebValueSources.HasClientValues)
                            {
                                if (p.IsWebClientValue())
                                {
                                    list.Add(p);
                                }
                            }
                            else if (scope == EnumWebValueSources.HasServerValues)
                            {
                                if (!p.IsWebClientValue())
                                {
                                    list.Add(p);
                                }
                            }
                            else
                            {
                                list.Add(p);
                            }
                        }
                    }
                }
            }
            OnGetSourceValuePointers(taskId, scope, list);
            return(list);
        }
Exemple #8
0
        public void CheckWebActionType()
        {
            _webActType = EnumWebActionType.Unknown;
            EnumWebValueSources         sources         = EnumWebValueSources.Unknown;
            IList <ISourceValuePointer> conditionSource = null;

            if (_condition != null)
            {
                conditionSource = _condition.MathExp.GetValueSources();
                if (conditionSource != null)
                {
                    sources = WebBuilderUtil.GetActionTypeFromSources(conditionSource);
                }
            }
            if (_mathExp != null)
            {
                if (_mathExp.MathExpression != null)
                {
                    IList <ISourceValuePointer> lst = _mathExp.MathExpression.GetValueSources();
                    if (lst != null && lst.Count > 0)
                    {
                        sources = WebBuilderUtil.GetActionTypeFromSources(lst, sources);
                    }
                }
            }
            bool        executerIsClient = false;
            MethodClass mc = ScopeMethod as MethodClass;

            if (mc != null)
            {
                if (mc.WebUsage == EnumMethodWebUsage.Client)
                {
                    executerIsClient = true;
                }
            }
            else
            {
                if (_mathExp != null && _mathExp.Owner != null)
                {
                    if (DesignUtil.IsWebClientObject(_mathExp.Owner))
                    {
                        executerIsClient = true;
                    }
                }
                else
                {
                    if (_reader != null)
                    {
                        if (DesignUtil.IsWebClientObject(_reader.ObjectList.RootPointer as IClass))
                        {
                            executerIsClient = true;
                        }
                    }
                }
            }
            switch (sources)
            {
            case EnumWebValueSources.HasBothValues:
                if (executerIsClient)
                {
                    _webActType = EnumWebActionType.Download;
                }
                else
                {
                    _webActType = EnumWebActionType.Upload;
                }
                break;

            case EnumWebValueSources.HasClientValues:
                _webActType = EnumWebActionType.Client;
                break;

            case EnumWebValueSources.HasServerValues:
                _webActType = EnumWebActionType.Server;
                break;
            }
        }
Exemple #9
0
 public static EnumWebValueSources GetActionTypeFromSources(IList <ISourceValuePointer> values, EnumWebValueSources wat)
 {
     if (values != null && values.Count > 0)
     {
         if (wat != EnumWebValueSources.HasBothValues)
         {
             foreach (ISourceValuePointer p in values)
             {
                 bool isClientValue = p.IsWebClientValue();
                 bool isServerValue = p.IsWebServerValue();
                 if (isClientValue && isServerValue)
                 {
                 }
                 else
                 {
                     if (isClientValue)
                     {
                         if (wat == EnumWebValueSources.Unknown)
                         {
                             wat = EnumWebValueSources.HasClientValues;
                         }
                         else if (wat == EnumWebValueSources.HasServerValues)
                         {
                             wat = EnumWebValueSources.HasBothValues;
                             break;
                         }
                     }
                     else
                     {
                         if (wat == EnumWebValueSources.Unknown)
                         {
                             wat = EnumWebValueSources.HasServerValues;
                         }
                         else if (wat == EnumWebValueSources.HasClientValues)
                         {
                             wat = EnumWebValueSources.HasBothValues;
                             break;
                         }
                     }
                 }
             }
         }
     }
     return(wat);
 }