using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Backend.Models
{
    public class BuildInfo : Actor
    {
        public int Priority { get; set; }
        public string building_tag { get; set; }
        public string Building_guid { get; set; }  //區域GUID
        public string Full_name { get; set; } //區域名稱
        public string Ip_address { get; set; } //監控主機 IP
        public string Ip_port { get; set; } //監控主機 IP port
        public string Ip_address_port { get { return Ip_address + ":" + Ip_port; } }
        public byte FloorNum { get; set; } //樓層數量
        public IFormFile Map3dFile { get; set; }
        public string orgName_3D { get; set; }
        public string saveName_3D { get; set; }
        public string extName_3D { get; set; }
        public string urn_3D { get; set; }
        //public string Created_at { get; set; }  //建立時間
    }

    public class BuildFloor : Actor
    {
        public string Floor_guid { get; set; }  //樓層GUID
        public string Building_guid { get; set; }  //區域GUID
        public string Building_tag { get; set; }  //區域GUID
        public string Full_name { get; set; } //建築名稱
        public string InitMapName { get; set; } //使用者命名平面圖檔檔名
        public string MapUrl { get; set; } //使用者命名平面圖檔檔名
        public string Floor_map_name { get; set; } //平面圖檔名
        public IFormFile MapFile { get; set; } //平面圖檔
        public int Priority { get; set; }
        public string orgName_3D { get; set; }
        public string saveName_3D { get; set; }
        public string extName_3D { get; set; }
    }

    public class SelectedBuildFloor
    {
        public string SelectedGuid { get; set; }  //區域GUID
    }

    public class PostBuildInfoPriority
    {
        public List<BuildInfoPriority> BuildInfoPriorities { get; set; }
    }
    public class BuildInfoPriority
    {
        public string Building_guid { get; set; }  //區域GUID
        public string Building_tag { get; set; }  //區域TAG
        public int Priority { get; set; }
    }

    public class PostFloorPriority
    {
        public List<FloorPriority> FloorPriorities { get; set; }
    }
    public class FloorPriority
    {
        public string Floor_guid { get; set; }  //樓層GUID
        public int Priority { get; set; }
    }
}