private void CloseSelectedConnection(Atendimento atendimento)
 {
     atendimento.reader?.Close();
     atendimento.writer?.Close();
     atendimento.stream?.Close();
     atendimento.socket?.Close();
 }
Exemplo n.º 2
0
        private static void ExibirAtendimento(Atendimento atendimento)
        {
            var contador = 1;

            Console.WriteLine($"Atendimento: {atendimento.Id} \n" +
                              $"Cliente: {atendimento.Cliente.Nome} - CPF: {atendimento.Cliente.CPF} - Idade: {atendimento.Cliente.Idade} \n" +
                              $"Assuntos: {string.Join("", atendimento.Assuntos.Select(a => $"\n{contador++}. {a.Descricao} - Tipo: {a.TipoAssunto.Descricao}"))}");

            Console.WriteLine("Pressione qualquer tecla para continuar");
            Console.ReadKey();
        }
Exemplo n.º 3
0
        private static void Recepcionar()
        {
            Console.WriteLine($"Informe o nome do cliente: ");
            var nomeCliente = Console.ReadLine();

            Console.WriteLine($"Informe o CPF do cliente: ");
            var cpfCliente = Console.ReadLine();

            Console.WriteLine($"Informe a idade do cliente: ");
            var idadeCliente = Convert.ToInt32(Console.ReadLine());

            var cliente     = new Cliente(cpfCliente, nomeCliente, idadeCliente);
            var assuntos    = RegistrarAssuntos(null);
            var atendimento = new Atendimento(cliente, assuntos, StatusAtendimentoEnum.AguardandoAtendimento, DateTime.Now);

            Atendimentos.Add(atendimento);
        }
        public void Run()
        {
            try
            {
                IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse(IP), PORT);
                tcpListener = new TcpListener(ipEndPoint);
                tcpListener.Start();

                while (true)
                {
                    Atendimento atendimento = new Atendimento();
                    atendimento.socket   = tcpListener.AcceptSocket();
                    atendimento.stream   = new NetworkStream(atendimento.socket);
                    atendimento.writer   = new BinaryWriter(atendimento.stream);
                    atendimento.reader   = new BinaryReader(atendimento.stream);
                    atendimento.Consulta = ClinicaXmlUtils.FromXml <Consulta>(atendimento.reader.ReadString());
                    if (list.Any(n => n.Consulta.ID_Consulta == atendimento.Consulta.ID_Consulta))
                    {
                        atendimento.writer.Write("Consulta já, existente.");
                    }
                    else
                    {
                        list.Add(atendimento);
                        Invoke(new MethodInvoker(delegate()
                        {
                            ListViewItem linha = listView1.Items.Add(atendimento.Consulta.ID_Consulta.ToString());
                            linha.SubItems.Add(atendimento.Consulta.Medico.Nome);
                            linha.SubItems.Add(atendimento.Consulta.Paciente.Nome);
                        }));
                    }
                    atendimento.writer.Write("FIM");
                }
            }
            catch (SocketException) { }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
                CloseConnection();
            }
        }