Exemplo n.º 1
0
        static void Main(string[] args)
        {
            int               opcao             = 0;
            Agenda            agenda            = new Agenda();
            AgendaRepositorio agendaRepositorio = new AgendaRepositorio();

            const string caminhoArquivo = @"F:\agenda.txt";

            do
            {
                Console.WriteLine(); //Pular linha
                Console.WriteLine("-== Menu ==-");
                Console.WriteLine("1 - Adicionar Pessoa");
                Console.WriteLine("2 - Imprimir Pessoas");
                Console.WriteLine("3 - Buscar por Nome");
                Console.WriteLine("4 - Carregar agenda de arquivo");
                Console.WriteLine("5 - Gravar agenda em arquivo");
                Console.WriteLine("6 - Abrir o arquivo texto");
                Console.WriteLine("7 - Sair");

                opcao = int.Parse(Console.ReadLine());

                switch (opcao)
                {
                case 1:
                    Console.Clear();
                    AdicionarPessoa(agenda);
                    break;

                case 2:
                    Console.Clear();
                    ImprimirPessoas(agenda);
                    break;

                case 3:
                    Console.Clear();
                    BuscarPessoaPorNome(agenda);
                    break;

                case 4:
                    Console.Clear();
                    agenda = agendaRepositorio.ObterAgendaDeArquivo(caminhoArquivo);
                    Console.WriteLine("Agenda carregada com sucesso!");
                    break;

                case 5:
                    Console.Clear();
                    agendaRepositorio.GravarAgendaEmArquivo(agenda, caminhoArquivo);
                    Console.WriteLine("Agenda gravada com sucesso!");
                    break;

                case 6:
                    Console.Clear();
                    System.Diagnostics.Process.Start(caminhoArquivo);
                    Console.WriteLine("Arquivo texto aberto!");
                    Console.WriteLine("IMPORTANTE: É apenas para você olha ele, lembre de fechar antes de gravar novamente!");
                    break;
                }
            } while (opcao != 7);
        }
Exemplo n.º 2
0
        public static AgendaRepositorio InstanciarRepositorioDeAgendas()
        {
            if (agendaRepositorio == null)
                agendaRepositorio = new AgendaRepositorio();

            return agendaRepositorio;
        }
Exemplo n.º 3
0
        public ActionResult Index()
        {
            AgendaRepositorio agrep = new AgendaRepositorio();

            List <Agenda> agendas = agrep.GetAgendas();

            return(View(agendas.ToList()));
        }
