Untitled

 avatar
unknown
plain_text
a year ago
2.8 kB
7
Indexable
using ProtoBuf.Grpc;
using System.Runtime.Serialization;
using ProtoBuf.Grpc.Configuration;

namespace WarehouseMsc.gRPC.Contract.HistoryLogContract
{
    [DataContract]
    public class ImportHistoryLogRq
    {
        [DataMember(Order = 1)] public Guid Id { get; set; }
        [DataMember(Order = 2)] public int Type { get; set; }
    }

    [DataContract]
    public class ImportHistoryLogRes
    {
        [DataMember(Order = 1)] public int message { get; set; }
    }

    [DataContract]
    public class ImportHistoryLogCResponse
    {
        [DataMember(Order = 1)] public List<ImportHistoryLogCO> data { get; set; }
    }

    [DataContract]
    public class ImportHistoryLogCO
    {
        [DataMember(Order = 1)] public Guid Id { get; set; }
        [DataMember(Order = 2)] public Guid Key { get; set; } // id cua object
        [DataMember(Order = 3)] public int Type { get; set; } // employee, customer,....
        [DataMember(Order = 4)] public List<ImportProductCO> Data { get; set; } // 
        [DataMember(Order = 5)] public DateTime CreatedDate { get; set; }
        [DataMember(Order = 6)] public string LastModifiedBy { get; set; }
        [DataMember(Order = 7)] public DateTime LastModifiedDate { get; set; }
        [DataMember(Order = 8)] public string? Note { get; set; }
    }
    
    [DataContract]
    public class ImportProductCO
    {
        [DataMember(Order = 1)]
        public long Index { get; set; }
        [DataMember(Order = 2)]
        public ProductIO Product { get; set; }
        [DataMember(Order = 3)]
        public SupplierIO? Supplier { get; set; }
        [DataMember(Order = 4)]
        public WarehouseIO? Warehouse { get; set; }
        [DataMember(Order = 5)]
        public int Quantity { get; set; }
        [DataMember(Order = 6)]
        public float? ImportPrice { get; set; }
        [DataMember(Order = 7)]
        public string? Note { get; set; }
    }
    
    [DataContract]
    public class ProductIO
    {
        [DataMember(Order = 1)]
        public string? SKU { get; set; }
        [DataMember(Order = 2)]
        public string ProductName { get; set; }
    }
    
    [DataContract]
    public class SupplierIO
    {
        [DataMember(Order = 1)]
        public string? SupplierName { get; set; }
    }

    [DataContract]
    public class WarehouseIO
    {
        [DataMember(Order = 1)] public string? WarehouseName { get; set; }
    }

    [Service]
    public interface IHistoryLogImportService
    {
        [Operation]
        Task<ImportHistoryLogRes> UpdateLog(ImportHistoryLogRq request, CallContext context = default);

        Task<ImportHistoryLogCResponse> GetHistoryLogByKey(ImportHistoryLogRq request, CallContext context = default);
    }
}
Editor is loading...
Leave a Comment