/// <summary> /// /// </summary> /// <param name="Pedestre"></param> private void MontaFotodaUnidade(Pedestre Pedestre) { MetroTileItem FotoItemUnidade = new MetroTileItem { SymbolColor = Color.Empty, TitleTextAlignment = ContentAlignment.BottomCenter, TitleTextFont = new Font("Microsoft Sans Serif", 15.75F, FontStyle.Bold, GraphicsUnit.Point, 0), TileSize = new Size(169, 126) }; FotoItemUnidade.TileStyle.BackColor = SystemColors.Control; FotoItemUnidade.TileStyle.BackColor2 = SystemColors.Control; FotoItemUnidade.TileStyle.BorderBottom = eStyleBorderType.Solid; FotoItemUnidade.TileStyle.BorderColor = Color.FromArgb(255, 255, 255); FotoItemUnidade.TileStyle.BorderLeft = eStyleBorderType.Solid; FotoItemUnidade.TileStyle.BorderRight = eStyleBorderType.Solid; FotoItemUnidade.TileStyle.BorderTop = eStyleBorderType.Solid; FotoItemUnidade.TileStyle.CornerType = eCornerType.Square; FotoItemUnidade.TitleTextColor = SystemColors.GrayText; FotoItemUnidade.TitleText = Pedestre.Nome; if (Pedestre.Foto1 != null && Pedestre.Foto1.Length > 256) { FotoItemUnidade.TitleTextColor = Color.White; FotoItemUnidade.TileStyle.BackgroundImage = Pedestre.Foto(); } PaineldeFotos.SubItems.AddRange(new BaseItem[] { FotoItemUnidade }); }
private void Background_DoWorkPedestre(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; Task.Run(async() => { Unidade info = await pesquisa.BuscarPedestre(InformacoesPassagem, LeitorCorrente.Procedimento); if (info == null) { monitor.RegistraLog($"Leitora: {LeitorCorrente.Porta} {LeitorCorrente.Descricao} - Serial:{InformacoesPassagem.rfid} O Registro não foi localizado ", Color.Red, FontStyle.Bold); InformacoesPassagem.Status = EstadoIdentificacao.NaoLocalizado; AoIdentificarDispositivo?.Invoke(InformacoesPassagem, e); worker.ReportProgress(100); return; } InformacoesPassagem.Unidade = info; if (InformacoesPassagem.Autorizado) { foreach (Acionador acionador in LeitorCorrente.Acionadores) { Linear.Controle.Acionamento(0, acionador.Endereco); } } Pedestre pedestre = InformacoesPassagem.Unidade.PedestreIdentificado; AoIdentificarDispositivo?.Invoke(InformacoesPassagem, e); string detalhespedestre = $"({pedestre.Bloco}-{pedestre.Unidade}) {pedestre.Nome}"; monitor.RegistraLog($"Leitora: {LeitorCorrente.Porta} {LeitorCorrente.Descricao} - Serial:{InformacoesPassagem.rfid} {detalhespedestre} ", Color.DeepSkyBlue); }).Wait(); worker.ReportProgress(100); }
private static void Initialize() { SemaforoVeiculo semaforoVeiculo = new SemaforoVeiculo(); SemaforoPedestre semaforoPedestre = new SemaforoPedestre(); Pedestre pedestreA = new Pedestre(); Pedestre pedestreB = new Pedestre(); Pedestre pedestreC = new Pedestre(); Veiculo veiculoA = new Veiculo(); Veiculo veiculoB = new Veiculo(); Veiculo veiculoC = new Veiculo(); semaforoVeiculo.Subscribe(semaforoPedestre); semaforoVeiculo.Subscribe(veiculoA); semaforoVeiculo.Subscribe(veiculoB); semaforoVeiculo.Subscribe(veiculoC); semaforoPedestre.Subscribe(pedestreA); semaforoPedestre.Subscribe(pedestreB); semaforoPedestre.Subscribe(pedestreC); CoresSemaforo cor = CoresSemaforo.Verde; do { Console.WriteLine("Escolha 1 para Verde, 2 para Amarelo e 3 para Vermelho ou 0 para sair."); string color = Console.ReadLine(); cor = (CoresSemaforo)int.Parse(color); semaforoVeiculo.Notify(cor); semaforoPedestre.Notify(cor); } while (cor != CoresSemaforo.Unknown); }