/// <summary>
 /// Carga un DataSet con la información de disrupciones.
 /// </summary>
 /// <param name="ds">DataSet objetivo</param>
 /// <param name="exitoso">True si el casteo es exitoso</param>
 /// <param name="omitirPrimeraFila">Indica si se omite la primera fila de las tablas del DataSet</param>
 /// <param name="cantidadCargadas">Retorna cantidad de disrupciones cargadas</param>
 internal static void DataSetToModeloDisrupciones(ModeloDisrupciones modelo, DataSet ds, out bool exitoso, bool omitirPrimeraFila, out int cantidadCargadas)
 {
     exitoso          = false;
     cantidadCargadas = 0;
     foreach (DataTable dt in ds.Tables)
     {
         if (!modelo.ColeccionDisrupciones.ContainsKey(dt.TableName))
         {
             foreach (TipoDisrupcion tipo in Enum.GetValues(typeof(TipoDisrupcion)))
             {
                 if (tipo.ToString() == dt.TableName)
                 {
                     modelo.ColeccionDisrupciones.Add(tipo.ToString(), new InfoDisrupcion());
                     modelo.ColeccionDisrupciones[tipo.ToString()] = modelo.ColeccionDisrupciones[tipo.ToString()].InfoDisrupcionFromDateTable(dt, omitirPrimeraFila);
                     cantidadCargadas++;
                 }
             }
         }
         else
         {
             foreach (TipoDisrupcion tipo in Enum.GetValues(typeof(TipoDisrupcion)))
             {
                 if (tipo.ToString() == dt.TableName)
                 {
                     modelo.ColeccionDisrupciones[tipo.ToString()] = modelo.ColeccionDisrupciones[tipo.ToString()].InfoDisrupcionFromDateTable(dt, omitirPrimeraFila);
                     cantidadCargadas++;
                 }
             }
         }
     }
     exitoso = true;
 }
Exemplo n.º 2
0
 /// <summary>
 /// Constructor de objeto controlador de información
 /// </summary>
 /// <param name="itin"> Itinerario analizado</param>
 /// <param name="parametros">Objeto de parámetros de la simulación</param>
 /// <param name="disrupciones">Objeto de modelo de disrupciones</param>
 public ControladorInformacion(Itinerario itin, ParametrosSimuLAN parametros, ModeloDisrupciones disrupciones)
 {
     this._itinerario          = itin;
     this._parametros          = parametros;
     this._modelo_disrupciones = disrupciones;
     this._faltas = new Dictionary <TipoFaltaInformacion, List <Falta> >();
     CargarTiposFalta();
 }
Exemplo n.º 3
0
 public ManagerSimulacion(Itinerario _itinerarioBase, ParametrosSimuLAN _parametrosBase, ModeloDisrupciones _modeloDisrupcionesBase, List <int> _stds, DateTime _fechaIni, DateTime _fechaFin, EnviarMensajeEventHandler _enviarMensajeSimulacion, ActualizarPorcentajeEventHandler _actualizarPorcentaje, ref bool _simulacion_cancelada)
 {
     this._itinerario_base         = _itinerarioBase;
     this._parametros_base         = _parametrosBase;
     this._modeloDisrupciones_base = _modeloDisrupcionesBase;
     this._fecha_ini                = _fechaIni;
     this._fecha_fin                = _fechaFin;
     this._simulacion_cancelada     = _simulacion_cancelada;
     this._actualizar_porcentaje    = _actualizarPorcentaje;
     this._enviarMensaje_simulacion = _enviarMensajeSimulacion;
     this._stds = _stds;
 }
 public Optimizador(Itinerario itinerario_base, ParametrosSimuLAN parametros, ModeloDisrupciones disrupciones, List <int> stds, int std_objetivo, DateTime fechaIni, DateTime fechaFin, int variacion_permitida)
 {
     this.ItinerarioBase         = itinerario_base;
     this.Parametros             = parametros;
     this.Disrupciones           = disrupciones;
     this._stds                  = stds;
     this._variacion_permitida   = variacion_permitida;
     this._fecha_ini             = fechaIni;
     this._fecha_fin             = fechaFin;
     this._tramos_optimizacion   = new OrganizadorTramos(itinerario_base, variacion_permitida);
     this._salto_variaciones     = 5;
     this._log_info_optimizacion = new LogOptimizacion();
     this._std_objetivo          = std_objetivo;
     this._marcador              = DateTime.Now;
     this._tiempo_simulacion     = TimeSpan.Zero;
     this._tiempo_optimizacion   = TimeSpan.Zero;
 }
 /// <summary>
 /// Método para cargar curvas de WXS históricas desde Excel
 /// </summary>
 /// <param name="modelo">Modelo de disrupciones en construcción</param>
 /// <param name="filename">Ruta del archivo con la información</param>
 /// <param name="exitoso">True si el proceso se completó correctamente</param>
 internal static void CargarCurvasWXS(ModeloDisrupciones modelo, string filename, out bool exitoso, out string msg)
 {
     try
     {
         FileStream      fs  = new FileStream(filename, FileMode.Open);
         ExcelDataReader edr = new ExcelDataReader(fs);
         DataSet         ds  = edr.WorkbookData;
         fs.Close();
         modelo.DataSetToCurvasWxs(ds, out exitoso, true);
         msg = "";
     }
     catch (IOException e)
     {
         exitoso = false;
         msg     = e.Message;
     }
     catch
     {
         exitoso = false;
         msg     = "Error al intentar cargar archivo de curvas.";
     }
 }