protected void Dispose(bool Disposing)
 {
     if (!IsDisposed)
     {
         if (Disposing)
         {
             _causas_atraso.Clear();
         }
         _causas_atraso = null;
         TramoPrevio    = null;
         _tramo_base    = null;
     }
     IsDisposed = true;
 }
        /// <summary>
        /// Contructor de un slot de mantenimiento
        /// </summary>
        /// <param name="tramoBase">Información leida de archivo</param>
        /// <param name="flota">Flota a la que pertenece el avión asignado</param>
        /// <param name="tramoPrevio">Tramo inmediatamente anterior al slot</param>
        /// <param name="fechaBase">Fecha inicial del itinerario</param>
        public SlotMantenimiento(TramoBase tramoBase, string flota, Tramo tramoPrevio, DateTime fechaBase)
        {
            this._tramo_base    = tramoBase;
            this.Estacion       = tramoBase.Origen;
            this._tramo_previo  = tramoPrevio;
            this._completado    = false;
            this._causas_atraso = new Dictionary <TipoDisrupcion, int>();
            int diasDesfaseSalida  = Convert.ToInt32((tramoBase.Fecha_Salida - fechaBase).TotalDays);
            int diasDesfaseLlegada = Convert.ToInt32((tramoBase.Fecha_Llegada - fechaBase).TotalDays);
            int horaSalidaNum      = Utilidades.ConvertirMinutosDesdeHoraString(tramoBase.Hora_Salida);
            int horaLlegadaNum     = Utilidades.ConvertirMinutosDesdeHoraString(tramoBase.Hora_Llegada);

            this._t_ini_mantto_prg       = diasDesfaseSalida * 24 * 60 + horaSalidaNum;
            this._t_ini_mantto_rst       = _t_ini_mantto_prg;
            this._t_fin_mantto_prg       = diasDesfaseLlegada * 24 * 60 + horaLlegadaNum;
            this._t_fin_mantto_rst       = _t_fin_mantto_prg;
            this._duracion_mantenimiento = _t_fin_mantto_prg - _t_ini_mantto_prg;
            this.AvionProgramado         = this._tramo_base.Numero_Ac.ToString();
        }
Example #3
0
        /// <summary>
        /// Retorna una nueva instancia idéntica al tramo actual
        /// </summary>
        public object Clone()
        {
            TramoBase t = new TramoBase();

            t._numero_global   = this._numero_global;
            t._numero_ac       = this._numero_ac;
            t._numero_tramo    = this._numero_tramo;
            t._num_subflota    = this._num_subflota;
            t._ac_type         = this._ac_type;
            t._ac_owner        = this._ac_owner;
            t._carrier         = this._carrier;
            t._numero_vuelo    = this._numero_vuelo;
            t._op_suf          = this._op_suf;
            t._stc             = this._stc;
            t._config_asientos = this._config_asientos;
            t._origen          = this._origen;
            t._fecha_salida    = this._fecha_salida;
            t._hora_salida     = this._hora_salida;
            t._dom_int         = this._dom_int;
            t._destino         = this._destino;
            t._fecha_llegada   = this._fecha_llegada;
            t._hora_llegada    = this._hora_llegada;
            return(t);
        }