/// <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; }
/// <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(); }
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."; } }