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

namespace classes
{

    /// <summary>
    /// Representa una transcripcion (.doc)
    /// </summary>
    class texto
    {
        public texto(string nombre) 
        {
            this.nombre = nombre;
            this.ultimarevision = DateTime.Now;
            this.estado = "Creado";
            this.lineas = new SortedList<int, linea>();
            this.interlocutores=new List<string>();
        }
        private List<string> interlocutores;

        public List<string> Interlocutores
        {
            get { return interlocutores; }
            set { interlocutores = value; }
        }
        private DateTime ultimarevision;

        public DateTime Ultimarevision
        {
            get { return ultimarevision; }
            set { ultimarevision = value; }
        }
        private string nombre;

        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }
        private SortedList<int, linea> lineas = new SortedList<int, linea>();

        internal SortedList<int, linea> Lineas
        {
            get { return lineas; }
            set { lineas = value; }
        }
 
        private string estado;

        public string Estado
        {
            get { return estado; }
            set { estado = value; }
        }
        public void actualizarEstado() 
        {
            string estado = "sin estado";
            foreach (linea l in this.Lineas.Values)
            {
                if (l.Estado.Equals("Creado")) { estado = "Creado"; break; }
                else if (l.Estado.Equals("Etiquetado")) estado = "Etiquetado";
                else if (l.Estado.Equals("Validado") && !estado.Equals("Etiquetado")) estado = "Validado";
            }

            if (estado.Equals("Creado")) this.estado = "Creado";
            else if (estado.Equals("Etiquetado")) this.estado = "Etiquetado";
            else if (estado.Equals("Validado")) this.estado = "Validado";
            else this.estado = "Sin lineas";
        }
    }
}
