public string Add(T item)
        {
            var id = _innerRepository.Add(item);

            _cacheClient.TrySet(item);

            return(id);
        }
Exemplo n.º 2
0
        public string Add(T item)
        {
            using (var scope = _tracer.BuildSpan(string.Concat(_repoName, ".", "Add(id:", item.Id.DefaultIfNullOrEmpty("<NULL>"), ")")).StartActive(true))
            {
                var id = _innerRepository.Add(item);

                scope.Span.SetTag("trace-type", "OpenTrace");
                scope.Span.Log(DateTimeOffset.UtcNow, (item?.ToJsv()).DefaultIfNullOrEmpty("<NULL>"));

                return(id);
            }
        }
        public string Add(T item)
        {
            using (var scope = Tracer.Instance.StartActive(string.Concat(_repoName, ".", "Add(id:", item.Id.DefaultIfNullOrEmpty("<NULL>"), ")")))
            {
                DecorateScope(scope, item?.Id);

                try
                {
                    var id = _innerRepository.Add(item);

                    scope.Span.SetTag(Tags.SqlRows, id.IsNotNullOrEmpty()
                                                        ? "1"
                                                        : "0");

                    return(id);
                }
                catch (Exception x) when(TraceErrorMessage(x, scope))
                {
                    throw;
                }
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 添加功能api
        /// </summary>
        /// <param name="api"></param>
        /// <returns></returns>
        public async Task <Result> Create(Api api)
        {
            // 判断是否有路径相同
            if (await _apiRepository.GetEntity(f => f.Path.Equals(api.Path)) != null)
            {
                return(Result.ReFailure(ResultCodes.PermissionApiPathExist));
            }

            var isAdd = await _apiRepository.Add(api);

            if (!isAdd)
            {
                return(Result.ReFailure(ResultCodes.PermissionApiCreateError));
            }

            return(Result.ReSuccess());
        }
Exemplo n.º 5
0
        private static int SeedRepo <T>(IApiRepository <T> repo, Func <int, T> builder,
                                        double rows = 5, bool forceCreate = false)
        {
            var rowsToSeed = (int)rows.GreaterThanZero(5);

            repo.InitSchema();

            var shouldAdd = forceCreate || repo.Select(1).IsNullOrEmpty();

            if (!shouldAdd)
            {
                return(0);
            }

            rowsToSeed.Times(i => repo.Add(builder(i)));

            return(rowsToSeed);
        }
Exemplo n.º 6
0
 public string Add(T item)
 => _innerRepository.Add(item);