Ejemplo n.º 1
0
 public static IList <ConditionalOperator> GetConditionalOperators(string langCode, bool forceUpdate = false)
 {
     if (!ConditionalOperators.ContainsKey(langCode))
     {
         ConditionalOperators.GetOrAdd(langCode, new List <ConditionalOperator>());
         //TODO: Make database call to get name using LookupEnums.RelationalOperator
         //Iterate ConditionalOperators and only update it's LangName from MessageRefType table by Language.
         // Like Active = Activo same way Greater than in spanish = 'mas grande que'
         ConditionalOperators[langCode].Add(new ConditionalOperator {
             Operator = RelationalOperator.And, SysRefName = "&&", LangName = "And"
         });
         ConditionalOperators[langCode].Add(new ConditionalOperator {
             Operator = RelationalOperator.Or, SysRefName = "||", LangName = "Or"
         });
         ConditionalOperators[langCode].Add(new ConditionalOperator {
             Operator = RelationalOperator.GreaterThan, SysRefName = ">", LangName = "Greater Than"
         });
         ConditionalOperators[langCode].Add(new ConditionalOperator {
             Operator = RelationalOperator.GreaterThanEqual, SysRefName = ">=", LangName = "Greater Than Equal to"
         });
         ConditionalOperators[langCode].Add(new ConditionalOperator {
             Operator = RelationalOperator.LessThan, SysRefName = "<", LangName = "Less Than"
         });
         ConditionalOperators[langCode].Add(new ConditionalOperator {
             Operator = RelationalOperator.LessThanEqual, SysRefName = "<=", LangName = "Less Than Equal to"
         });
         ConditionalOperators[langCode].Add(new ConditionalOperator {
             Operator = RelationalOperator.Equal, SysRefName = "==", LangName = "Equals to"
         });
         ConditionalOperators[langCode].Add(new ConditionalOperator {
             Operator = RelationalOperator.NotEqual, SysRefName = "!=", LangName = "Not Equals to"
         });
     }
     return(ConditionalOperators[langCode]);
 }
        public void GetEnum_StateUnderTest_ExpectedBehavior()
        {
            // Arrange

            // Act
            var result = ConditionalOperators.GetEnum();

            // Assert
            Assert.True(result.Any());
        }
        internal QueryGenerator <T> Condition(ConditionalOperators conditionOperator)
        {
            if (_tempBodies.Any())
            {
                var expression = _tempBodies.Last();
                expression.Method = conditionOperator;
            }

            return(this);
        }
Ejemplo n.º 4
0
 /// <summary>
 ///     To start English version of it on Application start
 /// </summary>
 /// <param name="langCode">1 for EN</param>
 public static void Initialize(string langCode)
 {
     Tables = new Dictionary <EntitiesAlias, TableReference>();
     RibbonMenus.GetOrAdd(langCode, new List <RibbonMenu>());
     IdRefLangNames.GetOrAdd(langCode, new ConcurrentDictionary <int, IList <IdRefLangName> >());
     PageInfos.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <PageInfo> >());
     Operations.GetOrAdd(langCode, new ConcurrentDictionary <LookupEnums, IList <Operation> >());
     DisplayMessages.GetOrAdd(langCode, new ConcurrentDictionary <string, DisplayMessage>());
     ColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ViewModels.ColumnSetting> >());
     GridColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ViewModels.ColumnSetting> >());
     ValidationRegExpressions.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ValidationRegEx> >());
     MasterTables.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, object>());
     ConditionalOperators.GetOrAdd(langCode, new List <ConditionalOperator>());
     SysSettings.GetOrAdd(langCode, new SysSetting());
     BusinessConfiguration.GetOrAdd(langCode, new BusinessConfiguration());
 }
