public void Actualizar(Micro micro) { if (micro.Habilitado) { String fechaAlta = DBTypeConverter.ToSQLDateTime(micro.FechaAlta); String fechaBajaDefinitiva = DBTypeConverter.ToSQLDateTime(micro.FechaBajaDefinitiva); String fechaFueraServicio = DBTypeConverter.ToSQLDateTime(micro.FechaFueraDeServicio); String fechaReinicioServicio = DBTypeConverter.ToSQLDateTime(micro.FechaReinicioDeServicio); SQLUtils.EjecutarConsultaConEfectoDeLado( String.Format(@" UPDATE LCDTMAB.Micros SET Micro_Baja_Por_Fin_Vida_Util = '{0}', Micro_Baja_Por_Fuera_Servicio = '{1}', Micro_Fecha_Alta = '{2}', Micro_Fecha_Baja_Definitiva = '{3}', Micro_Fecha_Baja_Por_Fuera_Servicio = '{4}', Micro_Fecha_Reinicio_Servicio = '{5}', Micro_KG_Disponibles = '{6}', Micro_Marca = '{7}', Micro_Modelo = '{8}', Micro_Patente = '{9}', Micro_Tipo_Servicio = '{10}' WHERE Micro_Patente = '{9}'", micro.BajaDefinitiva, micro.FueraDeServicio, fechaAlta, fechaBajaDefinitiva, fechaFueraServicio, fechaReinicioServicio, micro.KGSDisponibles, micro.Marca, micro.Modelo, micro.Patente, micro.TipoDeServicio.Tipo) ); } else this.CambioDeMicrosCon(micro); }
public MicroWindow(Micro Micro, ModoApertura Modo) { this.InitializeComponent(); this.Micro = Micro; this.Modo = Modo; this.datePickerBaja.Value = DateTime.Now; this.datePickerReincorporacion.Value = DateTime.Now; this.ConfigurarVistaSegunModo(); }
private Micro DataRowToMicro(DataRow row) { var patente = row["Micro_Patente"].ToString(); var modelo = row["Micro_Modelo"].ToString(); var fechaAlta = DBTypeConverter.ToDateTime(row["Micro_Fecha_Alta"]); var fechaReinicio = DBTypeConverter.ToDateTime(row["Micro_Fecha_Reinicio_Servicio"]); var fueraDeServicio = row["Micro_Fecha_Baja_Por_Fuera_Servicio"]; var fechaFueraServicio = DBTypeConverter.ToDateTime(fueraDeServicio); var baja4gud = row["Micro_Fecha_Baja_Definitiva"]; DateTime bajaDefinitiva = DBTypeConverter.ToDateTime(baja4gud); var tipoServicio = new TipoServicio(row["Micro_Tipo_Servicio"].ToString()); var marca = row["Micro_Marca"].ToString(); var estaBajoFueraDeServicio = Boolean.Parse(row["Micro_Baja_Por_Fuera_Servicio"].ToString()); var estaBajoForGud = Boolean.Parse(row["Micro_Baja_Por_Fin_Vida_Util"].ToString()); var kgsDisponibles = Double.Parse(row["Micro_KG_Disponibles"].ToString()); var numero = int.Parse(row["Micro_Numero"].ToString()); var butacas = ButacasRepository.Instance.BuscarPorPatenteMicro(patente); var micro = new Micro(patente, modelo, marca, tipoServicio, fechaAlta, fechaReinicio, fechaFueraServicio, bajaDefinitiva, estaBajoFueraDeServicio, estaBajoForGud, kgsDisponibles, numero, butacas); return micro; }
private void CambioDeMicrosCon(Micro micro) { ViajesRepository.Instance.ViajesPendientesDe(micro); //aca ejecuto el stored procedure que hace la magia correspondiente }
public virtual void InsertarOActualizar(Micro micro) { if (this.ExistePatente(micro.Patente)) this.Actualizar(micro); else this.Insertar(micro); }
private void listado_micros_CellContentClick(object sender, DataGridViewCellEventArgs e) { if (e.ColumnIndex == 7) { Int32 id_micro = Convert.ToInt32(listado_micros.Rows[e.RowIndex].Cells["id_micro"].Value.ToString()); String query = "select mi.ID_MICRO, mi.PATENTE, mi.MODELO, mi.CANT_BUTACAS, mi.CANT_KG, ma.DESCRIPCION, ts.DESCRIPCION " + "from SASHAILO.Micro mi " + "join SASHAILO.Marca_Micro ma on ma.ID_MARCA = mi.ID_MARCA " + "join SASHAILO.Tipo_Servicio ts on ts.ID_TIPO_SERVICIO = mi.ID_TIPO_SERVICIO " + "where mi.ID_MICRO = " + id_micro + ""; Conexion cn = new Conexion(); SqlDataReader consulta = cn.consultar(query); if (consulta.Read()) { string patente = consulta.GetString(1); string modelo = consulta.GetString(2); int cant_butacas = consulta.GetInt32(3); decimal cant_kg = consulta.GetDecimal(4); string marca = consulta.GetString(5); string tipo_serv = consulta.GetString(6); Micro mic = new Micro(); mic.id = id_micro; mic.patente = patente; mic.marca = marca; mic.modelo = modelo; mic.servicio = tipo_serv; mic.cant_kg = cant_kg; mic.cant_butacas = cant_butacas; this.micro = mic; } cn.desconectar(); Seleccionar_Micro.ActiveForm.Close(); } }
private void botonLimpiar_Click(object sender, EventArgs e) { this.Selected = null; this.UnbindGrilla(); this.RefrescarGrilla(); }
public override bool AceptaSubir(Micro micro) { return(lugaresLibres >= micro.lugaresDisponibles); }
public static Task <string> BrokerDnsAsync <T>(T input, Micro micro) where T : IInputDto { return(BrokerDnsAsync(input.ToDic(), micro)); }
public static string BrokerDns <T>(T input, Micro micro) where T : IInputDto { return(BrokerDns(input.ToDic(), micro)); }
/// <summary> /// 异步 处理器代理 设定目标服务 /// </summary> /// <param name="input">键值对</param> /// <returns>字符串结果</returns> public static async Task <string> BrokerDnsAsync(Dictionary <string, string> input, Micro micro) { return(await Task.Run(() => BrokerDns(input, micro))); }
public ButacaWindow(Micro Micro) : this() { this.Micro = Micro; }
/// <summary> /// 设置调用链 TraceId /// </summary> /// <param name="input"></param> /// <param name="micro">目标服务</param> public static sys_trace SetTraceId(Dictionary <string, string> input, Micro micro = null) { if (!SettingService.TraceOnOff) { return(null); } #region 分布式追踪不记录自己,防止调用链循环调用 +TraceRecord if (input[Const.Enum.Eng.NAMESPACE] == Namespace && input[Const.Enum.Eng.CLASS] == Class) { return(null); } if (input[Const.Enum.Eng.NAMESPACE] == "Anno.Plugs.Monitor" && input[Const.Enum.Eng.CLASS] == "Resource") { return(null); } #endregion #region 调用链唯一标识+ TraceId string TraceId = "TraceId"; //调用链唯一标识 string PreTraceId = "PreTraceId"; //上一级调用链唯一标识 string AppName = "AppName"; //调用方AnnoService 名称 string AppNameTarget = "AppNameTarget"; //目标AnnoService 名称 string TTL = "TTL"; //分布式调用计数器 默认0 string GlobalTraceId = "GlobalTraceId"; if (input.ContainsKey(TraceId)) { input[PreTraceId] = input[TraceId]; //当前TraceId 变为上一级 TraceId(PreTraceId) input[TraceId] = Guid.NewGuid().ToString(); //生成新的调用链唯一标识 } else { input.Add(TraceId, Guid.NewGuid().ToString()); input.Add(PreTraceId, string.Empty); } //追踪全局标识 if (!input.ContainsKey(GlobalTraceId)) { input.Add(GlobalTraceId, Guid.NewGuid().ToString()); } #endregion #region App名称+AppName if (input.ContainsKey(AppName)) { input[AppName] = SettingService.AppName ?? string.Empty; } else { input.Add(AppName, SettingService.AppName ?? string.Empty); } #endregion #region 目标APP地址 if (micro != null) { string target = "Target"; if (input.ContainsKey(target)) { input[target] = micro.Ip + ":" + micro.Port; } else { input.Add(target, micro.Ip + ":" + micro.Port); } if (input.ContainsKey(AppNameTarget)) { input[AppNameTarget] = micro.Nickname ?? string.Empty; } else { input.Add(AppNameTarget, micro.Nickname ?? string.Empty); } } #endregion #region App+跳转次数 if (input.ContainsKey(TTL)) { int.TryParse(input[TTL], out int ttl); if (ttl >= CallChainDepth) { throw new GrpcException($"调用链深度不能超过{CallChainDepth},请检查业务或调整深度:Anno.Rpc.Client.TransmitTrace.CallChainDepth"); } input[TTL] = (ttl + 1).ToString(); } else { input.Add(TTL, "0"); } #endregion return(TracePool.CreateTrance(input)); }
public override bool AceptaSubir(Micro micro) { return(micro.asientosDisponibles > 0); }
/// <summary> /// 加载节点 /// </summary> /// <param name="input">"name=dc1,ip=192.168.X.X,port=6659,timeout=3000,weight=5"</param> public bool Add(Micro input) { lock (LockAdd) { try { var ip = GetValidIp(input.Ip, input.Port); if (ip == string.Empty) { return(false); } ServiceInfo ips = new ServiceInfo { Timeout = input.Timeout, Name = input.Name, NickName = input.Nickname, Ip = ip, Port = input.Port }; int weight = input.Weight <= 0 ? 1 : input.Weight; ips.Weight = weight; #region 原有服务 var oldService = ServiceInfoList.FirstOrDefault(t => ips.Ip == t.Ip && ips.Port == t.Port); #endregion ServiceInfoList.RemoveAll(t => ips.Ip == t.Ip && ips.Port == t.Port); for (int w = 0; w < weight; w++) //权重 { ServiceInfoList.Add(ips); } Console.ForegroundColor = ConsoleColor.DarkGreen; Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss}"); Console.WriteLine($"{ips.Ip}:{ips.Port}"); ips.Name.Split(',').ToList().ForEach(f => { Console.WriteLine($"{f}"); }); Console.WriteLine($"{"w:" + ips.Weight}"); Console.WriteLine($"{ips.NickName}已登记!"); Console.ResetColor(); Console.WriteLine($"----------------------------------------------------------------- "); #region 线和变更通知 if (OnlineNotice != null && oldService == null) { OnlineNotice.Invoke(ips, NoticeType.OnLine); } else if (ChangeNotice != null && oldService != null) { ChangeNotice.Invoke(ips, oldService); } #endregion } catch (Exception ex) { Console.WriteLine(ex); return(false); } finally { Save(); } } return(true); }
private void grillaMicros_CellClick(object sender, DataGridViewCellEventArgs e) { this.Selected = (Micro)this.grillaMicros.CurrentRow.DataBoundItem; }
public void Insertar(Micro micro) { String fechaAlta = DBTypeConverter.ToSQLDateTime(micro.FechaAlta); String fechaBajaDefinitiva = DBTypeConverter.ToSQLDateTime(micro.FechaBajaDefinitiva); String fechaFueraServicio = DBTypeConverter.ToSQLDateTime(micro.FechaFueraDeServicio); String fechaReinicioServicio = DBTypeConverter.ToSQLDateTime(micro.FechaReinicioDeServicio); var query = String.Format(@" INSERT INTO LCDTMAB.Micros (Micro_Baja_Por_Fin_Vida_Util, Micro_Baja_Por_Fuera_Servicio, Micro_Fecha_Alta, Micro_Fecha_Baja_Definitiva, Micro_Fecha_Baja_Por_Fuera_Servicio, Micro_Fecha_Reinicio_Servicio, Micro_KG_Disponibles, Micro_Marca, Micro_Modelo, Micro_Patente, Micro_Tipo_Servicio) VALUES ('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', '{7}', '{8}', '{9}', '{10}')", micro.BajaDefinitiva, micro.FueraDeServicio, fechaAlta, fechaBajaDefinitiva, fechaFueraServicio, fechaReinicioServicio, micro.KGSDisponibles, micro.Marca, micro.Modelo, micro.Patente, micro.TipoDeServicio.Tipo); SQLUtils.EjecutarConsultaConEfectoDeLado(query); foreach (Butaca butaca in micro.Butacas) { SQLUtils.EjecutarConsultaConEfectoDeLado(String.Format(@" INSERT INTO LCDTMAB.Butacas(Butaca_Piso, Butaca_Numero, Butaca_Tipo, Butaca_Micro_Patente) VALUES ('{0}', '{1}', '{2}', '{3}')", butaca.Piso, butaca.Numero, butaca.Ubicacion[0], micro.Patente)); } }
/// <summary> /// 加载节点 /// </summary> /// <param name="input">"name=dc1,ip=192.168.X.X,port=6659,timeout=3000,weight=5"</param> public bool Add(Micro input) { lock (LockAdd) { try { var ip = GetValidIp(input.Ip, input.Port); if (ip == string.Empty) { return(false); } ServiceInfo ips = new ServiceInfo { Timeout = input.Timeout, Name = input.Name, NickName = input.Nickname, Ip = ip, Port = input.Port }; int weight = input.Weight <= 0 ? 1 : input.Weight; ips.Weight = weight; #region 原有服务 var oldService = ServiceInfoList.FirstOrDefault(t => ips.Ip == t.Ip && ips.Port == t.Port); #endregion ServiceInfoList.RemoveAll(t => ips.Ip == t.Ip && ips.Port == t.Port); for (int w = 0; w < weight; w++) //权重 { ServiceInfoList.Add(ips); } StringBuilder stringBuilder = new StringBuilder(); stringBuilder.AppendLine($"{ips.Ip}:{ips.Port}"); foreach (var f in ips.Name.Split(',')) { stringBuilder.AppendLine($"{f}"); } stringBuilder.AppendLine($"{"权重:" + ips.Weight}"); stringBuilder.AppendLine($"{ips.NickName}已登记!"); Log.Anno(stringBuilder.ToString()); #region 线和变更通知 if (OnlineNotice != null && oldService == null) { OnlineNotice.Invoke(ips, NoticeType.OnLine); } else if (ChangeNotice != null && oldService != null) { ChangeNotice.Invoke(ips, oldService); } #endregion } catch (Exception ex) { Log.Anno(ex, typeof(ThriftConfig)); return(false); } finally { Save(); } } return(true); }