// 
// Copyright 2016 Agencia Estatal de Administración Tibutaria
//
// Licencia con arreglo a la EUPL, Versión 1.1 o -en cuanto
// sean aprobadas por la Comisión Europea- versiones
// posteriores de la EUPL (la «Licencia»);
// Solo podrá usarse esta obra si se respeta la Licencia.
// Puede obtenerse una copia de la Licencia en:
//  
// https://joinup.ec.europa.eu/software/page/eupl
//  
// Salvo cuando lo exija la legislación aplicable o se acuerde
// por escrito, el programa distribuido con arreglo a la
// Licencia se distribuye «TAL CUAL», SIN GARANTÍAS NI CONDICIONES
// DE NINGÚN TIPO, ni expresasni implícitas.
//
// Véase la Licencia en el idioma concreto que rige los permisos y 
// limitaciones que establece la Licencia.
// 

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using gestor.utiles;

namespace minigestor.datos
{
    public class CandidatosDataTable : DataTable
    {
        public global::System.Data.DataColumn columnId;
        public global::System.Data.DataColumn columnNif;
        public global::System.Data.DataColumn columnNombre;
        public global::System.Data.DataColumn columnHoraCita;
        public global::System.Data.DataColumn columnEstado;
        public global::System.Data.DataColumn columnHoraCalculada;
        public global::System.Data.DataColumn columnHoraAtendido;
        public global::System.Data.DataColumn columnHoraPresente;
        public global::System.Data.DataColumn columnHoraCalculada2;
        public global::System.Data.DataColumn columnTurno;
        public global::System.Data.DataColumn columnCitaMultiple;
        public global::System.Data.DataColumn columnNumeroTicket;
        public global::System.Data.DataColumn columnCola;
        public global::System.Data.DataColumn columnOperador;
        public global::System.Data.DataColumn columnHoraFinalizado;
        public global::System.Data.DataColumn columnCodigoEstadistico;
        public global::System.Data.DataColumn columnCitaVinculada;
        public global::System.Data.DataColumn columnCodigoGestor;
        public global::System.Data.DataColumn columnNIU;
        public global::System.Data.DataColumn columnMesa;
        public global::System.Data.DataColumn columnHoraEstimada; 
        public global::System.Data.DataColumn columnFalsoTicket;
        public CandidatosDataTable()
            : base() {
            this.TableName = "Candidatos";
            this.BeginInit();
            this.InitClass();
            this.EndInit();
        }

        private void InitClass() {
            this.columnId = new global::System.Data.DataColumn("Id", typeof(int), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnId);
            this.columnNif = new global::System.Data.DataColumn("Nif", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnNif);
            this.columnNombre = new global::System.Data.DataColumn("Nombre", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnNombre);
            this.columnHoraCita = new global::System.Data.DataColumn("HoraCita", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnHoraCita);
            this.columnEstado = new global::System.Data.DataColumn("Estado", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnEstado);
            this.columnHoraCalculada = new global::System.Data.DataColumn("HoraCalculada", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnHoraCalculada);
            this.columnHoraAtendido = new global::System.Data.DataColumn("HoraAtendido", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnHoraAtendido);
            this.columnHoraPresente = new global::System.Data.DataColumn("HoraPresente", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnHoraPresente);
            this.columnHoraCalculada2 = new global::System.Data.DataColumn("HoraCalculada2", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnHoraCalculada2);
            this.columnTurno = new global::System.Data.DataColumn("Turno", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnTurno);
            this.columnCitaMultiple = new global::System.Data.DataColumn("CitaMultiple", typeof(int), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnCitaMultiple);
            this.columnNumeroTicket = new global::System.Data.DataColumn("NumeroTicket", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnNumeroTicket);
            this.columnCola = new global::System.Data.DataColumn("Cola", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnCola);
            this.columnOperador = new global::System.Data.DataColumn("Operador", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnOperador);
            this.columnHoraFinalizado = new global::System.Data.DataColumn("HoraFinalizado", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnHoraFinalizado);
            this.columnCodigoEstadistico = new global::System.Data.DataColumn("CodigoEstadistico", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnCodigoEstadistico);
            this.columnCitaVinculada = new global::System.Data.DataColumn("CitaVinculada", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnCitaVinculada);
            this.columnCodigoGestor = new global::System.Data.DataColumn("CodigoGestor", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnCodigoGestor);
            this.columnNIU = new global::System.Data.DataColumn("NIU", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnNIU);
            this.columnMesa = new global::System.Data.DataColumn("Mesa", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnMesa);
            this.columnHoraEstimada = new global::System.Data.DataColumn("HoraEstimada", typeof(global::System.DateTime), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnHoraEstimada);
            this.columnFalsoTicket = new global::System.Data.DataColumn("FalsoTicket", typeof(string), null, global::System.Data.MappingType.Element);
            base.Columns.Add(this.columnFalsoTicket);
            this.columnNif.MaxLength = 20;
            this.columnNombre.MaxLength = 40;
            this.columnEstado.MaxLength = 1;
            this.columnTurno.MaxLength = 1;
            //this.columnNumeroTicket.MaxLength = 5;
            this.columnCola.MaxLength = 2;
            this.columnOperador.MaxLength = 12;
            this.columnCodigoEstadistico.MaxLength = 4;
            this.columnCitaVinculada.MaxLength = 19;
            this.columnCodigoGestor.MaxLength = 10;
            this.columnNIU.MaxLength = 20;
            this.columnMesa.MaxLength = 10;
        }

        public RegistroCandidatos this[int index] {
            get {
                return ((RegistroCandidatos)(this.Rows[index]));
            }
        }

        public IEnumerable<RegistroCandidatos> enumRegistros() {
            int n = Rows.Count;
            for (int i = 0; i < n; i++) {
                yield return ((RegistroCandidatos)(Rows[i]));
            }
        }

        protected override global::System.Data.DataRow NewRowFromBuilder(global::System.Data.DataRowBuilder builder) {
            return new RegistroCandidatos(builder);
        }

        public RegistroCandidatos NewCandidatosRow() {
            return ((RegistroCandidatos)(this.NewRow()));
        }

        internal void AddCandidatosRow(RegistroCandidatos fila) {
            Rows.Add(fila);
        }
    }

}