Ejemplo n.º 5
0
        /// <summary>
        ///     To start English version of it on Application start
        /// </summary>
        /// <param name="langCode">1 for EN</param>
        public static void Initialize(string langCode)
        {
            RibbonMenus.GetOrAdd(langCode, new List <RibbonMenu>());
            IdRefLangNames.GetOrAdd(langCode, new ConcurrentDictionary <int, IList <IdRefLangName> >());
            PageInfos.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <PageInfo> >());
            Operations.GetOrAdd(langCode, new ConcurrentDictionary <LookupEnums, IList <Operation> >());
            DisplayMessages.GetOrAdd(langCode, new ConcurrentDictionary <string, DisplayMessage>());
            ColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ColumnSetting> >());
            GridColumnSettings.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ColumnSetting> >());
            ValidationRegExpressions.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, IList <ValidationRegEx> >());
            MasterTables.GetOrAdd(langCode, new ConcurrentDictionary <EntitiesAlias, object>());
            ConditionalOperators.GetOrAdd(langCode, new List <ConditionalOperator>());
            BusinessConfiguration.GetOrAdd(langCode, new BusinessConfiguration());
            List <Task> tasks = new List <Task>();

            tasks.Add(Task.Factory.StartNew(() =>
            {
                GetRibbonMenus(langCode);
                GetTables();
                InitializerOperations(langCode);
                GetSystemSettings(langCode);
            }));

            if (tasks.Count > 0)
            {
                Task.WaitAll(tasks.ToArray());
            }

            #region Nav Cache Commented Code

            ////string username = M4PBusinessContext.ComponentSettings.NavAPIUserName;
            ////string password = M4PBusinessContext.ComponentSettings.NavAPIPassword;
            ////string serviceURL = M4PBusinessContext.ComponentSettings.NavAPIUrl;
            ////NAVOrderItemResponse.GetOrAdd(langCode, new NAVOrderItemResponse());
            ////DimensionValues.GetOrAdd(langCode, new NavSalesOrderDimensionResponse());
            ////GetNavSalesOrderDimensionValues(langCode, username, password, serviceURL);
            ////CachedNavSalesOrder.GetOrAdd(langCode, new NavSalesOrderPostedInvoiceResponse());
            ////GetCachedNavSalesOrderValues(langCode, username, password, serviceURL);
            ////CachedNavPurchaseOrder.GetOrAdd(langCode, new NavPurchaseOrderPostedInvoiceResponse());
            ////GetCachedNavPurchaseOrderValues(langCode, username, password, serviceURL);
            ////CachedNavSalesLine.GetOrAdd(langCode, new NavSalesOrderItemResponse());
            ////GetCachedNavSalesOrderItemValues(langCode, username, password, serviceURL);
            ////CachedNavPurchaseLine.GetOrAdd(langCode, new NavPurchaseOrderItemResponse());
            ////GetCachedNavPurchaseOrderItemValues(langCode, username, password, serviceURL);

            #endregion Nav Cache Commented Code
        }
Ejemplo n.º 6
0
        private static void InitializerOperations(string langCode)
        {
            GetOperations(langCode, LookupEnums.OperationType);
            GetDisplayMessageByCode(langCode, DbConstants.SaveSuccess);
            GetDisplayMessageByCode(langCode, DbConstants.DeleteSuccess);
            GetDisplayMessageByCode(langCode, DbConstants.UpdateSuccess);
            GetDisplayMessageByCode(langCode, DbConstants.SaveError);
            GetDisplayMessageByCode(langCode, DbConstants.DeleteError);
            GetDisplayMessageByCode(langCode, DbConstants.UpdateError);

            if (!ConditionalOperators.ContainsKey(langCode))
            {
                ConditionalOperators.GetOrAdd(langCode, new List <ConditionalOperator>());
            }
            ConditionalOperators[langCode].Add(new ConditionalOperator {
                Operator = RelationalOperator.And, SysRefName = "&&", LangName = "And"
            });
            ConditionalOperators[langCode].Add(new ConditionalOperator {
                Operator = RelationalOperator.Or, SysRefName = "||", LangName = "Or"
            });
            ConditionalOperators[langCode].Add(new ConditionalOperator {
                Operator = RelationalOperator.GreaterThan, SysRefName = ">", LangName = "Greater Than"
            });
            ConditionalOperators[langCode].Add(new ConditionalOperator {
                Operator = RelationalOperator.GreaterThanEqual, SysRefName = ">=", LangName = "Greater Than Equal to"
            });
            ConditionalOperators[langCode].Add(new ConditionalOperator {
                Operator = RelationalOperator.LessThan, SysRefName = "<", LangName = "Less Than"
            });
            ConditionalOperators[langCode].Add(new ConditionalOperator {
                Operator = RelationalOperator.LessThanEqual, SysRefName = "<=", LangName = "Less Than Equal to"
            });
            ConditionalOperators[langCode].Add(new ConditionalOperator {
                Operator = RelationalOperator.Equal, SysRefName = "==", LangName = "Equals to"
            });
            ConditionalOperators[langCode].Add(new ConditionalOperator {
                Operator = RelationalOperator.NotEqual, SysRefName = "!=", LangName = "Not Equals to"
            });
        }
