internal static ExitCodeRangeMapping DeserializeExitCodeRangeMapping(JsonElement element)
        {
            int         start       = default;
            int         end         = default;
            ExitOptions exitOptions = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("start"))
                {
                    start = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("end"))
                {
                    end = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("exitOptions"))
                {
                    exitOptions = ExitOptions.DeserializeExitOptions(property.Value);
                    continue;
                }
            }
            return(new ExitCodeRangeMapping(start, end, exitOptions));
        }
 internal ExitConditions(IList <ExitCodeMapping> exitCodes, IList <ExitCodeRangeMapping> exitCodeRanges, ExitOptions preProcessingError, ExitOptions fileUploadError, ExitOptions @default)
 {
     ExitCodes          = exitCodes;
     ExitCodeRanges     = exitCodeRanges;
     PreProcessingError = preProcessingError;
     FileUploadError    = fileUploadError;
     Default            = @default;
 }
        public ExitCodeMapping(int code, ExitOptions exitOptions)
        {
            if (exitOptions == null)
            {
                throw new ArgumentNullException(nameof(exitOptions));
            }

            Code        = code;
            ExitOptions = exitOptions;
        }
        public ExitCodeRangeMapping(int start, int end, ExitOptions exitOptions)
        {
            if (exitOptions == null)
            {
                throw new ArgumentNullException(nameof(exitOptions));
            }

            Start       = start;
            End         = end;
            ExitOptions = exitOptions;
        }
Exemple #5
0
        internal static ExitCodeMapping DeserializeExitCodeMapping(JsonElement element)
        {
            int         code        = default;
            ExitOptions exitOptions = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("code"))
                {
                    code = property.Value.GetInt32();
                    continue;
                }
                if (property.NameEquals("exitOptions"))
                {
                    exitOptions = ExitOptions.DeserializeExitOptions(property.Value);
                    continue;
                }
            }
            return(new ExitCodeMapping(code, exitOptions));
        }
        internal static ExitConditions DeserializeExitConditions(JsonElement element)
        {
            IList <ExitCodeMapping>      exitCodes      = default;
            IList <ExitCodeRangeMapping> exitCodeRanges = default;
            ExitOptions preProcessingError = default;
            ExitOptions fileUploadError    = default;
            ExitOptions @default           = default;

            foreach (var property in element.EnumerateObject())
            {
                if (property.NameEquals("exitCodes"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    List <ExitCodeMapping> array = new List <ExitCodeMapping>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(ExitCodeMapping.DeserializeExitCodeMapping(item));
                    }
                    exitCodes = array;
                    continue;
                }
                if (property.NameEquals("exitCodeRanges"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    List <ExitCodeRangeMapping> array = new List <ExitCodeRangeMapping>();
                    foreach (var item in property.Value.EnumerateArray())
                    {
                        array.Add(ExitCodeRangeMapping.DeserializeExitCodeRangeMapping(item));
                    }
                    exitCodeRanges = array;
                    continue;
                }
                if (property.NameEquals("preProcessingError"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    preProcessingError = ExitOptions.DeserializeExitOptions(property.Value);
                    continue;
                }
                if (property.NameEquals("fileUploadError"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    fileUploadError = ExitOptions.DeserializeExitOptions(property.Value);
                    continue;
                }
                if (property.NameEquals("default"))
                {
                    if (property.Value.ValueKind == JsonValueKind.Null)
                    {
                        continue;
                    }
                    @default = ExitOptions.DeserializeExitOptions(property.Value);
                    continue;
                }
            }
            return(new ExitConditions(exitCodes, exitCodeRanges, preProcessingError, fileUploadError, @default));
        }