private void OnSave(Object obj) { var e = (GridViewRowEditEndedEventArgs)obj; var item = (VW_MOD_POZO)e.NewData; CONFIGURACION_ADMINISTRADOR config = db.CONFIGURACION_ADMINISTRADOR.Where(w => w.IDMODPOZO == item.IDMODPOZO).SingleOrDefault(); if (config == null) { config = new CONFIGURACION_ADMINISTRADOR() { IDMODPOZO = item.IDMODPOZO, FECHA_PROGRAMACION = item.FECHA_PROGRAMACION.GetValueOrDefault(), IDUSUARIO = IdUsuario, MAXREINTENTOS = item.MAXREINTENTOS.GetValueOrDefault() }; ModModel.Insert(config); } else { SVModel.ModeloClient server = new SVModel.ModeloClient(); server.Reset(config.IDMODPOZO, item.MAXREINTENTOS.GetValueOrDefault()); } MessageBox.Show("Configuración guardada, ahora lo podras ver en Proceso"); Procesos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(1)); Modelos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(null)); }
private void OnChange(Object e) { var tab = (Telerik.Windows.Controls.RadSelectionChangedEventArgs)e; var source = tab.Source; switch (((System.Windows.Controls.Primitives.Selector)source).SelectedIndex) { case 0: Modelos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(null)); FlashData.Key = FlashData.Types.error; break; case 1: Procesos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(1)); FlashData.Key = FlashData.Types.success; break; case 2: Realizados = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(3)); break; } //Message = "Mensaje desde Message => LoadList "+ ((System.Windows.Controls.Primitives.Selector)source).SelectedIndex.ToString(); //FlashData.Message = Message; }
//Proximamente depreciado 09 Dic 2019 private static void OnTimedEvent(Object source, System.Timers.ElapsedEventArgs e) { int cola = 0, proceso = 0; Dispose = Libraries.Settings.Get("open_server") == "1"?true:false; var list = ModModel.GetList(); // db.VW_MOD_POZO.Where(w => (w.ESTATUS == 1 || w.ESTATUS == 2) && w.FECHA_PROGRAMACION < DateTime.Now).OrderBy(o => o.FECHA_PROGRAMACION).ToList(); // db.VW_MOD_POZO.Where(w => w.ESTATUS ==1 && w.FECHA_PROGRAMACION >= tfrom && w.FECHA_PROGRAMACION< tto).OrderBy(o=>o.FECHA_PROGRAMACION).ToList(); //var actives = db.VW_MOD_POZO.Where(w => w.ESTATUS == 2).OrderBy(o => o.FECHA_PROGRAMACION).ToList();//(from active in list where active.ESTATUS == 2 select active.ESTATUS).ToList(); int licencias = Int32.Parse(Libraries.Settings.Get("no_licencias")); var tmp_tasks = tasks.ToArray(); foreach (var task in tmp_tasks) { if (tasks[task.Key].IsAlive == false) { tasks.Remove(task.Key); } } foreach (var mod in list) { if (tasks.Count < licencias && tasks.ContainsKey(mod.IDMODPOZO) == false) // (tasks.Count < Int32.Parse(Settings.Get("no_licencias"))) { tasks[mod.IDMODPOZO] = new Thread(new ThreadStart(() => Execute(mod))); proceso++; } if (mod.ESTATUS == 1) { cola++; } } Console.WriteLine("En cola({0}), proceso({1}) {2} | Open Server: {3}", cola.ToString(), tasks.Count.ToString(), e.SignalTime, (Dispose?"Disponible":"Ocupado")); Console.WriteLine("*********************************************************************************"); if (Dispose && tasks.Count > 0) { foreach (var task in tasks) { if (tasks[task.Key].IsAlive == false) { tasks[task.Key].Start(); Console.WriteLine("Inicia tarea: " + task.Key); } } } }
public void LoadLists() { Modelos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(null)); Procesos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(1)); Realizados = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(3)); foreach (var m in Modelos) { if (campos.Contains(m.IDCAMPO) == false) { campos.Add(m.IDCAMPO); } } }
private void OnSave(Object obj) { var e = (GridViewRowEditEndedEventArgs)obj; try { if (e.EditAction != Telerik.Windows.Controls.GridView.GridViewEditAction.Cancel) { var item = (VW_MOD_POZO)e.NewData; CONFIGURACION_ADMINISTRADOR config = db.CONFIGURACION_ADMINISTRADOR.Where(w => w.IDMODPOZO == item.IDMODPOZO).SingleOrDefault(); if (config == null) { string now = item.FECHA_PROGRAMACION.Value.ToShortDateString() + " " + DateTime.Now.TimeOfDay.ToString(); config = new CONFIGURACION_ADMINISTRADOR() { IDMODPOZO = item.IDMODPOZO, FECHA_PROGRAMACION = DateTime.Parse(now), //item.FECHA_PROGRAMACION.GetValueOrDefault(), IDUSUARIO = IdUsuario, MAXREINTENTOS = item.MAXREINTENTOS == null ? 1 : item.MAXREINTENTOS.GetValueOrDefault() }; ModModel.Insert(config); } else { SVModel.ModeloClient server = new SVModel.ModeloClient(); server.Endpoint.Address = Address; server.Reset(config.IDMODPOZO, item.MAXREINTENTOS.GetValueOrDefault()); } MessageBox.Show("Configuración guardada, ahora lo podras ver en Proceso"); Procesos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(1)); Modelos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(null)); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void OnChange(Object e) { var tab = (Telerik.Windows.Controls.RadSelectionChangedEventArgs)e; var source = tab.Source; switch (((System.Windows.Controls.Primitives.Selector)source).SelectedIndex) { case 0: Modelos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(null)); break; case 1: Procesos = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(1)); break; case 2: Realizados = new ObservableCollection <VW_MOD_POZO>(ModModel.GetList(3)); break; } }
public static async Task TimerTask(TimeSpan interval, CancellationToken cancellationToken) { int licencias = Int32.Parse(Libraries.Settings.Get("no_licencias")); while (true) { try { if (cancellationToken.IsCancellationRequested) { break; } int cola = 0, proceso = 0; Dispose = Libraries.Settings.Get("open_server") == "1" ? true : false; //Verificar que pasa caundo se cierra el programa y reinicia con el estatus 2 List <VW_MOD_POZO> list = ModModel.GetList(); //db.VW_MOD_POZO.Where(w => (w.ESTATUS == 1 || w.ESTATUS == 2) && w.FECHA_PROGRAMACION < DateTime.Now).OrderBy(o => o.FECHA_PROGRAMACION).ToList(); var tmp_tasks = LTasks.Keys.ToArray(); foreach (var task in tmp_tasks) { if (LTasks[task].IsCompleted || LTasks[task].IsFaulted) { LTasks.Remove(task); } } foreach (var mod in list) { if (LTasks.ContainsKey(mod.IDMODPOZO) == false) { LTasks.Add(mod.IDMODPOZO, new Task(() => Execute(mod))); } if (mod.ESTATUS == 1) { cola++; } if (mod.ESTATUS == 2) { proceso++; } } Console.WriteLine("En cola({0}), proceso({1}) {2} | Open Server: {3}", cola.ToString(), proceso.ToString(), DateTime.Now, (Dispose ? "Disponible" : "Ocupado")); Console.WriteLine("*********************************************************************************"); if (Modelo.Dispose() == true && LTasks.Count > 0) { string[] KTasks = LTasks.Keys.ToArray(); string id = KTasks[0]; if (LTasks[id].Status != TaskStatus.Running) { LTasks[id].Start(); } } await Task.Delay(interval, cancellationToken); } catch (Exception ex) { WriteLineText(ex.Message, "danger"); } } }
public async Task Process(TimeSpan interval, CancellationToken cancellationToken) { while (true) { bool Disposed = false; List <VW_MOD_POZO> ListModelos = new List <VW_MOD_POZO>(); try { if (cancellationToken.IsCancellationRequested) { break; } if (Local) { Disposed = ModeloProsper.Modelo.Dispose(); ListModelos = ModModel.GetList(); } else { List <string> JsonModelos = Server.GetList(1); Disposed = Server.Dispose(); if (JsonModelos.Count > 0) { foreach (var vwModPozo in JsonModelos) { ListModelos.Add(JsonConvert.DeserializeObject <VW_MOD_POZO>(vwModPozo)); } } } var tmp_tasks = LTasks.Keys.ToArray(); foreach (var task in tmp_tasks) { if (LTasks[task].IsCompleted || LTasks[task].IsFaulted) { LTasks.Remove(task); } } foreach (var mod in ListModelos) { if (LTasks.ContainsKey(mod.IDMODPOZO) == false) { if (Local) { LTasks.Add(mod.IDMODPOZO, new Task(() => ExecLocal(db, mod, ModeMessage))); } else { LTasks.Add(mod.IDMODPOZO, new Task(() => ExecRemote(db, mod, Server, ModeMessage))); } } if (mod.ESTATUS == 1) { //cola++; } if (mod.ESTATUS == 2) { // proceso++; } } if (Disposed == true && LTasks.Count > 0) { string[] KTasks = LTasks.Keys.ToArray(); string id = KTasks[0]; if (LTasks[id].Status != TaskStatus.Running && LTasks[id].Status != TaskStatus.WaitingToRun) { LTasks[id].Start(); } } await Task.Delay(interval, cancellationToken); } catch (Exception ex) { WriteEventLogEntry(System.Diagnostics.EventLogEntryType.Error, 1, ex.Message, ModeMessage); } } }
public void Process(object sender, ElapsedEventArgs e) { bool Disposed = false; try { List <VW_MOD_POZO> ListModelos = new List <VW_MOD_POZO>(); if (Local) { Disposed = ModeloProsper.Modelo.Dispose(); ListModelos = ModModel.GetList(); } else { Disposed = Server.Dispose(); var JsonModelos = Server.GetList(1); foreach (var vwModPozo in JsonModelos) { ListModelos.Add(JsonConvert.DeserializeObject <VW_MOD_POZO>(vwModPozo)); } } foreach (var mod in ListModelos) { if (LTasks.ContainsKey(mod.IDMODPOZO) == false) { if (Local) { LTasks.Add(mod.IDMODPOZO, new Task(() => ExecLocal(db, mod, ModeMessage))); } else { LTasks.Add(mod.IDMODPOZO, new Task(() => ExecRemote(db, mod, Server, ModeMessage))); } } //if (mod.ESTATUS == 1) //{ // //cola++; //} //if (mod.ESTATUS == 2) //{ // // proceso++; //} } var tmp_tasks = LTasks.Keys.ToArray(); foreach (var task in tmp_tasks) { if (LTasks[task].IsCompleted || LTasks[task].IsFaulted) { LTasks.Remove(task); } } if (Disposed == true && LTasks.Count > 0) { string[] KTasks = LTasks.Keys.ToArray(); string id = KTasks[0]; if (LTasks[id].Status != TaskStatus.Running && LTasks[id].Status != TaskStatus.WaitingToRun) { LTasks[id].Start(); } } } catch (Exception ex) { if (ModeMessage == Modo.defaults) { throw new Exception(ex.Message); } else { WriteEventLogEntry(System.Diagnostics.EventLogEntryType.Error, 1, ex.Message, ModeMessage); } } }