Ejemplo n.º 7
0
        static List <CsvLineRule> Create(IEnumerable <ICondition> conditions)
        {
            var aResult = new List <CsvLineRule>();

            conditions = conditions ?? new List <Condition>();

            conditions.Select(x => x.condition).ToList().ForEach(x =>
            {
                if (!ConditionalOperators.GetEnum().Contains(x))
                {
                    throw new ConfigException($"Error en el archivo de configuración, el orperador {x} no exite" +
                                              $"{Environment.NewLine}" +
                                              $"Los operadores permitidos son:" +
                                              $"{String.Join(" ,", ConditionalOperators.GetEnum().Select(y => y))}");
                }
            });

            foreach (var item in conditions)
            {
                switch (item.condition)
                {
                case ConditionalOperators.equal:
                    aResult.Add(new CsvLineRule(x =>
                    {
                        var i = 0;
                        foreach (var val in getValues(x, item.column))
                        {
                            i++;
                            var oEx = new ConditionException($"Posición({i}): el registro '{val}' es difetente de '{item.value}'");

                            if (float.TryParse(val, out var fVar) && float.TryParse(item.value, out var fItem))
                            {
                                if (fVar != fItem)
                                {
                                    throw oEx;
                                }
                            }
                            else
                            {
                                if (val != item.value)
                                {
                                    throw oEx;
                                }
                            }
                        }

                        return(true);
                    }));
                    break;

                case ConditionalOperators.greater:
                    aResult.Add(new CsvLineRule(x =>
                    {
                        var i = 0;
                        foreach (var val in getValues(x, item.column))
                        {
                            i++;
                            if (float.TryParse(val, out var fVar) && float.TryParse(item.value, out var fItem))
                            {
                                if (fVar <= fItem)
                                {
                                    throw new ConditionException($"Posición({i}): el registro '{val}' es menor o igual que {item.value}");
                                }
                            }
                            else
                            {
                                throw new ConditionException($"Posición({i}): el registro '{val}' no tiene formato de número para la comparación de >");
                            }
                        }

                        return(true);
                    }));
                    break;

                case ConditionalOperators.greaterEqual:
                    aResult.Add(new CsvLineRule(x =>
                    {
                        var i = 0;
                        foreach (var val in getValues(x, item.column))
                        {
                            i++;
                            if (float.TryParse(val, out var fVar) && float.TryParse(item.value, out var fItem))
                            {
                                if (fVar < fItem)
                                {
                                    throw new ConditionException($"Posición({i}): el registro '{val}' es menor que {item.value}");
                                }
                            }
                            else
                            {
                                throw new ConditionException($"Posición({i}): el registro '{val}' no tiene formato de número para la comparación de >=");
                            }
                        }

                        return(true);
                    }));
                    break;

                case ConditionalOperators.minor:
                    aResult.Add(new CsvLineRule(x =>
                    {
                        var i = 0;
                        foreach (var val in getValues(x, item.column))
                        {
                            i++;
                            if (float.TryParse(val, out var fVar) && float.TryParse(item.value, out var fItem))
                            {
                                if (fVar >= fItem)
                                {
                                    throw new ConditionException($"Posición({i}): el registro '{val}' es mayor o igual que {item.value}");
                                }
                            }
                            else
                            {
                                throw new ConditionException($"Posición({i}): el registro '{val}' no tiene formato de número para la comparación de <");
                            }
                        }

                        return(true);
                    }));
                    break;


                case ConditionalOperators.minorEqual:
                    aResult.Add(new CsvLineRule(x =>
                    {
                        var i = 0;
                        foreach (var val in getValues(x, item.column))
                        {
                            i++;
                            if (float.TryParse(val, out var fVar) && float.TryParse(item.value, out var fItem))
                            {
                                if (fVar > fItem)
                                {
                                    throw new ConditionException($"Posición({i}): el registro '{val}' es mayor que '{item.value}'");
                                }
                            }
                            else
                            {
                                throw new ConditionException($"Posición({i}): el registro '{val}' no tiene formato de número para la comparación de >");
                            }
                        }

                        return(true);
                    }));
                    break;

                case ConditionalOperators.notEqual:
                    aResult.Add(new CsvLineRule(x =>
                    {
                        var i = 0;
                        foreach (var val in getValues(x, item.column))
                        {
                            var oEx = new ConditionException($"Posición({i}): el registro '{val}' no es diferente de '{item.value}'");

                            if (float.TryParse(val, out var fVar) && float.TryParse(item.value, out var fItem))
                            {
                                if (fVar == fItem)
                                {
                                    throw oEx;
                                }
                            }
                            else
                            {
                                if (val == item.value)
                                {
                                    throw oEx;
                                }
                            }
                        }

                        return(true);
                    }));
                    break;
                }
            }

            return(aResult);
        }
 public FilterMethodAttribute(FilterMethods methodName, ConditionalOperators conditionalOperator, string propertyName = null)
     : this(methodName, propertyName)
 {
     ConditionalOperator = conditionalOperator;
 }
Ejemplo n.º 9
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="op">The operator for the conditions ('AND', or 'OR')</param>
 /// <param name="conditions">Conditions to add to the list (1 or more)</param>
 public ConditionList(ConditionalOperators op, params Condition[] conditions)
 {
     ConditionalOperator = op;
     Conditions = conditions.ToList();
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Class representing a list of Conditions
 /// </summary>
 /// <param name="conditions">An Enumerable list of conditions</param>
 /// <param name="op">The operator for the conditions ('AND', or 'OR')</param>
 public ConditionList(List<Condition> conditions, ConditionalOperators op)
 {
     Conditions = conditions;
     ConditionalOperator = op;
 }