Beispiel #1
0
        public static MessageResult Validate(SaveSpansArgs args)
        {
            var result = MessageResult.FailResult(string.Empty);

            if (args == null)
            {
                result.Message = "参数不能为空";
                return(result);
            }

            if (args.Items == null)
            {
                result.Message = "Items不能为空";
                return(result);
            }

            if (args.Items.Count == 0)
            {
                result.Message = "Items数量不能为0";
                return(result);
            }


            foreach (var clientSpan in args.Items)
            {
                var validateSave = clientSpan.ValidateSave(true);
                if (!validateSave.Success)
                {
                    return(validateSave);
                }
            }

            result.Success = true;
            return(result);
        }
Beispiel #2
0
        public static MessageResult ValidateSave(this IClientSpan clientSpan, bool validateFinish)
        {
            var result = MessageResult.FailResult(string.Empty);

            if (clientSpan == null)
            {
                result.Message = "Span不能空";
                return(result);
            }

            result.Data = clientSpan;

            var isBadLocateArgs = clientSpan.IsBadLocateArgs(ClientSpanLocateMode.ForCurrent);

            if (isBadLocateArgs)
            {
                result.Message = "Span的关键KEY不能空";
                return(result);
            }

            //if (string.IsNullOrWhiteSpace(clientSpan.OpName))
            //{
            //    return false;
            //}

            if (clientSpan.StartUtc == default(DateTime))
            {
                result.Message = "StartUtc必须赋值";
                return(result);
            }

            if (validateFinish && clientSpan.FinishUtc == null)
            {
                result.Message = "FinishUtc必须赋值";
                return(result);
            }

            if (clientSpan.FinishUtc == default(DateTime))
            {
                result.Message = "FinishUtc必须赋值";
                return(result);
            }

            result.Success = true;
            return(result);
        }