using Bp.Sync.Domain.Elastics.BaseEntities;
using System.ComponentModel;

namespace Bp.Sync.Domain.Elastics.Systems
{
    public class HistoryElastic : ElasticBaseEntityWithKey<long>
    {
        public int? BranchId { get; set; }
        public string IpAdress { get; set; }
        public string ComputerAddress { get; set; }
        public ActionHistoryType ActionHistoryType { get; set; }
        public SourceHistoryType SourceHistoryType { get; set; } = SourceHistoryType.Report;
        public FunctionHistoryType FunctionHistoryType { get; set; } = FunctionHistoryType.Login;
        public string FunctionURL { get; set; }
        public string Content { get; set; }
        public long HandlerTime { get; set; }
        public long ViewTime { get; set; }

    }

    //loại thoa tác
    public enum ActionHistoryType
    {
        [Description("Create")]
        Create = 1,
        [Description("Update")]
        Update = 2,
        [Description("Delete")]
        Delete = 3,
        [Description("Read")]
        Read = 4,
        [Description("Export")]
        Export = 5
    }

    public enum SourceHistoryType
    {
        [Description("Report website")]
        Report = 1,
    }
    public enum FunctionHistoryType
    {
        [Description("Login")]
        Login = 1,
        [Description("Logout")]
        Logout = 2,
        [Description("Export Excel")]
        ExportExcel = 3,
        [Description("Báo cáo kho tổng - chi tiết xuất kho")]
        Center_Outbound_Detail = 101,
        [Description("Báo cáo kho tổng - xuất kho theo chi nhánh")]
        Center_Outbound_Branch = 102,
        [Description("Báo cáo kho tổng - xuất kho theo khách hàng")]
        Center_Outbound_Customer = 103,
        [Description("Báo cáo kho tổng - chi tiết nhập kho")]
        Center_Inbound_Detail = 104,

        [Description("Báo cáo kho tổng - tồn kho theo sản phẩm")]
        Center_Backlog_Product = 105,
        [Description("Báo cáo kho tổng - tồn kho theo kho")]
        Center_Backlog_Branch = 106,
        [Description("Báo cáo kho tổng - tồn kho theo nhà cung cấp")]
        Center_Backlog_Supplier = 107,
        [Description("Báo cáo kho tổng - tồn kho theo hạn sử dụng")]
        Center_Backlog_Expiry = 108,
        [Description("Báo cáo kho tổng - tồn kho theo hạn sử dụng")]
        Center_Backlog_NotSell = 109,

        [Description("Báo cáo kho tổng - kiểm kho")]
        Center_Control_Detail = 110,

        [Description("Báo cáo kho tổng - tổng quan theo ngày")]
        Center_Overview_Day = 111,

        [Description("Báo cáo kho tổng - tổng quan bán buôn")]
        Center_Whosale_Overview = 112,
        [Description("Báo cáo kho tổng - chi tiết bán buôn")]
        Center_Whosale_Detail = 113,
        [Description("Báo cáo kho tổng - bán buôn theo ngày")]
        Center_Whosale_Day = 114,
        [Description("Báo cáo kho tổng - bán buôn lương trình dược")]
        Center_Whosale_Salary = 115,

        [Description("Báo cáo kho tổng - D+ đơn đặt hàng")]
        Center_Order_Dplus = 116,

        [Description("Báo cáo chi nhánh - chi tiết bán hàng")]
        Branch_Sell_Detail = 117,
        [Description("Báo cáo chi nhánh - bán hàng theo nhân viên")]
        Branch_Sell_Employee = 118,
        [Description("Báo cáo chi nhánh - bán hàng theo sản phẩm")]
        Branch_Sell_Product = 119,
        [Description("Báo cáo chi nhánh - bán hàng theo khách hàng quay trở lại")]
        Branch_Sell_Back_Customer = 120,
        [Description("Báo cáo chi nhánh - bán hàng theo chi nhánh")]
        Branch_Sell_Branch = 121,
        [Description("Báo cáo chi nhánh - bán hàng theo ngày")]
        Branch_Sell_Day = 122,
        [Description("Báo cáo chi nhánh - bán hàng theo khách hàng")]
        Branch_Sell_Customer = 123,
        [Description("Báo cáo chi nhánh - bán hàng theo doanh số nhân viên")]
        Branch_Sell_Employee_Group = 124,
        [Description("Báo cáo chi nhánh - bán hàng theo giờ")]
        Branch_Sell_Hour = 125,
        [Description("Báo cáo chi nhánh - bán hàng theo tháng")]
        Branch_Sell_Month = 126,
        [Description("Báo cáo chi nhánh - bán hàng theo nhóm lợi nhuận")]
        Branch_Sell_Revenue_Group = 127,
        [Description("Báo cáo chi nhánh - bán hàng theo giao dịch")]
        Branch_Sell_Not_Sell = 128,

        [Description("Báo cáo chi nhánh - tồn kho theo chi nhánh")]
        Branch_Backlog_Branch = 129,
        [Description("Báo cáo chi nhánh - tồn kho theo hạn sử dụng")]
        Branch_Backlog_Expiry = 130,
        [Description("Báo cáo chi nhánh - tồn kho theo bán chậm")]
        Branch_Backlog_Not_Sell = 131,
        [Description("Báo cáo chi nhánh - tồn kho theo sản phẩm")]
        Branch_Backlog_Product = 132,
        [Description("Báo cáo chi nhánh - tồn kho theo bán âm")]
        Branch_Backlog_Negative = 133,


        [Description("Báo cáo chi nhánh - tra cứu sản phẩm")]
        Branch_Product_Search = 134,

        [Description("Báo cáo chi nhánh - nhập kho tổng quan")]
        Branch_Inbound_Overview = 135,

        [Description("Báo cáo chi nhánh - xuất kho tổng quan")]
        Branch_Outbound_Overview = 136,

        [Description("Báo cáo chi nhánh - tông hợp theo ngày")]
        Branch_Synthetic_Day = 137,


        [Description("Báo cáo tài chính - bảng cân đối tài khoản")]
        Finance_CDTK = 138,
        [Description("Báo cáo tài chính - hợp đồng kinh doanh")]
        Finance_HDKD = 139,
        [Description("Báo cáo tài chính - tình hình tài chính")]
        Finance_THTC = 140,




    }
}
