using Kivii.Client.SamplePackages;
using Kivii.Samples.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Kivii.Samples.Transforms
{
    [Route(Configs.RouteLocationQuery)]
    public class LocationQuery : IReturn<RestfulQueryResponse<Location>>
    {
        public Guid OwnerKvid { get; set; }
    }
    [Route(Configs.RouteSamplePackageInit)]
    public class SamplePackageInit : IReturn<RestfulReadResponse<Sample>>
    {
        public string PackageName { get; set; }
        public bool AutoCreate { get; set; }
        public bool IncludeLocation { get; set; } = true;
    }


    [Route(Configs.RouteSampleQuery)]
    public class SampleQuery : IReturn<RestfulQueryResponse<Sample>>
    {
        public Guid PackageKvid { get; set; }
        public string OrderBy { get; set; } = "BizId";
    }

    [Route(Configs.RouteSamplePrePackaging)]
    public class SamplePrePackaging:IReturn<RestfulExecutionResponse<Sample>>
    {
        public string Tid { get; set; }
        public string BizId { get; set; }
        public Guid BizKvid { get; set; }
        public Guid OwnerKvid { get; set; }//要打包的样品的所属信息
    }

    [Route(Configs.RouteSamplePackaging)]
    public class SamplePackaging : IReturn<RestfulExecutionResponse<Sample>>
    {
        public Guid Kvid { get; set; }//要流转样品信息
        public Location Location { get; set; }//地点位置信息,只需要InternalCode
        public Sample Package { get; set; }//指定包裹信息,Package.PackageName可传入包裹的区域信息,例如包裹A0001中的1号袋子
    }

    [Route(Configs.RouteSampleUnPackaging)]
    public class SampleUnPackaging : IReturn<RestfulExecutionResponse<Sample>>
    {
        public Guid Kvid { get; set; }//要流转样品信息
        public Location Location { get; set; }//地点位置信息,只需要InternalCode
    }

    [Route(Configs.RouteSampleCreate)]
    public class PackageCreate : IReturn<RestfulCreateResponse<Sample>>
    {
        public Sample Item { get; set; }
    }
}
