// <auto-generated/>

#nullable disable

using System;
using System.ClientModel;
using System.Diagnostics.CodeAnalysis;
using System.IO;
using Sample;

namespace Sample.Models
{
    public partial class FileNamedRequest
    {
        [global::System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SCME0004")]
        public FileNamedRequest(string fileFilename, string filePath)
        {
            global::Sample.Argument.AssertNotNullOrEmpty(fileFilename, nameof(fileFilename));
            global::Sample.Argument.AssertNotNullOrEmpty(filePath, nameof(filePath));

            File = new global::System.ClientModel.FileBinaryContent(filePath)
            {
                Filename = fileFilename
            };
        }

        [global::System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SCME0004")]
        public FileNamedRequest(string fileFilename, global::System.IO.Stream @file)
        {
            global::Sample.Argument.AssertNotNullOrEmpty(fileFilename, nameof(fileFilename));
            global::Sample.Argument.AssertNotNull(@file, nameof(@file));

            File = new global::System.ClientModel.FileBinaryContent(@file)
            {
                Filename = fileFilename
            };
        }

        [global::System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SCME0004")]
        public FileNamedRequest(string fileFilename, global::System.BinaryData @file)
        {
            global::Sample.Argument.AssertNotNullOrEmpty(fileFilename, nameof(fileFilename));
            global::Sample.Argument.AssertNotNull(@file, nameof(@file));

            File = new global::System.ClientModel.FileBinaryContent(@file)
            {
                Filename = fileFilename
            };
        }

#pragma warning disable SCME0004 // Type is for evaluation purposes only and is subject to change or removal in future updates.
        internal FileNamedRequest(global::System.ClientModel.FileBinaryContent @file)
        {
            File = @file;
        }
#pragma warning restore SCME0004 // Type is for evaluation purposes only and is subject to change or removal in future updates.

        [global::System.Diagnostics.CodeAnalysis.ExperimentalAttribute("SCME0004")]
        public global::System.ClientModel.FileBinaryContent File { get; }
    }
}
