using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Applications.UniversalApi_WebConsole_App.Models;
using Applications.UniversalApi_WebConsole_App.Models.VeederRoot_ATG_Console_Handler_Models;
using Edge.Core.IndustryStandardInterface.ATG;

namespace Applications.UniversalApi_WebConsole_App.Models
{
    public class TankDetails
    {
        public string Name { get; set; }

        /// <summary>
        /// Fc internal asigned id for identify this device.
        /// </summary>
        public int DeviceId { get; set; }

        /// <summary>
        /// Gets the Tank readings of this implementation of ATG 
        /// </summary>
        public IEnumerable<Tank> Tanks { get; set; }

        public SystemUnit SystemUnit { get; set; }
    }
    public enum DeliveryReadingDataName
    {
        StartingVolume = 1,
        StartingTcVolume = 2,
        StartingWater = 3,
        StartingTemp = 4,
        EndingVolume = 5,
        EndingTcVolume = 6,
        EndingWater = 7,
        EndingTemp = 8,
        StartingHeight = 9,
        EndingHeight = 10,
    }

    public class Delivery
    {
        public byte TankNumber { get; set; }
        public DateTime? StartingDateTime { get; set; }

        public DateTime? EndingDateTime { get; set; }

        /// <summary>
        /// Get list of DelieveryReadingDataName:Value
        /// </summary>
        public Dictionary<DeliveryReadingDataName, double> Datas { get; set; }
    }
}