/* Options:
Date: 2025-05-31 08:42:21
Version: 8.40
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://active-ewebservice.biz/aeservices30/api

//Package: 
//GlobalNamespace: dtos
//AddPropertyAccessors: True
//SettersReturnThis: True
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddDescriptionAsComments: True
//AddImplicitVersion: 
IncludeTypes: GetImageRequest.*
//ExcludeTypes: 
//TreatTypesAsStrings: 
//DefaultImports: java.math.*,java.util.*,net.servicestack.client.*
*/

import java.math.*;
import java.util.*;
import net.servicestack.client.*;

public class dtos
{

    /**
    * GetImageRequires active-e Customer Service for Customer ImagesRequires active-e Inventory Service for Inventory Images.
    */
    @Route(Path="/GetImage", Verbs="GET")
    @DataContract
    public static class GetImageRequest extends BaseRequest implements IReturn<GetImageResponse>
    {
        /**
        * If sent, image(s) for this customer will be returned.
        */
        @DataMember
        @ApiMember(DataType="integer", Description="If sent, image(s) for this customer will be returned.", Format="int32", Name="CustomerAcct", ParameterType="query")
        public Integer CustomerAcct = null;

        /**
        * If sent, image(s) for this inventory item will be returned.
        */
        @DataMember
        @ApiMember(DataType="integer", Description="If sent, image(s) for this inventory item will be returned.", Format="int64", Name="InventoryPk", ParameterType="query")
        public Long InventoryPk = null;
        
        public Integer getCustomerAcct() { return CustomerAcct; }
        public GetImageRequest setCustomerAcct(Integer value) { this.CustomerAcct = value; return this; }
        public Long getInventoryPk() { return InventoryPk; }
        public GetImageRequest setInventoryPk(Long value) { this.InventoryPk = value; return this; }
        private static Object responseType = GetImageResponse.class;
        public Object getResponseType() { return responseType; }
    }

    @DataContract
    public static class GetImageResponse extends BaseResponse
    {
        @DataMember
        public ArrayList<ImageInfo> Images = null;
        
        public ArrayList<ImageInfo> getImages() { return Images; }
        public GetImageResponse setImages(ArrayList<ImageInfo> value) { this.Images = value; return this; }
    }

    @DataContract
    public static class BaseRequest
    {
        /**
        * This is your AIM API Key provided by Tri-Tech
        */
        @DataMember
        @ApiMember(DataType="string", Description="This is your AIM API Key provided by Tri-Tech", IsRequired=true, Name="ApiKey", ParameterType="header")
        public String ApiKey = null;

        @DataMember
        @ApiMember(DataType="string", Name="OAuthToken", ParameterType="header")
        public String OAuthToken = null;
        
        public String getApiKey() { return ApiKey; }
        public BaseRequest setApiKey(String value) { this.ApiKey = value; return this; }
        public String getOAuthToken() { return OAuthToken; }
        public BaseRequest setOAuthToken(String value) { this.OAuthToken = value; return this; }
    }

    @DataContract
    public static class ImageInfo
    {
        @DataMember
        public String Url = null;

        @DataMember
        public String ImageStream = null;

        @DataMember
        public String ImageSize = null;

        @DataMember
        public String ErrorMessage = null;

        @DataMember
        public Long UriPk = null;
        
        public String getUrl() { return Url; }
        public ImageInfo setUrl(String value) { this.Url = value; return this; }
        public String getImageStream() { return ImageStream; }
        public ImageInfo setImageStream(String value) { this.ImageStream = value; return this; }
        public String getImageSize() { return ImageSize; }
        public ImageInfo setImageSize(String value) { this.ImageSize = value; return this; }
        public String getErrorMessage() { return ErrorMessage; }
        public ImageInfo setErrorMessage(String value) { this.ErrorMessage = value; return this; }
        public Long getUriPk() { return UriPk; }
        public ImageInfo setUriPk(Long value) { this.UriPk = value; return this; }
    }

    @DataContract
    public static class BaseResponse
    {
        /**
        * 
        */
        @DataMember
        @ApiMember(DataType="BaseResponseResult", Description="", Name="Status", ParameterType="body")
        public BaseResponseResult Status = null;
        
        public BaseResponseResult getStatus() { return Status; }
        public BaseResponse setStatus(BaseResponseResult value) { this.Status = value; return this; }
    }

}