Exemple #1
0
        private static string Select <T>(Condition condition, Dictionary <string, object> parameters, ITicket ticket = null, bool triggerEvent = false)
        {
            if (condition is null)
            {
                throw new ArgumentNullException(nameof(condition));
            }

            if (parameters is null)
            {
                throw new ArgumentNullException(nameof(parameters));
            }

            if (parameters.Count <= 0)
            {
                throw new ArgumentOutOfRangeException(nameof(parameters));
            }

            string sql = ticket is null
                                ? ExtractSql <T>(ClauseType.Select, condition)
                                : _queriesCache.GetOrAdd(ticket.Id, q => ExtractSql <T>(ClauseType.Select, condition));

            if (!triggerEvent)
            {
                return(sql);
            }

            var eventArgs = new SqlEventArgs {
                Sql = sql, Parameters = parameters
            };

            OnSelecting?.Invoke(ticket, eventArgs);
            return(sql);
        }
Exemple #2
0
        internal async Task OnInternalSelectAsync(BSimpleOptionBase <TValue> item)
        {
            var args = new BChangeEventArgs <BSimpleOptionBase <TValue> >();

            args.NewValue = item;
            args.OldValue = SelectedOption;
            if (OnSelecting.HasDelegate)
            {
                await OnSelecting.InvokeAsync(args);

                if (args.DisallowChange)
                {
                    return;
                }
            }

            await DropDownOption.Instance.CloseDropDownAsync(DropDownOption);

            SelectedOption = item;
            SetFieldValue(item.Value);
            if (OnSelect.HasDelegate)
            {
                await OnSelect.InvokeAsync(args);
            }
            IsClearButtonClick = false;
            StateHasChanged();
        }
Exemple #3
0
        internal bool CheckSelectionAllowed(IEnumerable <object> itemsToSelect, IEnumerable <object> itemsToUnselect)
        {
            if (OnSelecting != null)
            {
                var e = new SelectionChangedCancelEventArgs(itemsToSelect, itemsToUnselect);
                foreach (var method in OnSelecting.GetInvocationList())
                {
                    method.Method.Invoke(method.Target, new object[] { this, e });
                    // stop iteration if one subscriber wants to cancel
                    if (e.Cancel)
                    {
                        return(false);
                    }
                }

                return(true);
            }

            return(true);
        }
Exemple #4
0
        private static string Select <T>(Clause clause, string selectClause, ITicket ticket = null, bool triggerEvent = false)
        {
            if (clause is null)
            {
                throw new ArgumentNullException(nameof(clause));
            }

            string sql = ticket is null
                                ? ExtractSql <T>(ClauseType.Select, clause, selectClause : selectClause)
                                : _queriesCache.GetOrAdd(ticket.Id, q => ExtractSql <T>(ClauseType.Select, clause, selectClause: selectClause));

            if (!triggerEvent)
            {
                return(sql);
            }

            var eventArgs = new SqlEventArgs {
                Sql = sql
            };

            OnSelecting?.Invoke(ticket, eventArgs);
            return(sql);
        }
Exemple #5
0
        private static string Select <T>(Expression <Func <T, bool> > expression, Dictionary <string, object> parameters, ITicket ticket, bool triggerEvent = false)
        {
            if (expression is null)
            {
                throw new ArgumentNullException(nameof(expression));
            }

            string sql = ticket is null
                                ? BuildSql(ClauseType.Select, expression)
                                : _queriesCache.GetOrAdd(ticket.Id, q => BuildSql(ClauseType.Select, expression));

            if (!triggerEvent)
            {
                return(sql);
            }

            var eventArgs = new SqlEventArgs {
                Sql = sql, Parameters = parameters
            };

            OnSelecting?.Invoke(ticket, eventArgs);
            return(sql);
        }
Exemple #6
0
        private static string Select <T>(IDbConnection connection, ITicket ticket = null, bool triggerEvent = false)
        {
            if (connection is null)
            {
                throw new ArgumentNullException(nameof(connection));
            }

            string sql = ticket is null
                                                ? BuildSelectAllSql <T>()
                                                : _queriesCache.GetOrAdd(ticket.Id, q => BuildSelectAllSql <T>());

            if (!triggerEvent)
            {
                return(sql);
            }

            var eventArgs = new SqlEventArgs {
                Sql = sql
            };

            OnSelecting?.Invoke(ticket, eventArgs);
            return(sql);
        }