using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OASystem.Domain.ViewModels.QiYeWeChat
{
    /// <summary>
    /// 打卡记录数据
    /// </summary>
    public class CheckInDataView : ResponseBase
    {
        public List<CheckInDataInfo> checkindata { get; set; }
    }

    public class CheckInDataInfo
    {
        /// <summary>
        /// 用户id
        /// </summary>
        public string userid { get; set; }

        /// <summary>
        /// 打卡规则名称
        /// </summary>
        public string groupname { get; set; }

        /// <summary>
        /// 打卡类型。字符串，目前有：上班打卡，下班打卡，外出打卡
        /// </summary>
        public string checkin_type { get; set; }

        /// <summary>
        /// 异常类型，字符串，包括：时间异常，地点异常，未打卡，wifi异常，非常用设备。如果有多个异常，以分号间隔
        /// </summary>
        public string exception_type { get; set; }

        /// <summary>
        /// 打卡时间。Unix时间戳
        /// </summary>
        public long checkin_time { get; set; }

        /// <summary>
        /// 打卡时间。Unix时间戳
        /// </summary>
        public DateTime checkin_time_dt {
            get
            {
                return new DateTime(checkin_time * 10000000 + 621355968000000000L).ToLocalTime();
            }
        }

        /// <summary>
        /// 打卡地点title
        /// </summary>
        public string location_title { get; set; }

        /// <summary>
        /// 打卡地点详情
        /// </summary>
        public string location_detail { get; set; }

        /// <summary>
        /// 打卡wifi名称
        /// </summary>
        public string wifiname { get; set; }

        /// <summary>
        /// 打卡备注
        /// </summary>
        public string notes { get; set; }

        /// <summary>
        /// 打卡的MAC地址/bssid
        /// </summary>
        public string wifimac { get; set; }

        /// <summary>
        /// 打卡的附件media_id，可使用media/get获取附件
        /// </summary>
        public List<string> mediaids { get; set; }

        /// <summary>
        /// 位置打卡地点纬度，是实际纬度的1000000倍，与腾讯地图一致采用GCJ-02坐标系统标准
        /// </summary>
        public long lat { get; set; }

        /// <summary>
        /// 位置打卡地点经度，是实际经度的1000000倍，与腾讯地图一致采用GCJ-02坐标系统标准
        /// </summary>
        public long lng { get; set; }

        /// <summary>
        /// 打卡设备id
        /// </summary>
        public string deviceid { get; set; }

        /// <summary>
        /// 标准打卡时间，指此次打卡时间对应的标准上班时间或标准下班时间
        /// </summary>
        public long sch_checkin_time { get; set; }

        /// <summary>
        /// 打卡时间。Unix时间戳
        /// </summary>
        public DateTime sch_checkin_time_dt
        {
            get
            {
                return new DateTime(sch_checkin_time * 10000000 + 621355968000000000L).ToLocalTime();
            }
        }

        /// <summary>
        /// 规则id，表示打卡记录所属规则的id
        /// </summary>
        public int groupid { get; set; }
        /// <summary>
        /// 班次id，表示打卡记录所属规则中，所属班次的id
        /// </summary>
        public int schedule_id { get; set; }
        /// <summary>
        /// 时段id，表示打卡记录所属规则中，某一班次中的某一时段的id，如上下班时间为9:00-12:00、13:00-18:00的班次中，9:00-12:00为其中一组时段
        /// </summary>
        public int timeline_id { get; set; }
    }
}
