Exemplo n.º 1
0
        public bool GetComposedValue(IGeneratorObject obj, IGeneratorObjectProperty objectProperty, out string ComposedValue)
        {
            string NestedComposedValue1;
            bool   IsUsed1 = Operand1.GetComposedValue(obj, objectProperty, out NestedComposedValue1);
            string NestedComposedValue2;
            bool   IsUsed2 = Operand2.GetComposedValue(obj, objectProperty, out NestedComposedValue2);

            switch (Type)
            {
            case DynamicOperationTypes.OR:
                ComposedValue = $"({NestedComposedValue1}) || ({NestedComposedValue2})";
                break;

            case DynamicOperationTypes.AND:
                ComposedValue = $"({NestedComposedValue1}) && ({NestedComposedValue2})";
                break;

            case DynamicOperationTypes.EQUALS:
                ComposedValue = $"({NestedComposedValue1}) == ({NestedComposedValue2})";
                break;

            case DynamicOperationTypes.GREATER_THAN:
                ComposedValue = $"({NestedComposedValue1}) > ({NestedComposedValue2})";
                break;

            default:
                throw new InvalidOperationException();
            }

            return(IsUsed1 || IsUsed2);
        }
Exemplo n.º 2
0
        public void GenerateNotification(IGeneratorObject obj, IGeneratorObjectProperty objectProperty, StreamWriter cSharpWriter)
        {
            string ComposedValue;

            if (RootOperation.GetComposedValue(obj, objectProperty, out ComposedValue))
            {
                cSharpWriter.WriteLine($"                NotifyPropertyChanged(nameof({CSharpName}));");
            }
        }
        public bool GetComposedValue(IGeneratorObject obj, IGeneratorObjectProperty objectProperty, out string ComposedValue)
        {
            bool IsUsed = (obj == ValueObject) && (objectProperty == ValueObjectProperty);

            string Cast = (ValueObjectProperty is IGeneratorObjectPropertyEnum) ? "(int)" : "";

            ComposedValue = $"{Cast}Page.Get{ValueObject.CSharpName}.{ValueObjectProperty.CSharpName}";

            return(IsUsed);
        }
Exemplo n.º 4
0
        public bool Generate(IGeneratorObject obj, IGeneratorObjectProperty objectProperty, StreamWriter cSharpWriter)
        {
            string ComposedValue;

            if (RootOperation.GetComposedValue(obj, objectProperty, out ComposedValue))
            {
                cSharpWriter.WriteLine($"        public bool {CSharpName} {{ get {{ return {ComposedValue}; }} }}");
                return(true);
            }
            else
            {
                return(false);
            }
        }
Exemplo n.º 5
0
        public bool GetComposedValue(IGeneratorObject obj, IGeneratorObjectProperty objectProperty, out string ComposedValue)
        {
            string NestedComposedValue;
            bool   IsUsed = Operand.GetComposedValue(obj, objectProperty, out NestedComposedValue);

            switch (Type)
            {
            case DynamicOperationTypes.NOT:
                ComposedValue = $"!({NestedComposedValue})";
                break;

            case DynamicOperationTypes.IS_EMPTY:
                if ((Operand is IGeneratorPropertyValueOperation AsValue) && AsValue.ValueObjectProperty is IGeneratorObjectPropertyItemList)
                {
                    ComposedValue = $"{NestedComposedValue}.Count == 0";
                }
                else
                {
                    ComposedValue = $"string.IsNullOrEmpty({NestedComposedValue})";
                }
                break;
Exemplo n.º 6
0
 public static string GetLoadedHandlerName(IGeneratorObject boundObject, IGeneratorObjectProperty boundObjectProperty)
 {
     return($"OnLoaded_{boundObject.CSharpName}_{boundObjectProperty.CSharpName}");
 }
Exemplo n.º 7
0
 public string GetObjectBinding(IGeneratorObject currentObject, IGeneratorObject objectValue, IGeneratorObjectProperty objectPropertyValue)
 {
     if (objectValue == GeneratorObject.TranslationObject && objectPropertyValue == GeneratorObjectPropertyStringDictionary.StringsProperty)
     {
         return("GetTranslation.Strings");
     }
     else if (objectValue == GeneratorObject.ApplicationObject && objectPropertyValue == GeneratorObjectPropertyItemList.NavigationHistoryProperty)
     {
         return("App.NavigationHistory");
     }
     else if (objectValue == GeneratorObject.ApplicationObject && objectPropertyValue == GeneratorObjectPropertyInteger.NavigationIndexProperty)
     {
         return("App.NavigationIndex");
     }
     else if (objectValue == currentObject)
     {
         return(objectPropertyValue.CSharpName);
     }
     else
     {
         return($"Get{objectValue.CSharpName}.{objectPropertyValue.CSharpName}");
     }
 }
Exemplo n.º 8
0
        public string GetComponentValue(IGeneratorPage currentPage, IGeneratorObject currentObject, IGeneratorResource resourceValue, IGeneratorObject objectValue, IGeneratorObjectProperty objectPropertyValue, IDeclarationSource key, bool isTwoWays)
        {
            if (resourceValue != null)
            {
                return($"{{StaticResource {resourceValue.XamlName}}}");
            }

            else if (objectValue != null && objectPropertyValue != null)
            {
                string Mode          = isTwoWays ? ", Mode=TwoWay" : "";
                string ObjectBinding = GetObjectBinding(currentObject, objectValue, objectPropertyValue);

                if (key == null)
                {
                    return($"{{Binding {ObjectBinding}{Mode}}}");
                }
                else if (key.Name == GeneratorPage.CurrentPage.Name)
                {
                    return($"{{Binding {ObjectBinding}{Mode}, Converter={{StaticResource convKeyToValue}}, ConverterParameter=page-{ParserDomain.ToKeyName(currentPage.Name)}}}");
                }
                else
                {
                    return($"{{Binding {ObjectBinding}{Mode}, Converter={{StaticResource convKeyToValue}}, ConverterParameter={key.Name}}}");
                }
            }

            else
            {
                throw new InvalidOperationException();
            }
        }
 public bool GetComposedValue(IGeneratorObject obj, IGeneratorObjectProperty objectProperty, out string ComposedValue)
 {
     ComposedValue = Value.ToString();
     return(false);
 }