using System.ComponentModel;

namespace Lada.Framework.Data.Enums
{
    public enum PriceType
    {
        /// <summary>
        /// Là từ min tới max đều ăn giá đó
        /// Ví dụ từ 0-1kg đều giá 60k, từ 5-10kg đều có giá 100k
        /// </summary>
        [Description("Giá cố định")]
        FixPrice = 1,


        /// <summary>
        /// Là bước giá trong khoảng trọng lượng min max weight
        /// Ví dụ: từ 100-200kg mỗi kg tính thêm 3k, từ 200-500kg mỗi kg tính thêm 2k
        /// </summary>
        [Description("Giá bước trong khoảng")]
        RangeStepPrice = 2,

        /// <summary>
        /// Bước giá không phụ thuộc vào khoảng
        /// Sử dụng trong trường hợp không có khoảng quy định
        /// Ví dụ: bảng giá chỉ quy định đến 2 tấn, trên 2 tấn mỗi kg/g tính thêm bao nhiêu chính là bước giá
        /// Lúc này minWeight = maxWeight
        /// </summary>
        [Description("Giá bước")]
        StepPrice = 3
    }

    public enum RouteConfigType
    {
        [Description("Quận - Quận")]
        Distinct = 1,
        [Description("Phường - Phường")]
        Ward = 2,
        [Description("Quận - Phường")]
        DistinctWard = 3
    }

    public enum WalletType
    {
        /// <summary>
        /// Ví liên kết với chi nhánh
        /// </summary>
        [Description("Ví LADA Agency")]
        LA = 1,

        /// <summary>
        /// Ví liên kết với tài khoản
        /// </summary>
        [Description("Ví cá nhân")]
        Personal = 2,

        /// <summary>
        /// Ví nghiệp vụ cho lái xe thực hiện nghiệp vụ
        /// </summary>
        [Description("Ví cước và tiền thu hộ")]
        FeeAndCod = 3
    }

    public enum WalletStatus
    {
        /// <summary>
        /// Ví liên kết với chi nhánh
        /// </summary>
        [Description("Đang hoạt động")]
        Active = 1,

        /// <summary>
        /// Ví liên kết với tài khoản
        /// </summary>
        [Description("Không hoạt động")]
        InActive = 2,

    }



    public enum TransactionDirection
    {
        [Description("Cộng tiền")]
        Income = 1,
        [Description("Trừ tiền")]
        Outcome = 2
    }

    public enum TransactionType
    {
        [Description("Cộng tiền")]
        Recharge = 1,
        [Description("Trừ tiền")]
        Withdraw = 2,
        [Description("Cước đơn hàng")]
        OrderFee = 3,
        [Description("Thu tiền từ lái xe")]
        CollectFromDriver = 4,
        [Description("Đối soát")]
        Reconciliation = 5,

        [Description("Thu tiền từ khách hàng")]
        CollectFromCustomer = 6,

        /// <summary>
        /// Chuyển tiền giữa các ví
        /// </summary>
        [Description("Chuyển tiền")]
        Transfer = 7,

        /// <summary>
        /// Điều chỉnh số dư ví (cân ví)
        /// </summary>
        [Description("Điều chỉnh số dư")]
        BalanceAdjustment = 8
    }
    public enum TransactionStatus
    {
        [Description("Đang chờ")]
        Pending = 1,
        [Description("Đang xử lý")]
        Processing = 2,
        [Description("Thành công")]
        Successed = 3,
        [Description("Từ chối")]
        Rejected = 4
    }

    public enum ExpenseStatus
    {
        /// <summary>
        /// Chờ xử lý
        /// </summary>
        [Description("Chờ xử lý")]
        Pending = 0,

        /// <summary>
        /// Đã duyệt
        /// </summary>
        [Description("Đã duyệt")]
        Approved = 1,

        /// <summary>
        /// Từ chối  
        /// </summary>
        [Description("Từ chối")]
        Rejected = 2,

        /// <summary>
        /// Đã thanh toán
        /// </summary>
        [Description("Đã thanh toán")]
        Paid = 3
    }
}