Exemplo n.º 4
0
 public Agenda Get(int idClinica, int idOdontologista)
 {
     using (var repositorio = new AgendaRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
     {
         return(repositorio.Buscar(new Agenda()
         {
             IdClinica = idClinica, IdOdontologista = idOdontologista
         }).FirstOrDefault());
     }
 }
Exemplo n.º 5
0
        public string cert()
        {
            AgendaRepositorio agrep = new AgendaRepositorio();
            bool d = agrep.TESTE();

            if (d)
            {
                return("ok");
            }
            else
            {
                return("notOk");
            }
        }
Exemplo n.º 6
0
        public void Put([FromBody] Agenda value)
        {
            try
            {
                #region Validaçãoes
                #endregion

                using (var repositorio = new AgendaRepositorio(new Connection(new System.Data.SqlClient.SqlConnection())))
                {
                    repositorio.Atualizar(value);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 7
0
        public ActionResult gerarLinhas()
        {
            for (int i = 60000; i < 100000; i++)
            {
                ClienteLoc clienteLoc = new ClienteLoc()
                {
                    Nome     = "Cliente " + i,
                    Endereco = "Rua " + i,
                    Telefone = "3123123" + i,
                    Email    = "alguem@ja" + i + "com.br"
                };

                var ret = new AgendaRepositorio();

                var x = ret.InsereLinhasClientes(clienteLoc);
            }



            return(View("Index"));
        }
Exemplo n.º 8
0
        public IEnumerable <OdontologistaAgendamento> Todos(DateTime data, int idClinica)
        {
            var conexao = new Connection(new System.Data.SqlClient.SqlConnection());

            try
            {
                using (var repositorioOdonto = new OdontologistaRepositorio(conexao))
                {
                    var listaOdonto = new List <OdontologistaAgendamento>();

                    repositorioOdonto.Buscar(idClinica).ToList().ForEach(
                        x => listaOdonto.Add(new OdontologistaAgendamento()
                    {
                        Odontologista = x
                    }));
                    using (var repositorioAgenda = new AgendaRepositorio(conexao))
                    {
                        using (var repositorioAgendamento = new AgendamentoRepositorio(conexao))
                        {
                            using (var repositorioSemana = new SemanaAgendaRepositorio(conexao))
                            {
                                using (var repositorioDia = new DiaAgendaRepositorio(conexao))
                                {
                                    using (var repositorioDayOff = new AgendaDayOffRepositorio(conexao))
                                    {
                                        foreach (var item in listaOdonto)
                                        {
                                            var agenda = repositorioAgenda.Buscar(new Agenda()
                                            {
                                                IdClinica = idClinica, IdOdontologista = item.Odontologista.Id
                                            }).FirstOrDefault();
                                            if (agenda != null)
                                            {
                                                var agendamentos = repositorioAgendamento.Buscar(new Agendamento()
                                                {
                                                    IdAgenda = agenda.Id
                                                }).Where(x => x.Data == data.Date);


                                                var semana = repositorioSemana.Buscar(new SemanaAgenda()
                                                {
                                                    IdClinica = idClinica, IdOdontologista = item.Odontologista.Id
                                                }).Where(x => x.DiaSemana == (int)data.DayOfWeek + 1);


                                                var dia = repositorioDia.Buscar(new DiaAgenda()
                                                {
                                                    IdClinica = idClinica, IdOdontologista = item.Odontologista.Id
                                                }).Where(x => x.Data == data.Date);


                                                var dayOff = repositorioDayOff.Buscar(new AgendaDayOff()
                                                {
                                                    IdClinica = idClinica, IdOdontologista = item.Odontologista.Id
                                                }).Where(x => x.Data == data.Date);

                                                var listaAgendamentos = new List <Agendamento>();

                                                if (dayOff.Count() >= 1)
                                                {
                                                    return(null);
                                                }

                                                if (dia.Count() >= 1)
                                                {
                                                    foreach (var d in dia.Where(x => x.Data.Date == data.Date))
                                                    {
                                                        TimeSpan horario = d.HorarioAtendimentoInicio;
                                                        do
                                                        {
                                                            if (agendamentos.Where(x => x.Data.Date == data.Date &&
                                                                                   x.Horario >= horario &&
                                                                                   x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                                   ).Count() > 0)
                                                            {
                                                                var agendamento = agendamentos.Where(x => x.Data.Date == data.Date &&
                                                                                                     x.Horario >= horario &&
                                                                                                     x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                                                     ).FirstOrDefault();

                                                                listaAgendamentos.Add(new Agendamento()
                                                                {
                                                                    Id         = agendamento.Id,
                                                                    Data       = agendamento.Data,
                                                                    Horario    = agendamento.Horario,
                                                                    IdAgenda   = agenda.Id,
                                                                    IdOdonto   = agenda.IdOdontologista,
                                                                    IdPaciente = agendamento.IdPaciente,
                                                                    Nome       = agendamento.Nome
                                                                });
                                                            }
                                                            else
                                                            {
                                                                listaAgendamentos.Add(new Agendamento()
                                                                {
                                                                    Id         = 0,
                                                                    Data       = data.Date,
                                                                    Horario    = horario,
                                                                    IdAgenda   = agenda.Id,
                                                                    IdOdonto   = agenda.IdOdontologista,
                                                                    IdPaciente = 0
                                                                });
                                                            }
                                                            horario = horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0));
                                                        } while (horario <= d.HorarioAtendimentoTermino);
                                                    }
                                                }

                                                if (semana.Count() >= 1)
                                                {
                                                    foreach (var s in semana.Where(x => x.DiaSemana == (int)data.DayOfWeek + 1))
                                                    {
                                                        TimeSpan horario = s.HorarioAtendimentoInicio;
                                                        do
                                                        {
                                                            if (agendamentos.Where(x => x.Data.Date == data.Date &&
                                                                                   x.Horario >= horario &&
                                                                                   x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                                   ).Count() > 0)
                                                            {
                                                                var agendamento = agendamentos.Where(x => x.Data.Date == data.Date &&
                                                                                                     x.Horario >= horario &&
                                                                                                     x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                                                     ).FirstOrDefault();

                                                                listaAgendamentos.Add(new Agendamento()
                                                                {
                                                                    Id         = agendamento.Id,
                                                                    Data       = agendamento.Data,
                                                                    Horario    = agendamento.Horario,
                                                                    IdAgenda   = agenda.Id,
                                                                    IdOdonto   = agenda.IdOdontologista,
                                                                    IdPaciente = agendamento.IdPaciente,
                                                                    Nome       = agendamento.Nome
                                                                });
                                                            }
                                                            else
                                                            {
                                                                listaAgendamentos.Add(new Agendamento()
                                                                {
                                                                    Id         = 0,
                                                                    Data       = data.Date,
                                                                    Horario    = horario,
                                                                    IdAgenda   = agenda.Id,
                                                                    IdOdonto   = agenda.IdOdontologista,
                                                                    IdPaciente = 0
                                                                });
                                                            }
                                                            horario = horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0));
                                                        } while (horario <= s.HorarioAtendimentoTermino);
                                                    }
                                                }
                                                item.Agendamentos = listaAgendamentos;
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }

                    return(listaOdonto);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexao.Dispose();
            }
        }
Exemplo n.º 9
0
        public IEnumerable <DateTime> DiasDisponiveis(int meses, int idOdontologista, int idClinica)
        {
            var conexao = new Connection(new System.Data.SqlClient.SqlConnection());

            using (var repositorio = new AgendaRepositorio(conexao))
            {
                var agenda = repositorio.Buscar(new Agenda()
                {
                    IdClinica = idClinica, IdOdontologista = idOdontologista
                }).FirstOrDefault();
                if (agenda == null)
                {
                    return(null);
                }

                using (var repositorioAgendamento = new AgendamentoRepositorio(conexao))
                {
                    var agendamentos = repositorioAgendamento.Buscar(new Agendamento()
                    {
                        IdAgenda = agenda.Id
                    });

                    using (var repositorioSemana = new SemanaAgendaRepositorio(conexao))
                    {
                        var semana = repositorioSemana.Buscar(new SemanaAgenda()
                        {
                            IdClinica = idClinica, IdOdontologista = idOdontologista
                        });

                        using (var repositorioDia = new DiaAgendaRepositorio(conexao))
                        {
                            var dia = repositorioDia.Buscar(new DiaAgenda()
                            {
                                IdClinica = idClinica, IdOdontologista = idOdontologista
                            });

                            using (var repositorioDayOff = new AgendaDayOffRepositorio(conexao))
                            {
                                var dayOff = repositorioDayOff.Buscar(new AgendaDayOff()
                                {
                                    IdClinica = idClinica, IdOdontologista = idOdontologista
                                });

                                var listaDatas = new List <DateTime>();
                                var dataAtual  = DateTime.Now;

                                while (dataAtual <= DateTime.Now.AddMonths(meses))
                                {
                                    if (dayOff.Where(x => x.Data.Date == dataAtual.Date).Count() >= 1)
                                    {
                                        dataAtual = dataAtual.AddDays(1);
                                        continue;
                                    }

                                    if (dia.Where(x => x.Data.Date == dataAtual.Date).Count() >= 1)
                                    {
                                        foreach (var d in dia.Where(x => x.Data.Date == dataAtual.Date))
                                        {
                                            TimeSpan horario = d.HorarioAtendimentoInicio;
                                            do
                                            {
                                                if (agendamentos.Where(x => x.Data.Date == dataAtual.Date &&
                                                                       x.Horario >= horario &&
                                                                       x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                       ).Count() == 0)
                                                {
                                                    listaDatas.Add(dataAtual);
                                                    horario = d.HorarioAtendimentoTermino.Add(new TimeSpan(90000));
                                                }
                                                else
                                                {
                                                    horario = horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0));
                                                }
                                            } while (horario <= d.HorarioAtendimentoTermino);
                                        }
                                    }

                                    if (semana.Where(x => x.DiaSemana == (int)dataAtual.DayOfWeek + 1).Count() >= 1 &&
                                        listaDatas.Where(x => x.Date == dataAtual.Date).Count() == 0)
                                    {
                                        foreach (var s in semana.Where(x => x.DiaSemana == (int)dataAtual.DayOfWeek + 1))
                                        {
                                            TimeSpan horario = s.HorarioAtendimentoInicio;
                                            do
                                            {
                                                if (agendamentos.Where(x => x.Data.Date == dataAtual.Date &&
                                                                       x.Horario >= horario &&
                                                                       x.Horario < horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0))
                                                                       ).Count() == 0)
                                                {
                                                    listaDatas.Add(dataAtual);
                                                    horario = s.HorarioAtendimentoTermino.Add(new TimeSpan(90000));
                                                }
                                                horario = horario.Add(new TimeSpan(0, 0, agenda.TempoAtendimento, 0, 0));
                                            } while (horario <= s.HorarioAtendimentoTermino);
                                        }
                                    }
                                    dataAtual = dataAtual.AddDays(1);
                                }
                                return(listaDatas);
                            }
                        }
                    }
                }
            }
        }
Exemplo n.º 10
0
 public AgendaController()
 {
     ViewBag.Title = "Agenda";
     agendaRepositorio = (AgendaRepositorio)System.Web.HttpContext.Current.Application["agendaRepositorio"];
     medicoRepositorio = (MedicoRepositorio)System.Web.HttpContext.Current.Application["medicoRepositorio"];
 }
Exemplo n.º 11
0
        static void Main(string[] args)
        {
            int               opcao             = 0;
            Agenda            agenda            = new Agenda();
            AgendaRepositorio agendaRepositorio = new AgendaRepositorio();
            const string      caminhoArquivo    = @"C:\Users\saulo\source\repos\Assessment\Agenda.txt";
            Pessoa            pessoa            = agenda.VerificaSeTemAniversarioHoje();

            if (pessoa != null)
            {
                Console.WriteLine("Hoje é aniversário de :" + pessoa.Nome + ", " + pessoa.Sobrenome + ", " + pessoa.DataDeNascimento);
            }

            do
            {
                Console.WriteLine("1 - Adicionar Pessoa");
                Console.WriteLine("2 - Remover Pessoa");
                Console.WriteLine("3 - Obter Pessoa");
                Console.WriteLine("4 - Atualizar Pessoa");
                Console.WriteLine("5 - Buscar Pessoas");
                Console.WriteLine("6 - Carregar Agenda de arquivos");
                Console.WriteLine("7 - Gravar agenda em arquivo");
                Console.WriteLine("8 - Abrir o arquivo em notepad");
                Console.WriteLine("9 - Sair");
                opcao = int.Parse(Console.ReadLine());
                switch (opcao)
                {
                case 1:
                    AdicionarPessoa(agenda);
                    break;

                case 2:
                    RemoverPessoas(agenda);
                    break;

                case 3:
                    AtualizarPessoa(agenda);
                    break;

                case 4:
                    ObterPessoas(agenda);
                    break;

                case 5:
                    BuscarPessoaPorNome(agenda);
                    break;

                case 6:
                    agenda = agendaRepositorio.ObterAgendaDeArquivo(caminhoArquivo);
                    Console.WriteLine("Agenda Carregada com sucesso");
                    break;

                case 7:
                    agendaRepositorio.GravarAgendaEmArquivo(agenda, caminhoArquivo);
                    break;

                case 8:
                    Console.Clear();
                    System.Diagnostics.Process.Start(caminhoArquivo);
                    Console.WriteLine("Arquivo texto aberto");
                    break;

                default:
                    break;
                }
            } while (opcao <= 8);
        }
Exemplo n.º 12
0
        public void Post([FromBody] Odontologista value)
        {
            var conexao = new Connection(new System.Data.SqlClient.SqlConnection());

            try
            {
                #region Validaçãoes
                if (!Validacoes.ValidaCpf(value.Cpf))
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content      = new StringContent("Cpf inválido."),
                        ReasonPhrase = "Campo inválido"
                    });
                }
                else
                {
                    value.Cpf = value.Cpf.Replace(".", "").Replace("-", "");
                }

                if (!Validacoes.ValidaCep(value.Cep))
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content      = new StringContent("Cep inválido."),
                        ReasonPhrase = "Campo inválido"
                    });
                }
                else
                {
                    value.Cep = value.Cep.Replace("-", "");
                }

                if (!Validacoes.ApenasNumeros(value.Cro))
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content      = new StringContent("Cro inválido."),
                        ReasonPhrase = "Campo inválido"
                    });
                }

                if (!Enum.IsDefined(typeof(AgendaEnums.Uf), value.CroEstado))
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content      = new StringContent("Cro UF inválido."),
                        ReasonPhrase = "Campo inválido"
                    });
                }

                if (string.IsNullOrWhiteSpace(value.Nome))
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content      = new StringContent("Nome inválido."),
                        ReasonPhrase = "Campo inválido"
                    });
                }

                if (value.IdClinica <= 0)
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content      = new StringContent("Clínica inválida."),
                        ReasonPhrase = "Campo inválido"
                    });
                }

                if (!Validacoes.ValidaDataNascimento(value.DataNascimento))
                {
                    throw new HttpResponseException(new HttpResponseMessage(HttpStatusCode.NotAcceptable)
                    {
                        Content      = new StringContent("Data de nascimento inválida."),
                        ReasonPhrase = "Campo inválido"
                    });
                }
                #endregion

                using (var repositorio = new OdontologistaRepositorio(conexao))
                {
                    int id = repositorio.Criar(value);
                    if (id > 0)
                    {
                        using (var repositorioAgenda = new AgendaRepositorio(conexao))
                        {
                            repositorioAgenda.Criar(new Agenda(id, value.IdClinica, 30));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                conexao.Dispose();
            }
        }